A simple shell implementation project.
Clone the repository with submodules:
git clone --recursive https://github.com/rask24/minishell.git
The project uses a Makefile with the following main rules:
make all
: Builds the minishell executablemake clean
: Removes object filesmake fclean
: Removes object files and the executablemake re
: Rebuilds the project from scratchmake test
: Runs unit testsmake coverage
: Generates code coverage datamake report_coverage
: Generates and displays the code coverage reportmake norm
: Runs the Norminette code style checker
To build and run the minishell:
make
./minishell
To run the unit tests:
make test
To generate a code coverage report:
make coverage
make report_coverage
To run the end-to-end tests:
# Ensure you are using Python 3.12.4
python3 --version
# Install required Python packages
pip install -r tests/e2e/requirements.txt
# Run the tests
pytest tests/e2e
This project requires:
- GCC
- Make
- Python 3 (for end-to-end tests)