|
1 | 1 | # 42PyChecker |
2 | | -A rework made from 42FileChecker in Python |
| 2 | + |
| 3 | +<!-- Need an image here --> |
| 4 | + |
| 5 | +The script is designed as a reminder: |
| 6 | +* author file terminated by a Line Feed |
| 7 | +* count and files name |
| 8 | +* code's standard |
| 9 | +* required and forbidden functions |
| 10 | +* macro definitions |
| 11 | +* static variables & functions declarations |
| 12 | +* makefile rules |
| 13 | + |
| 14 | +Extra tests may also be performed: |
| 15 | +* memory leaks detection |
| 16 | +* speed test comparison |
| 17 | +* Unit Tests |
| 18 | + |
| 19 | +Complete unit tests are handled through external frameworks whose sources are automatically downloaded, configured and updated in background when you run the script: |
| 20 | +* [**moulitest**](https://github.com/yyang42/moulitest), developed by [@yyang42](https://github.com/yyang42) and other contributors |
| 21 | +* [**libftest**](https://github.com/jtoty/Libftest), developed by [@jtoty](https://github.com/jtoty) |
| 22 | +<!--* [**libft-unit-test**](https://github.com/alelievr/libft-unit-test), developed by [@alelievr](https://github.com/alelievr)--> |
| 23 | +<!--* [**fillit_checker**](https://github.com/anisg/fillit_checker), developed by [@anisg](https://github.com/anisg)--> |
| 24 | +* [**Maintest**](https://github.com/QuentinPerez/Maintest), developed by [@QuentinPerez](https://github.com/QuentinPerez) and other contributors |
| 25 | +<!--* [**42ShellTester**](https://github.com/we-sh/42ShellTester), developed by [@gabkk](https://github.com/gabkk) and [@jgigault](https://github.com/jgigault)--> |
| 26 | + |
| 27 | +## Install & launch |
| 28 | +This script requires python 3.6 or above to work. |
| 29 | +```bash |
| 30 | +git clone https://github.com/seluj78/42PyChecker ~/42PyChecker |
| 31 | +cd ~/42PyChecker && python3 ./42PyChecker.py |
| 32 | +``` |
| 33 | + |
| 34 | +## non-interactive mode |
| 35 | +The non-interactive mode enables you to launch a test suite without any prompt. |
| 36 | +You must specify the two options `--project` and `--path`. |
| 37 | +Here is an example of use with the project `libft`: |
| 38 | +```bash |
| 39 | +python3 ~/42PyChecker/42PyChecker.py --project=libft --path=/Users/admin/Projects/libft/ |
| 40 | +``` |
| 41 | + |
| 42 | +## options |
| 43 | + |
| 44 | +#### `--project` + *`$PROJECT`* |
| 45 | + |
| 46 | +Required for non-interactive mode. |
| 47 | +Specify the name of the project you want to test. |
| 48 | +e.g.: `python3 ./42PyChecker.py --project=libft`. |
| 49 | +Must be one of the following values: `42commandements`, `libft` or `other`. |
| 50 | + |
| 51 | +#### `--path` + *`$PATH`* |
| 52 | + |
| 53 | +Required for non-interactive mode. |
| 54 | +This option has no effect when used without the option `--project`. |
| 55 | +Specify the absolute path of directory of your project. |
| 56 | +e.g.: `python3 ./42PyChecker.py --project=libft --path=/Users/admin/Projects/libft/`. |
| 57 | + |
| 58 | +##### `--no-author`, `--no-norm`, `--no-makefile`, `--no-forbidden-functions`, `--no-static`, `--no-moulitest`, `--no-maintest`, `--no-libftest` |
| 59 | + |
| 60 | +Disable a specific test. |
| 61 | + |
| 62 | +#### `--show-c` and `--show-w` |
| 63 | +These options will display respectively the License and the Warranty. |
| 64 | + |
| 65 | +## official team and credits |
| 66 | + |
| 67 | +42PyChecker is an open source project distributed under licence [GNU-3.0](https://github.com/Seluj78/42PyChecker/blob/master/LICENSE). |
| 68 | + |
| 69 | +Originally developed by Jules Lasne [@seluj78](https://github.com/seluj78) <<jules.lasne@gmail.com>> |
| 70 | + |
| 71 | +Huge thanks to the original author and main inspiration, Jean Michel Gigault [@jgigault](https://github.com/jgigault) and his incredible [42FileChecker](https://github.com/jgigault/42FileChecker) |
| 72 | + |
| 73 | +## contribute |
| 74 | + |
| 75 | +If you want to be part of the project, to fix and to improve 42PyChecker, please follow the guide lines [**Contributing to 42PyChecker**](https://github.com/seluj78/42PyChecker/wiki/Contributing-to-42PyChecker), or if you want your own unit testing framework to be integrated in the 42PyChecker, just let me know at **jlasne@student.42.fr**. |
0 commit comments