On May 21, 10:31pm, j...@julipedia.org (Julio Merino) wrote: -- Subject: Re: CVS commit: src/tests/syscall
| Sounds like a good idea. Note that there is *many* more things that | will not work. The test case will dump garbage in the current directory | and it won't be cleaned, the environment won't be sanitized, child | processes won't be killed... It could mention all of them. | | > Also it would be nice if programs | > when invoked with -l or something they would list all their tests, and if | | That already works :-) The output format is oooogly though Yes, perhaps use a different flag to just list the names. | > invoked with -a they would run all the tests. | | Tests used to do exactly that more than a year ago, but it turned out to | be a bad idea... | | The test programs were extremely complex: they had to implement all the | test case isolation (work directory, timeouts, etc.) themselves, and | that meant having to implement the same thing in C, C++ and shell. I don't see why. You just put it all in a shared library written in c and used from c++. Shell you have already. | Also, and this is what bugged most people: debugging the test cases was | almost impossible due to all the black magic that was involved in them. | The test cases would delete temporary files on failure and gdb was | unusable. You can have a flag to disable the setup/cleanup. | As a result, I moved all the isolation logic into atf-run and turned the | test programs into a 'dumb' frontend for the test cases. Test programs | now don't do much more than just running test case bodies and exposing a | consistent interface, so they really should not be used directly unless | you need to debug a particular test case. Oh, and the whole system | works much, much faster ;-P Well, I've never ran atf-run :-) and I've ran individual tests multiple times. christos