[llvm-commits] [test-suite] r109844 - in /test-suite/trunk: MultiSource/Examples/ MultiSource/Examples/Makefile MultiSource/Examples/MultipleResults/ MultiSource/Examples/MultipleResults/Makefile MultiSource/Examples/MultipleResults/MultipleResults.c MultiSource/Examples/MultipleResults/MultipleResults.reference_output ParseMultipleResults TEST.simple.Makefile

Daniel Dunbar daniel at zuster.org
Thu Jul 29 19:54:33 PDT 2010


Author: ddunbar
Date: Thu Jul 29 21:54:33 2010
New Revision: 109844

URL: http://llvm.org/viewvc/llvm-project?rev=109844&view=rev
Log:
TEST=simple: Add support for tests which can generate multiple results.

Test is expected to write Output/TESTNAME.extra-results.txt, in the format:
--
Result-FOO: NNN.NNNN
Result-BAR: NNN.NNNN
--
which we will then report as fake tests (with no compile info). Good enough for
now, perhaps.

Added:
    test-suite/trunk/MultiSource/Examples/
    test-suite/trunk/MultiSource/Examples/Makefile
    test-suite/trunk/MultiSource/Examples/MultipleResults/
    test-suite/trunk/MultiSource/Examples/MultipleResults/Makefile
    test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.c
    test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.reference_output
    test-suite/trunk/ParseMultipleResults   (with props)
Modified:
    test-suite/trunk/TEST.simple.Makefile

Added: test-suite/trunk/MultiSource/Examples/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Examples/Makefile?rev=109844&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Examples/Makefile (added)
+++ test-suite/trunk/MultiSource/Examples/Makefile Thu Jul 29 21:54:33 2010
@@ -0,0 +1,8 @@
+# MultiSource/Examples Makefile:  Build all subdirectories automatically
+
+LEVEL = ../..
+
+PARALLEL_DIRS = MultipleResults
+
+include $(LEVEL)/Makefile.config
+include $(LEVEL)/Makefile.programs

Added: test-suite/trunk/MultiSource/Examples/MultipleResults/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Examples/MultipleResults/Makefile?rev=109844&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Examples/MultipleResults/Makefile (added)
+++ test-suite/trunk/MultiSource/Examples/MultipleResults/Makefile Thu Jul 29 21:54:33 2010
@@ -0,0 +1,10 @@
+LEVEL = ../../../
+PROG = MultipleResults
+LDFLAGS =
+
+include $(LEVEL)/Makefile.config
+
+EXTRA_TEST_RESULTS_FILE := $(PROJ_OBJ_DIR)/Output/MultipleResults.extra-results.txt
+RUN_OPTIONS := $(EXTRA_TEST_RESULTS_FILE)
+
+include ../../Makefile.multisrc

Added: test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.c?rev=109844&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.c (added)
+++ test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.c Thu Jul 29 21:54:33 2010
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include <assert.h>
+
+int main(int argc, char **argv) {
+  assert(argc == 1);
+  FILE *f = fopen(argv[1], "w");
+  fprintf(f, "Result-A: %.2f\n", 0.1);
+  fprintf(f, "Result-B: %.2f\n", 0.3);
+  fclose(f);
+  return 0;
+}

Added: test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.reference_output?rev=109844&view=auto
==============================================================================
--- test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.reference_output (added)
+++ test-suite/trunk/MultiSource/Examples/MultipleResults/MultipleResults.reference_output Thu Jul 29 21:54:33 2010
@@ -0,0 +1 @@
+exit 0

Added: test-suite/trunk/ParseMultipleResults
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/ParseMultipleResults?rev=109844&view=auto
==============================================================================
--- test-suite/trunk/ParseMultipleResults (added)
+++ test-suite/trunk/ParseMultipleResults Thu Jul 29 21:54:33 2010
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+
+import re
+import sys
+
+def main():
+    _,testname,path = sys.argv
+    data = open(path).read()
+    for result in re.finditer('Result-([^:]*): (.*)', data):
+        name, value = result.groups()
+        value = float(value)
+        print
+        print '-' * 62
+        print ">>> ========= '%s.Subtest.%s' Program " % (testname, name)
+        print '-' * 62
+        print
+        print 'TEST-PASS: exec %s.Subtest.%s' % (testname, name)
+        print 'TEST-RESULT-exec-success: pass'
+        print 'TEST-RESULT-exec-time: program %f' % value
+
+if __name__ == '__main__':
+    main()

Propchange: test-suite/trunk/ParseMultipleResults
------------------------------------------------------------------------------
    svn:executable = *

Modified: test-suite/trunk/TEST.simple.Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/TEST.simple.Makefile?rev=109844&r1=109843&r2=109844&view=diff
==============================================================================
--- test-suite/trunk/TEST.simple.Makefile (original)
+++ test-suite/trunk/TEST.simple.Makefile Thu Jul 29 21:54:33 2010
@@ -50,6 +50,9 @@
 	fi
 	@-printf "TEST-RESULT-exec-time: " >> $@
 	@-grep "^program" Output/$*.out-simple.time >> $@
+	if test -f Output/$*.extra-results.txt; then \
+	  $(PROGDIR)/ParseMultipleResults $(RELDIR)/$* Output/$*.extra-results.txt >> $@; \
+	fi
 
 # Overall tests: just run subordinate tests
 $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \





More information about the llvm-commits mailing list