Commit c447b216 by Mario Voorsluys

Fixed xml unit-tests and added extra tests

The extra tests check that the xml output is correct when a failure occurs before skipping, and that the right skip message is added to the file. The json file had to be fixed because it's the same executable.
parent 23dadb84
...@@ -58,9 +58,9 @@ else: ...@@ -58,9 +58,9 @@ else:
EXPECTED_NON_EMPTY = { EXPECTED_NON_EMPTY = {
u'tests': u'tests':
24, 26,
u'failures': u'failures':
4, 5,
u'disabled': u'disabled':
2, 2,
u'errors': u'errors':
...@@ -158,9 +158,9 @@ EXPECTED_NON_EMPTY = { ...@@ -158,9 +158,9 @@ EXPECTED_NON_EMPTY = {
u'name': u'name':
u'SkippedTest', u'SkippedTest',
u'tests': u'tests':
1, 3,
u'failures': u'failures':
0, 1,
u'disabled': u'disabled':
0, 0,
u'errors': u'errors':
...@@ -176,6 +176,26 @@ EXPECTED_NON_EMPTY = { ...@@ -176,6 +176,26 @@ EXPECTED_NON_EMPTY = {
u'time': u'*', u'time': u'*',
u'timestamp': u'*', u'timestamp': u'*',
u'classname': u'SkippedTest' u'classname': u'SkippedTest'
}, {
u'name': u'SkippedWithMessage',
u'status': u'RUN',
u'result': u'SKIPPED',
u'time': u'*',
u'timestamp': u'*',
u'classname': u'SkippedTest'
}, {
u'name': u'SkippedAfterFailure',
u'status': u'RUN',
u'result': u'COMPLETED',
u'time': u'*',
u'timestamp': u'*',
u'classname': u'SkippedTest',
u'failures': [{
u'failure': u'gtest_xml_output_unittest_.cc:*\n'
u'Expected equality of these values:\n'
u' 1\n 2' + STACK_TRACE_TEMPLATE,
u'type': u''
}]
}] }]
}, { }, {
u'name': u'name':
......
...@@ -42,7 +42,7 @@ GTEST_OUTPUT_2_TEST = "gtest_xml_outfile2_test_" ...@@ -42,7 +42,7 @@ GTEST_OUTPUT_2_TEST = "gtest_xml_outfile2_test_"
EXPECTED_XML_1 = """<?xml version="1.0" encoding="UTF-8"?> EXPECTED_XML_1 = """<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*" name="AllTests"> <testsuites tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*" name="AllTests">
<testsuite name="PropertyOne" tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*"> <testsuite name="PropertyOne" tests="1" failures="0" skipped="0" disabled="0" errors="0" time="*" timestamp="*">
<testcase name="TestSomeProperties" status="run" result="completed" time="*" timestamp="*" classname="PropertyOne"> <testcase name="TestSomeProperties" status="run" result="completed" time="*" timestamp="*" classname="PropertyOne">
<properties> <properties>
<property name="SetUpProp" value="1"/> <property name="SetUpProp" value="1"/>
...@@ -56,7 +56,7 @@ EXPECTED_XML_1 = """<?xml version="1.0" encoding="UTF-8"?> ...@@ -56,7 +56,7 @@ EXPECTED_XML_1 = """<?xml version="1.0" encoding="UTF-8"?>
EXPECTED_XML_2 = """<?xml version="1.0" encoding="UTF-8"?> EXPECTED_XML_2 = """<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*" name="AllTests"> <testsuites tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*" name="AllTests">
<testsuite name="PropertyTwo" tests="1" failures="0" disabled="0" errors="0" time="*" timestamp="*"> <testsuite name="PropertyTwo" tests="1" failures="0" skipped="0" disabled="0" errors="0" time="*" timestamp="*">
<testcase name="TestSomeProperties" status="run" result="completed" time="*" timestamp="*" classname="PropertyTwo"> <testcase name="TestSomeProperties" status="run" result="completed" time="*" timestamp="*" classname="PropertyTwo">
<properties> <properties>
<property name="SetUpProp" value="2"/> <property name="SetUpProp" value="2"/>
......
...@@ -74,6 +74,15 @@ TEST_F(SkippedTest, Skipped) { ...@@ -74,6 +74,15 @@ TEST_F(SkippedTest, Skipped) {
GTEST_SKIP(); GTEST_SKIP();
} }
TEST_F(SkippedTest, SkippedWithMessage) {
GTEST_SKIP() << "It is good practice to tell why you skip a test.";
}
TEST_F(SkippedTest, SkippedAfterFailure) {
EXPECT_EQ(1, 2);
GTEST_SKIP() << "It is good practice to tell why you skip a test.";
}
TEST(MixedResultTest, Succeeds) { TEST(MixedResultTest, Succeeds) {
EXPECT_EQ(1, 1); EXPECT_EQ(1, 1);
ASSERT_EQ(1, 1); ASSERT_EQ(1, 1);
......
...@@ -105,6 +105,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): ...@@ -105,6 +105,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase):
'testsuite': 'name', 'testsuite': 'name',
'testcase': 'name', 'testcase': 'name',
'failure': 'message', 'failure': 'message',
'skipped': 'message',
'property': 'name', 'property': 'name',
} }
...@@ -179,7 +180,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): ...@@ -179,7 +180,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase):
type_param = element.getAttributeNode('type_param') type_param = element.getAttributeNode('type_param')
if type_param and type_param.value: if type_param and type_param.value:
type_param.value = '*' type_param.value = '*'
elif element.tagName == 'failure': elif element.tagName == 'failure' or element.tagName == 'skipped':
source_line_pat = r'^.*[/\\](.*:)\d+\n' source_line_pat = r'^.*[/\\](.*:)\d+\n'
# Replaces the source line information with a normalized form. # Replaces the source line information with a normalized form.
message = element.getAttributeNode('message') message = element.getAttributeNode('message')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment