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 =