Back to [[ForDevelopers|developer page]]. = Recommended development environment = The requirements for compiling Fast Downward are listed in [[https://github.com/aibasel/downward/blob/main/BUILD.md|the build instructions]]. Our automated tests have additional dependencies that can be installed as follows: {{{ apt-get install clang-tidy-12 python3.8 python3.10 python3-pip valgrind wget python3 -m pip install tox }}} For running the autodoc script you'll need to install txt2tags via {{{python3 -m pip install -r misc/autodoc/requirements.txt}}}. We recommend using Ubuntu 20.04 or 22.04 for Fast Downward development since these versions are also used by the core developers and they allow installing many dependencies via the package manager. '''Important''': We want the code to compile without warnings, but in favour of user-friendliness we did not add the -Werror flag to the build script. Make sure that you compile your code with the -Werror flag, for example by adding {{{export CXXFLAGS+=-Werror}}} to your bashrc. Note that you should build the binary from scratch after this (i.e. remove the builds directory if it exists), since it will not recompile files unless they have been changed. == Running tests == To run all tests under all locally-available Python versions, run ```tox``` in the ```misc/``` directory. The command creates Python virtual environments under ```misc/.tox```. The directory uses ~50 MB and is not shown by ```git status```. You can safely delete the directory after the tests have been run. To run a subset of tests, e.g., only the style checks, use ```tox -e style``` (see ```misc/tox.ini``` for other test environments). Many of the tests that tox executes are Bash/Python scripts or pytest modules, which you can also run individually. To check a pytest module, execute ```pytest my_module.py```.