First, you need to install the dependencies using pip:
➜ 42sh ✗ pip install -r tests/requirements.txtMake sure to have the 42sh binary, and then execute the tests/moulinette.py file using python3
➜ 42sh ✗ python3 tests/moulinette.py --binary 42sh --tests tests/echo.yml--binaryis the relative path of the 42sh binary--testsis a list of all yaml files containing tests
A test is formatted like this in a yaml file:
- name: a name
input: an input in a single line (for example -> echo "Foo!")
file: a path to a file, relative from the root of the gitYou can choose either input or file for a test. In the case you set a value for each of them, only input will be taken into account.
In order to debug the program, there are 2 options.
--petty-printprint the AST before each execution--verboseprint some functions output during execution. For now, there is only the lexer output.
--petty-print has to be before --verbose
➜ 42-sh-bitarrays git:(main) env -i ./42shYou need to execute the shell with this command, in order to start with an empty environment