cacharle / philosophers_test

philosophers test

Home Page:https://git.cacharle.xyz/philosophers_test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

philosophers test

Test for the philosophers project of school 42.

screenshot

Usage

Clone this repository next to your project directory. (or change the default path in the config)

.
|- 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)

About

philosophers test

https://git.cacharle.xyz/philosophers_test


Languages

Language:Python 100.0%