Skip to main content

Project Architecture and Environment

1. What is NOT a trash file?

Besides the mandatory files cited in the project architecture, here are a few that are NOT considered trash files:

  • README
  • README.md
  • NEWS
  • AUTHORS
  • ChangeLog
  • m4/**/*
  • tests/**/*
  • src/**/*
  • doc/**/*
  • .git/**/*
  • .clang-format
  • .clang-tidy
  • .gitignore
  • .gitlab-ci.yml
  • .github/**/*
  • flake.nix
  • flake.lock
  • Doxyfile

As a general rule, consider any file generated by Autotools to be a trash file.

If you have any doubts, ask through news.

2. Available Packages for Testsuites

Note that we use Python 3.10 in the testing environment.

  • Python

    • termcolor==2.3.0
    • pytest>=7.4.3,<8
    • pytest-timeout>=2.2.0,<3
    • pytest-check>=2.3.1,<3
    • pytest-sugar==1.1.1
    • pyyaml==6.0.3
    • tomli==2.3.0
    • xmlrunner>=3.2.0,<4 (package unittest-xml-reporting)
    • setuptools (xmlrunner dependency)
  • C

    • Criterion
  • bash

    • colordiff
    • grep
    • sed
    • cut
    • base64
    • env
    • yq

This list is NOT exhaustive.

For any other package, post a news to suggest its addition to the environment.

3. Python venv Creation for Tests

You cannot create a venv or use pip. All of the available packages are installed globally in the testing environment.

4. Delete branches

Related News

During the project, multiple branches were created to work on different features. It has now become difficult to manage them all, and some are no longer needed. However, when trying to delete them using git branch -d <branch_name>, the command fails because it is blocked by a pre-hook in the Git repository.

Is there a way to delete these branches?

Answer:

No. You cannot delete branches in your Git repository if they have been pushed to the Forge’s remote. For more information about this restriction, please contact the Forge support team.