Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile « standalone_tests « System.Xml.Xsl « Test « System.XML « class « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d7f57bc6c489877293551591874b15a68124ee85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#
# "make" prepares automated download and build for all tests.
#
# "make run-test" executes both existing xslttest and MainSoft's new test
# and reports the total diff numbers:
#
#	- For xslttest, it is "TestResult.xml" and the list of the failed tests
#	is in failed.lst
#

.SUFFIXES: .cs .exe .dll

RUNTIME = mono
CSCOMPILE = mcs

TEST_ARCHIVE = xslt-testsuite-03.ZIP
CATALOG = testsuite/TESTS/catalog.xml
FIXED_CATALOG = testsuite/TESTS/catalog-fixed.xml

nunit_MONO_PATH="../../../../../class/lib/default"
mono_wrapper_PATH="../../../../../../mono/runtime/mono-wrapper"
NUNIT_CONSOLE=$(mono_wrapper_PATH) --debug $(nunit_MONO_PATH)/nunit-console.exe

FIXTURE=MonoTests.oasis_xslt.SuiteBuilder
CLEAN_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=TestResult.xml /include=Clean
FAILED_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=FailedTestResult.xml /include=KnownFailures
ALL_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=AllTestResult.xml /out=AllTestResult.log /include=KnownFailures,Clean

TEST_PROG=xslttest.dll
GENERATE_EXE=generate.exe

ifdef TEST_DOM
REFERENCE_RESULTS_NAME=domresults
else
REFERENCE_RESULTS_NAME=results
endif
REFERENCE_RESULTS_ARCHIVE=xslt-reference-$(REFERENCE_RESULTS_NAME).tar.gz
REFERENCE_RESULTS_URL=http://svn.myrealbox.com/source/trunk/release/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
REFERENCE_RESULTS=$(REFERENCE_RESULTS_NAME)/timestamp

test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)

run-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
	MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(CLEAN_NUNIT_FLAGS)
	
run-all-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
	MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(ALL_NUNIT_FLAGS)
	
run-failed-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
	XSLTTEST_INVERSE_RESULTS="" MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(FAILED_NUNIT_FLAGS)
	

clean :
	rm -f *TestResult.xml failed.lst missing.lst AllTestResult.log
	rm -f $(TEST_PROG) $(GENERATE_EXE)

# Be careful to use it!
distclean : clean
	rm -rf testsuite
	rm -rf results domresults
	rm -f $(TEST_ARCHIVE) $(REFERENCE_RESULTS_ARCHIVE) $(REFERENCE_LIST)

# Check that we are running on MS.NET - otherwise the reference output can be
# created on mono - and we will compare mono with mono
must-be-dotnet:
ifdef GENERATE_REFERENCE_ON_MONO
	true
else
	uname | grep CYGWIN || uname | grep Windows
endif
	
create-reference-output : must-be-dotnet $(GENERATE_EXE) $(FIXED_CATALOG)
	rm -rf $(REFERENCE_RESULTS_NAME)
ifdef GENERATE_REFERENCE_ON_MONO
	$(RUNTIME) ./$(GENERATE_EXE) $(TEST_DOM)
else
	./generate.exe $(TEST_DOM)
endif
# Must cd to work with any path separator symbols
	cd $(REFERENCE_RESULTS_NAME); echo "$(TEST_DOM)" > generate_options 
	tar -c $(REFERENCE_RESULTS_NAME) | gzip > $(REFERENCE_RESULTS_ARCHIVE)
	@echo "Now you can upload $(REFERENCE_RESULTS_ARCHIVE) to $(REFERENCE_RESULTS_URL)"

$(GENERATE_EXE) : generate.cs XsltTestUtils.cs
	$(CSCOMPILE) generate.cs XsltTestUtils.cs -out:$@
$(TEST_PROG) : xslttest.cs XsltTestUtils.cs
	$(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:nunit.core -r:nunit.framework -out:$@ -t:library

catalog-fixed : $(FIXED_CATALOG)

$(FIXED_CATALOG) : $(CATALOG) catalog.sed catalog-fixed.diff
	sed -f catalog.sed $(CATALOG) > $(FIXED_CATALOG)
	patch -p0 -i catalog-fixed.diff

catalog : $(CATALOG)

$(CATALOG) : $(TEST_ARCHIVE)
	unzip -un $(TEST_ARCHIVE)
	touch $(CATALOG)

$(TEST_ARCHIVE) :
	wget http://www.oasis-open.org/committees/download.php/9584/$(TEST_ARCHIVE)

$(REFERENCE_RESULTS) : $(REFERENCE_RESULTS_ARCHIVE)
	tar -xzf $<
	touch $@

$(REFERENCE_RESULTS_ARCHIVE) :
	wget $(REFERENCE_RESULTS_URL)