2 # "make" prepares automated download and build for all tests.
4 # "make run-test" executes both existing xslttest and MainSoft's new test
5 # and reports the total diff numbers:
7 # - For xslttest, it is "TestResult.xml" and the list of the failed tests
11 .SUFFIXES: .cs .exe .dll
16 TEST_ARCHIVE = xslt-testsuite-03.ZIP
17 CATALOG = testsuite/TESTS/catalog.xml
18 FIXED_CATALOG = testsuite/TESTS/catalog-fixed.xml
20 nunit_MONO_PATH="../../../../../class/lib/default"
21 mono_wrapper_PATH="../../../../../../mono/runtime/mono-wrapper"
22 NUNIT_CONSOLE=$(mono_wrapper_PATH) --debug $(nunit_MONO_PATH)/nunit-console.exe
24 FIXTURE=MonoTests.oasis_xslt.SuiteBuilder
25 CLEAN_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=TestResult.xml /include=Clean
26 FAILED_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=FailedTestResult.xml /include=KnownFailures
27 ALL_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=AllTestResult.xml /out=AllTestResult.log /include=KnownFailures,Clean
29 TEST_PROG=xslttest.dll
30 GENERATE_EXE=generate.exe
33 REFERENCE_RESULTS_NAME=domresults
35 REFERENCE_RESULTS_NAME=results
37 REFERENCE_RESULTS_ARCHIVE=xslt-reference-$(REFERENCE_RESULTS_NAME).tar.gz
38 REFERENCE_RESULTS_URL=http://svn.myrealbox.com/source/trunk/release/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
39 REFERENCE_RESULTS=$(REFERENCE_RESULTS_NAME)/timestamp
41 test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
43 run-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
44 MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(CLEAN_NUNIT_FLAGS)
46 run-all-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
47 MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(ALL_NUNIT_FLAGS)
49 run-failed-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
50 XSLTTEST_INVERSE_RESULTS="" MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(FAILED_NUNIT_FLAGS)
54 rm -f *TestResult.xml failed.lst missing.lst AllTestResult.log
55 rm -f $(TEST_PROG) $(GENERATE_EXE)
57 # Be careful to use it!
60 rm -rf results domresults
61 rm -f $(TEST_ARCHIVE) $(REFERENCE_RESULTS_ARCHIVE) $(REFERENCE_LIST)
63 # Check that we are running on MS.NET - otherwise the reference output can be
64 # created on mono - and we will compare mono with mono
66 ifdef GENERATE_REFERENCE_ON_MONO
69 uname | grep CYGWIN || uname | grep Windows
72 create-reference-output : must-be-dotnet $(GENERATE_EXE) $(FIXED_CATALOG)
73 rm -rf $(REFERENCE_RESULTS_NAME)
74 ifdef GENERATE_REFERENCE_ON_MONO
75 $(RUNTIME) ./$(GENERATE_EXE) $(TEST_DOM)
77 ./generate.exe $(TEST_DOM)
79 # Must cd to work with any path separator symbols
80 cd $(REFERENCE_RESULTS_NAME); echo "$(TEST_DOM)" > generate_options
81 tar -c $(REFERENCE_RESULTS_NAME) | gzip > $(REFERENCE_RESULTS_ARCHIVE)
82 @echo "Now you can upload $(REFERENCE_RESULTS_ARCHIVE) to $(REFERENCE_RESULTS_URL)"
84 $(GENERATE_EXE) : generate.cs XsltTestUtils.cs
85 $(CSCOMPILE) generate.cs XsltTestUtils.cs -out:$@
86 $(TEST_PROG) : xslttest.cs XsltTestUtils.cs
87 $(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:nunit.core -r:nunit.framework -out:$@ -t:library
89 catalog-fixed : $(FIXED_CATALOG)
91 $(FIXED_CATALOG) : $(CATALOG) catalog.sed catalog-fixed.diff
92 sed -f catalog.sed $(CATALOG) > $(FIXED_CATALOG)
93 patch -p0 -i catalog-fixed.diff
97 $(CATALOG) : $(TEST_ARCHIVE)
98 unzip -un $(TEST_ARCHIVE)
102 wget http://www.oasis-open.org/committees/download.php/9584/$(TEST_ARCHIVE)
104 $(REFERENCE_RESULTS) : $(REFERENCE_RESULTS_ARCHIVE)
108 $(REFERENCE_RESULTS_ARCHIVE) :
109 wget $(REFERENCE_RESULTS_URL)