Remove this file prior to submission?? ------------------------------------ Changes by Matt Helsley <matthltc@us.ibm.com>, March 12th, 2008: Many (but not all) of these changes are scripted so that I can modify the tests quickly by editting the ltp-convert.sh script. It saves a copy of the test foo as foo.orig before making any modifications. Currently there's a patch.txt file which shows all the changes the script makes. Moved readme.README to README Made tests run in the sandbox directory rather than in testcases/working Moved scripts and executables from testcases/working to bin Based all non-local paths out of the "$FS_BIND_ROOT" directory rather than having a "$path" variable. Logged mount lists before and after each test, took a diff, and removed the list if they look the same. Otherwise it keeps the two files, reports the diff, cleans up the mounts with a big hammer, and goes onto the next test. Logged the sandbox contents before and after, took a diff, and removed the logged contents if they look the same. Otherwise it keeps the lists of files and dirs, reports the problem, and cleans up the sandbox. This happens after the mount cleanups otherwise it could fail. Factored out the "check" function from most tests (still need to work on "childXX" and "parentXX" scripts) and put it into the setup script. Factored out the "path" variable and pushd bits into the sharedSubtree script. Added some traps to the test scripts to detect unexpected errors and log them Switched to LTP infrastructure for the test scripts. The driver scripts however are not switched yet (easy to do). I did this by writing some LTP API shims rather than try to toss it into ltp-full-XXXXXX.tgz. Then, once everything uses LTP we can integrate it. Made mkdir logdir quiet (restore it??) Count total tests in a separate loop so we can detect accidentally skipped tests "test" is a program -- changed variables named "test" to "t" to avoid potential confusion later Added quotes around paths, variables, and output that may someday contain spaces (hopefully never, but..) Added logdir/errors redirection of stderr Removed testcases/<Up> script Removed .c files in testcases/cloneNS which appeared to be unused Added Makefiles for .c files and for toplevel dir (for LTP integration) Converted "mmount" to "smount" to match the .c file. Fixed up nsclone.c and smount.c to compile and do so without warnings. (at least on gcc 4.2.3-1 debian) Fixed some bugs in the testcases: A couple copy-paste bugs Bugs with uncloneable mounts being bound but the error wasn't expected. A few path bugs. Added bits to handle commands that are expected to fail (return non-zero) Fixup the return code so that these are trapped properly expected_to_fail && /bin/false || /bin/true Redirected output mount_expected_to_fail 2> /dev/null || result=$? Added umounts and comments describing cleanup bits which cleanup in case of unexpected mount --move failure for example Added a BUGS file Added a CHANGELOG Added TODO file(s) Moved the sharedSubtree test to LTPROOT/testscripts and rewrote it for LTP