It seems like it would be a lot easier to just have students call, e.g., `ta_fork()` rather than `fork()`, and then provide an implementing file to be linked with their program. Then `ta_fork()` allows the TA to trigger errors, either probabilistically or deterministically (say, by setting environment variables).
This approach would also give students insight into testing strategies like mocking, plus it would work on more operating systems.
[Edit: Not to disparage this project. It seems like it would have lots of uses, and it was probably a lot of fun to develop.]
This approach would also give students insight into testing strategies like mocking, plus it would work on more operating systems.
[Edit: Not to disparage this project. It seems like it would have lots of uses, and it was probably a lot of fun to develop.]