Subzero: Run cross tests as a much more configurable python script.
The runtests.sh script is removed and replaced with crosstest_generator.py.
"make check" limits to a relevant subset of cross tests to control the combinatorial explosion. We cut the native tests almost in half, and the sandboxed tests down to a quarter.
The --include and --exclude logic is copied/adapted from szbuild.py.
The script works by running through every possible test in the combinatorial explosion, and if the test is a match against the --include and --exclude arguments, the test is built and run.
The script includes lit support, which is the most likely way it will be run. When run with the --lit argument, it sprays the output directory with lit test files in the form of shell scripts, and "make check" runs lit on that directory.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4085
R=jvoung@chromium.org, mtrofin@chromium.org
Review URL: https://codereview.chromium.org/987503004
diff --git a/Makefile.standalone b/Makefile.standalone
index 58d5357..2227350 100644
--- a/Makefile.standalone
+++ b/Makefile.standalone
@@ -224,7 +224,13 @@
@echo "Crosstests ignored, minimal build"
else
check: check-lit check-unit runtime
- (cd crosstest; ./runtests.sh)
+ # Do all native/sse2 tests, but only test_vector_ops for native/sse4.1.
+ # For (slow) sandboxed tests, limit to Om1/sse4.1.
+ ./pydir/crosstest_generator.py -v --lit \
+ -i native,sse2 -i native,sse4.1,test_vector_ops \
+ -i sandbox,sse4.1,Om1
+ LLVM_BIN_PATH=$(LLVM_BIN_PATH) \
+ $(LLVM_SRC_PATH)/utils/lit/lit.py -sv crosstest/Output
endif
FORMAT_BLACKLIST =