Makefile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. CSCOMPILE = mcs
  13. TEST_ARCHIVE = xslt-testsuite-03.ZIP
  14. CATALOG = testsuite/TESTS/catalog.xml
  15. FIXED_CATALOG = testsuite/TESTS/catalog-fixed.xml
  16. nunit_MONO_PATH="../../../../../class/lib/default"
  17. mono_wrapper_PATH="../../../../../../mono/runtime/mono-wrapper"
  18. NUNIT_CONSOLE=$(mono_wrapper_PATH) --debug $(nunit_MONO_PATH)/nunit-console.exe
  19. FIXTURE=MonoTests.oasis_xslt.SuiteBuilder
  20. CLEAN_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=TestResult.xml /include=Clean
  21. FAILED_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=FailedTestResult.xml /include=KnownFailures
  22. ALL_NUNIT_FLAGS=/fixture:$(FIXTURE) /xml=AllTestResult.xml /out=AllTestResult.log /include=KnownFailures,Clean
  23. TEST_PROG=xslttest.dll
  24. GENERATE_EXE=generate.exe
  25. ifdef TEST_DOM
  26. REFERENCE_RESULTS_NAME=domresults
  27. else
  28. REFERENCE_RESULTS_NAME=results
  29. endif
  30. REFERENCE_RESULTS_ARCHIVE=xslt-reference-$(REFERENCE_RESULTS_NAME).tar.gz
  31. REFERENCE_RESULTS_URL=http://svn.myrealbox.com/source/trunk/release/test-ext/xslt-standalone/$(REFERENCE_RESULTS_ARCHIVE)
  32. REFERENCE_RESULTS=$(REFERENCE_RESULTS_NAME)/timestamp
  33. test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  34. run-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  35. MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(CLEAN_NUNIT_FLAGS)
  36. run-all-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  37. MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(ALL_NUNIT_FLAGS)
  38. run-failed-test : $(TEST_PROG) $(FIXED_CATALOG) $(REFERENCE_RESULTS)
  39. XSLTTEST_INVERSE_RESULTS="" MONO_PATH="$(nunit_MONO_PATH);$(MONO_PATH)" $(NUNIT_CONSOLE) $(TEST_PROG) $(FAILED_NUNIT_FLAGS)
  40. clean :
  41. rm -f *TestResult.xml failed.lst missing.lst AllTestResult.log
  42. rm -f $(TEST_PROG) $(GENERATE_EXE)
  43. # Be careful to use it!
  44. distclean : clean
  45. rm -rf testsuite
  46. rm -rf results domresults
  47. rm -f $(TEST_ARCHIVE) $(REFERENCE_RESULTS_ARCHIVE) $(REFERENCE_LIST)
  48. # Check that we are running on MS.NET - otherwise the reference output can be
  49. # created on mono - and we will compare mono with mono
  50. must-be-dotnet:
  51. ifdef GENERATE_REFERENCE_ON_MONO
  52. true
  53. else
  54. uname | grep CYGWIN || uname | grep Windows
  55. endif
  56. create-reference-output : must-be-dotnet $(GENERATE_EXE) $(FIXED_CATALOG)
  57. rm -rf $(REFERENCE_RESULTS_NAME)
  58. ifdef GENERATE_REFERENCE_ON_MONO
  59. $(RUNTIME) ./$(GENERATE_EXE) $(TEST_DOM)
  60. else
  61. ./generate.exe $(TEST_DOM)
  62. endif
  63. # Must cd to work with any path separator symbols
  64. cd $(REFERENCE_RESULTS_NAME); echo "$(TEST_DOM)" > generate_options
  65. tar -c $(REFERENCE_RESULTS_NAME) | gzip > $(REFERENCE_RESULTS_ARCHIVE)
  66. @echo "Now you can upload $(REFERENCE_RESULTS_ARCHIVE) to $(REFERENCE_RESULTS_URL)"
  67. $(GENERATE_EXE) : generate.cs XsltTestUtils.cs
  68. $(CSCOMPILE) generate.cs XsltTestUtils.cs -out:$@
  69. $(TEST_PROG) : xslttest.cs XsltTestUtils.cs
  70. $(CSCOMPILE) xslttest.cs XsltTestUtils.cs XmlCompare.cs -r:NUnit.core -r:NUnit.framework -out:$@ -t:library
  71. catalog-fixed : $(FIXED_CATALOG)
  72. $(FIXED_CATALOG) : $(CATALOG) catalog.sed catalog-fixed.diff
  73. sed -f catalog.sed $(CATALOG) > $(FIXED_CATALOG)
  74. patch -p0 $(FIXED_CATALOG) < catalog-fixed.diff
  75. catalog : $(CATALOG)
  76. $(CATALOG) : $(TEST_ARCHIVE)
  77. unzip -un $(TEST_ARCHIVE)
  78. touch $(CATALOG)
  79. $(TEST_ARCHIVE) :
  80. wget http://www.oasis-open.org/committees/download.php/9584/$(TEST_ARCHIVE)
  81. $(REFERENCE_RESULTS) : $(REFERENCE_RESULTS_ARCHIVE)
  82. tar -xzf $<
  83. touch $@
  84. $(REFERENCE_RESULTS_ARCHIVE) :
  85. wget $(REFERENCE_RESULTS_URL)