Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cacharle/philosophers_test
philosophers test
https://github.com/cacharle/philosophers_test
philosophers philosophers-test
Last synced: about 2 months ago
JSON representation
philosophers test
- Host: GitHub
- URL: https://github.com/cacharle/philosophers_test
- Owner: cacharle
- Created: 2020-10-05T12:05:54.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-07T06:03:27.000Z (over 3 years ago)
- Last Synced: 2024-08-01T10:20:58.173Z (4 months ago)
- Topics: philosophers, philosophers-test
- Language: Python
- Homepage: https://git.cacharle.xyz/philosophers_test
- Size: 628 KB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- 42-resources - philosophers_test
README
# philosophers test
Test for the philosophers project of school 42.
![screenshot](screenshot.png)
## Usage
Clone this repository next to your project directory.
(or change the default path in the [config](src/config.py))```
.
|- philosophers/
|- philosophers_test/
``````
$ ./run --help
usage: run [-h] -p {0,1,2,3} [-b] [-g] [-t TIMEOUT]Philosophers test
optional arguments:
-h, --help show this help message and exit
-p {0,1,2,3}, --philo {0,1,2,3}
Number of the philosopher program to test
- 1: philo_one
- 2: philo_two
- 3: philo_three
- 0: all programs
-b, --build Build and exit
-g, --pager Open result.log in a pager after the test
-t TIMEOUT, --timeout TIMEOUT
Change the philosopher process time (in seconds)Tested:
- Take 2 forks before eating
- State switch in the correct order
think -> fork -> fork -> eat n times -> sleep
- Almost 0 delay between second fork taken and eat
- Die if the death timeout is expired
- No output after death
- Timestamp in order
- Only take existing fork
- Error message and status != 0 on argument error
(not asked by subject but easy to do and cleanner)
```