]> granicus.if.org Git - check/commitdiff
test_xml_output: removing assumption that HAVE_FORK=0 implied Windows
authorbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Fri, 27 Sep 2013 01:38:35 +0000 (01:38 +0000)
committerbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Fri, 27 Sep 2013 01:38:35 +0000 (01:38 +0000)
With the configuration option --disable-fork, *nix systems
can also be compiled without using fork. To fix the
line encodings, sed is used to remove \r before the check.

git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@800 64e312b2-a51f-0410-8e61-82d0ca0eb02a

tests/test_xml_output.sh

index 816b4b5de62259383b9ebcd213acfea763f8ad22..7c7eb714d038b3c9065b21dcdd50121681d33338 100755 (executable)
@@ -1,12 +1,6 @@
 #!/bin/sh
 
-# For this test script, it is assumed that HAVE_FORK=0 implies
-# running in a Windows environment. That means not only are
-# fork-related tests not run, but also line endings are important.
-# In *NIX environments line endings are \n, but in Windows they
-# are expected to be \r\n. For this reason, HAVE_FORK=0 uses
-# printf to generate the comparison strings, so the line endings
-# can be controlled.
+OUTPUT_FILE=test.log.xml
 
 . ./test_vars
 
@@ -87,69 +81,68 @@ expected_duration_count=9
 # a -1 for duration, as no duration is known.
 expected_duration_error=5
 else
-expected_xml=`printf "<?xml version=\"1.0\"?>\r
-<?xml-stylesheet type=\"text/xsl\" href=\"http://check.sourceforge.net/xml/check_unittest.xslt\"?>\r
-<testsuites xmlns=\"http://check.sourceforge.net/ns\">\r
-  <suite>\r
-    <title>S1</title>\r
-    <test result=\"success\">\r
-      <fn>ex_xml_output.c:10</fn>\r
-      <id>test_pass</id>\r
-      <iteration>0</iteration>\r
-      <description>Core</description>\r
-      <message>Passed</message>\r
-    </test>\r
-    <test result=\"failure\">\r
-      <fn>ex_xml_output.c:16</fn>\r
-      <id>test_fail</id>\r
-      <iteration>0</iteration>\r
-      <description>Core</description>\r
-      <message>Failure</message>\r
-    </test>\r
-  </suite>\r
-  <suite>\r
-    <title>S2</title>\r
-    <test result=\"success\">\r
-      <fn>ex_xml_output.c:34</fn>\r
-      <id>test_pass2</id>\r
-      <iteration>0</iteration>\r
-      <description>Core</description>\r
-      <message>Passed</message>\r
-    </test>\r
-    <test result=\"failure\">\r
-      <fn>ex_xml_output.c:40</fn>\r
-      <id>test_loop</id>\r
-      <iteration>0</iteration>\r
-      <description>Core</description>\r
-      <message>Iteration 0 failed</message>\r
-    </test>\r
-    <test result=\"success\">\r
-      <fn>ex_xml_output.c:40</fn>\r
-      <id>test_loop</id>\r
-      <iteration>1</iteration>\r
-      <description>Core</description>\r
-      <message>Passed</message>\r
-    </test>\r
-    <test result=\"failure\">\r
-      <fn>ex_xml_output.c:40</fn>\r
-      <id>test_loop</id>\r
-      <iteration>2</iteration>\r
-      <description>Core</description>\r
-      <message>Iteration 2 failed</message>\r
-    </test>\r
-  </suite>\r
-  <suite>\r
-    <title>XML escape &quot; &apos; &lt; &gt; &amp; tests</title>\r
-    <test result=\"failure\">\r
-      <fn>ex_xml_output.c:46</fn>\r
-      <id>test_xml_esc_fail_msg</id>\r
-      <iteration>0</iteration>\r
-      <description>description &quot; &apos; &lt; &gt; &amp;</description>\r
-      <message>fail &quot; &apos; &lt; &gt; &amp; message</message>\r
-    </test>\r
-  </suite>\r
-</testsuites>\r
-"`
+expected_xml="<?xml version=\"1.0\"?>
+<?xml-stylesheet type=\"text/xsl\" href=\"http://check.sourceforge.net/xml/check_unittest.xslt\"?>
+<testsuites xmlns=\"http://check.sourceforge.net/ns\">
+  <suite>
+    <title>S1</title>
+    <test result=\"success\">
+      <fn>ex_xml_output.c:10</fn>
+      <id>test_pass</id>
+      <iteration>0</iteration>
+      <description>Core</description>
+      <message>Passed</message>
+    </test>
+    <test result=\"failure\">
+      <fn>ex_xml_output.c:16</fn>
+      <id>test_fail</id>
+      <iteration>0</iteration>
+      <description>Core</description>
+      <message>Failure</message>
+    </test>
+  </suite>
+  <suite>
+    <title>S2</title>
+    <test result=\"success\">
+      <fn>ex_xml_output.c:34</fn>
+      <id>test_pass2</id>
+      <iteration>0</iteration>
+      <description>Core</description>
+      <message>Passed</message>
+    </test>
+    <test result=\"failure\">
+      <fn>ex_xml_output.c:40</fn>
+      <id>test_loop</id>
+      <iteration>0</iteration>
+      <description>Core</description>
+      <message>Iteration 0 failed</message>
+    </test>
+    <test result=\"success\">
+      <fn>ex_xml_output.c:40</fn>
+      <id>test_loop</id>
+      <iteration>1</iteration>
+      <description>Core</description>
+      <message>Passed</message>
+    </test>
+    <test result=\"failure\">
+      <fn>ex_xml_output.c:40</fn>
+      <id>test_loop</id>
+      <iteration>2</iteration>
+      <description>Core</description>
+      <message>Iteration 2 failed</message>
+    </test>
+  </suite>
+  <suite>
+    <title>XML escape &quot; &apos; &lt; &gt; &amp; tests</title>
+    <test result=\"failure\">
+      <fn>ex_xml_output.c:46</fn>
+      <id>test_xml_esc_fail_msg</id>
+      <iteration>0</iteration>
+      <description>description &quot; &apos; &lt; &gt; &amp;</description>
+      <message>fail &quot; &apos; &lt; &gt; &amp; message</message>
+    </test>
+  </suite>
+</testsuites>"
 expected_duration_count=8
 
 # For no-fork mode, all tests 'finish' and do not call exit(). This means
@@ -158,7 +151,7 @@ expected_duration_error=0
 fi
 
 ./ex_xml_output${EXEEXT} > /dev/null
-actual_xml=`cat test.log.xml | grep -v \<duration\> | grep -v \<datetime\> | grep -v \<path\>`
+actual_xml=`cat ${OUTPUT_FILE} | sed 's/\r//g' | grep -v \<duration\> | grep -v \<datetime\> | grep -v \<path\>`
 if [ x"${expected_xml}" != x"${actual_xml}" ]; then
     echo "Problem with ex_xml_output${EXEEXT} ${3}";
     echo "Expected:";