path: root/Makefile
diff options
authorAdam Litke <agl@us.ibm.com>2009-01-30 15:56:15 +0000
committerEric B Munson <ebmunson@us.ibm.com>2009-01-30 18:52:56 +0000
commit4bc55f73a9abd6bcde6039c485771ae768390cb7 (patch)
tree92ad78be7fcb8df7c105a51c26edfedc822a8c56 /Makefile
parent1e3c6995c197659dfa036e2746c1e0f981a7c79e (diff)
Rework test suite for multiple huge page size testing
Now that libhugetlbfs can work with multiple huge page sizes, testing this support has become a priority. The following patch enables automatic testing of page sizes that are mounted and have at least one page allocated. Care is taken to assure that only valid combinations are tested. For example, 32bit tests are not run with 16GB pages. Following the run, a summary of all page sizes tested is printed. The following is some example output of the new script: ********** TEST SUMMARY * 64K 16M 16G * 32-bit 64-bit 32-bit 64-bit 32-bit 64-bit * Total testcases: 86 89 86 89 0 89 * Skipped: 20 0 20 0 0 0 * PASS: 59 75 62 85 0 49 * FAIL: 5 6 1 1 0 29 * Killed by signal: 0 0 0 0 0 0 * Bad configuration: 2 2 3 3 0 10 * Expected FAIL: 0 0 0 0 0 0 * Unexpected PASS: 0 0 0 0 0 0 * Strange test result: 0 6 0 0 0 1 ********** Script programming language conversion alert: This patch rewrites run_tests.sh in python. I already anticipate the "why change languages" comments so I come prepared with justification for the conversion. Our test harness has extended beyond simply executing a list of test cases and dumping the output to stdout. The data set for the test summary is now three-dimensional. It is indexed by result type (total tests, total passed, etc), word size, and now page size. The simple arrays in bash are not up to the task. As the number of tests that are run increases, so does the challenge of presenting the results in a meaningful, easy to digest format. Shell scripts lack the output formatting constructs that are present in languages such as Python and that make flexible output formatting possible. For these reasons (and the guarantee that the test harness will need to get even more sophisticated in the future), I made the inevitable decision to cut over to Python now. Signed-off-by: Eric B Munson <ebmunson@us.ibm.com> Signed-off-by: Adam Litke <agl@us.ibm.com>
Diffstat (limited to 'Makefile')
1 files changed, 6 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 40c8c45..4909872 100644
--- a/Makefile
+++ b/Makefile
@@ -191,22 +191,22 @@ tests/%:
tools: $(foreach file,$(INSTALL_BIN),$(BIN_OBJ_DIR)/$(file))
check: all
- cd tests; ./run_tests.sh
+ cd tests; ./run_tests.py
checkv: all
- cd tests; ./run_tests.sh -vV
+ cd tests; ./run_tests.py -vV
func: all
- cd tests; ./run_tests.sh -t func
+ cd tests; ./run_tests.py -t func
funcv: all
- cd tests; ./run_tests.sh -t func -vV
+ cd tests; ./run_tests.py -t func -vV
stress: all
- cd tests; ./run_tests.sh -t stress
+ cd tests; ./run_tests.py -t stress
stressv: all
- cd tests; ./run_tests.sh -t stress -vV
+ cd tests; ./run_tests.py -t stress -vV
# Don't want to remake objects just 'cos the directory timestamp changes
$(OBJDIRS): %: