Makefile 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #
  2. # "make" prepares automated download and build for all tests.
  3. #
  4. # "make run-test" executes both existing xslttest and MainSoft's new test
  5. # and reports the total diff numbers:
  6. #
  7. # - For xslttest, it is "TestResult.xml" and the list of the failed tests
  8. # is in failed.lst
  9. #
  10. .SUFFIXES: .cs .exe .dll
  11. RUNTIME = mono
  12. ifeq ($(PROFILE), net_2_0)
  13. nunit_MONO_PATH="../../../../../class/lib/net_2_0"
  14. CSCOMPILE=gmcs
  15. else
  16. nunit_MONO_PATH="../../../../../class/lib/default"
  17. CSCOMPILE=mcs
  18. endif
  19. TEST_ARCHIVE = xslt-testsuite-03.ZIP
  20. CATALOG = testsuite/TESTS/catalog.xml
  21. FIXED_CATALOG = testsuite/TESTS/catalog-fixed.xml
  22. mono_wrapper_PATH="../../../../../../mono/runtime/mono-wrapper"
  23. 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
  28. TEST_PROG=xslttest.dll
  29. GENERATE_EXE=generate.exe
  30. ifdef TEST_DOM
  31. REFERENCE_RESULTS_NAME=domresults
  32. else
  33. REFERENCE_RESULTS_NAME=results
  34. endif
  35. REFERENCE_RESULTS_ARCHIVE=xslt-reference-$(REFERENCE_RESULTS_NAME).tar.gz
  36. REFERENCE_RESULTS_URL=http://svn.myrealbox.com/source/trunk/release/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
  37. REFERENCE_RESULTS=$(REFERENCE_RESULTS_NAME)/timestamp
  38. test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  39. run-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  40. MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(CLEAN_NUNIT_FLAGS)
  41. run-all-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  42. MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(ALL_NUNIT_FLAGS)
  43. run-failed-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  44. XSLTTEST_INVERSE_RESULTS="" MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(FAILED_NUNIT_FLAGS)
  45. clean :
  46. rm -f *TestResult.xml failed.lst missing.lst AllTestResult.log
  47. rm -f $(TEST_PROG) $(GENERATE_EXE)
  48. # Be careful to use it!
  49. distclean : clean
  50. rm -rf testsuite
  51. rm -rf results domresults
  52. rm -f $(TEST_ARCHIVE) $(REFERENCE_RESULTS_ARCHIVE) $(REFERENCE_LIST)
  53. # Check that we are running on MS.NET - otherwise the reference output can be
  54. # created on mono - and we will compare mono with mono
  55. must-be-dotnet:
  56. ifdef GENERATE_REFERENCE_ON_MONO
  57. true
  58. else
  59. uname | grep CYGWIN || uname | grep Windows
  60. endif
  61. create-reference-output : must-be-dotnet $(GENERATE_EXE) $(FIXED_CATALOG)
  62. rm -rf $(REFERENCE_RESULTS_NAME)
  63. ifdef GENERATE_REFERENCE_ON_MONO
  64. $(RUNTIME) ./$(GENERATE_EXE) $(TEST_DOM)
  65. else
  66. ./generate.exe $(TEST_DOM)
  67. endif
  68. # Must cd to work with any path separator symbols
  69. cd $(REFERENCE_RESULTS_NAME); echo "$(TEST_DOM)" > generate_options
  70. tar -c $(REFERENCE_RESULTS_NAME) | gzip > $(REFERENCE_RESULTS_ARCHIVE)
  71. @echo "Now you can upload $(REFERENCE_RESULTS_ARCHIVE) to $(REFERENCE_RESULTS_URL)"
  72. $(GENERATE_EXE) : generate.cs XsltTestUtils.cs
  73. $(CSCOMPILE) generate.cs XsltTestUtils.cs -out:$@
  74. $(TEST_PROG) : xslttest.cs XsltTestUtils.cs
  75. $(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:nunit.core -r:nunit.framework -out:$@ -t:library
  76. catalog-fixed : $(FIXED_CATALOG)
  77. $(FIXED_CATALOG) : $(CATALOG) catalog.sed catalog-fixed.diff
  78. sed -f catalog.sed $(CATALOG) > $(FIXED_CATALOG)
  79. patch -p0 -i catalog-fixed.diff
  80. catalog : $(CATALOG)
  81. $(CATALOG) : $(TEST_ARCHIVE)
  82. unzip -un $(TEST_ARCHIVE)
  83. touch $(CATALOG)
  84. $(TEST_ARCHIVE) :
  85. wget http://www.oasis-open.org/committees/download.php/9584/$(TEST_ARCHIVE)
  86. $(REFERENCE_RESULTS) : $(REFERENCE_RESULTS_ARCHIVE)
  87. tar -xzf $<
  88. touch $@
  89. $(REFERENCE_RESULTS_ARCHIVE) :
  90. wget $(REFERENCE_RESULTS_URL)