Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
b9e29783
Commit
b9e29783
authored
Jan 15, 2018
by
Gennadiy Civil
Browse files
Reverting some changes, need to make the merge compile
parent
304be8f0
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
53 deletions
+12
-53
googletest/include/gtest/gtest.h
googletest/include/gtest/gtest.h
+1
-4
googletest/test/gtest_xml_output_unittest.py
googletest/test/gtest_xml_output_unittest.py
+11
-49
No files found.
googletest/include/gtest/gtest.h
View file @
b9e29783
...
@@ -687,9 +687,6 @@ class GTEST_API_ TestInfo {
...
@@ -687,9 +687,6 @@ class GTEST_API_ TestInfo {
// Returns the line where this test is defined.
// Returns the line where this test is defined.
int
line
()
const
{
return
location_
.
line
;
}
int
line
()
const
{
return
location_
.
line
;
}
// Return true if this test should not be run because it's in another shard.
bool
is_in_another_shard
()
const
{
return
is_in_another_shard_
;
}
// Returns true if this test should run, that is if the test is not
// Returns true if this test should run, that is if the test is not
// disabled (or it is disabled but the also_run_disabled_tests flag has
// disabled (or it is disabled but the also_run_disabled_tests flag has
// been specified) and its full name matches the user-specified filter.
// been specified) and its full name matches the user-specified filter.
...
@@ -712,7 +709,7 @@ class GTEST_API_ TestInfo {
...
@@ -712,7 +709,7 @@ class GTEST_API_ TestInfo {
bool
is_reportable
()
const
{
bool
is_reportable
()
const
{
// The XML report includes tests matching the filter, excluding those
// The XML report includes tests matching the filter, excluding those
// run in other shards.
// run in other shards.
return
matches_filter_
&&
!
is_in_another_shard_
;
return
matches_filter_
;
}
}
// Returns the result of the test.
// Returns the result of the test.
...
...
googletest/test/gtest_xml_output_unittest.py
View file @
b9e29783
...
@@ -40,24 +40,17 @@ import re
...
@@ -40,24 +40,17 @@ import re
import
sys
import
sys
from
xml.dom
import
minidom
,
Node
from
xml.dom
import
minidom
,
Node
IS_LINUX
=
os
.
name
==
'posix'
and
os
.
uname
()[
0
]
==
'Linux'
import
gtest_test_utils
import
gtest_test_utils
import
gtest_xml_test_utils
import
gtest_xml_test_utils
GTEST_FILTER_FLAG
=
'--gtest_filter'
GTEST_FILTER_FLAG
=
'--gtest_filter'
GTEST_LIST_TESTS_FLAG
=
'--gtest_list_tests'
GTEST_LIST_TESTS_FLAG
=
'--gtest_list_tests'
GTEST_OUTPUT_FLAG
=
'--gtest_output'
GTEST_OUTPUT_FLAG
=
"--gtest_output"
GTEST_DEFAULT_OUTPUT_FILE
=
'test_detail.xml'
GTEST_DEFAULT_OUTPUT_FILE
=
"test_detail.xml"
GTEST_PROGRAM_NAME
=
'gtest_xml_output_unittest_'
GTEST_PROGRAM_NAME
=
"gtest_xml_output_unittest_"
# The environment variables for test sharding.
TOTAL_SHARDS_ENV_VAR
=
'TEST_TOTAL_SHARDS'
SHARD_INDEX_ENV_VAR
=
'TEST_SHARD_INDEX'
SHARD_STATUS_FILE_ENV_VAR
=
'GTEST_SHARD_STATUS_FILE'
SUPPORTS_STACK_TRACES
=
IS_LINUX
SUPPORTS_STACK_TRACES
=
False
if
SUPPORTS_STACK_TRACES
:
if
SUPPORTS_STACK_TRACES
:
STACK_TRACE_TEMPLATE
=
'
\n
Stack trace:
\n
*'
STACK_TRACE_TEMPLATE
=
'
\n
Stack trace:
\n
*'
...
@@ -148,19 +141,6 @@ EXPECTED_FILTERED_TEST_XML = """<?xml version="1.0" encoding="UTF-8"?>
...
@@ -148,19 +141,6 @@ EXPECTED_FILTERED_TEST_XML = """<?xml version="1.0" encoding="UTF-8"?>
</testsuite>
</testsuite>
</testsuites>"""
</testsuites>"""
EXPECTED_SHARDED_TEST_XML
=
"""<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="3" failures="0" disabled="0" errors="0" time="*" timestamp="*" name="AllTests" ad_hoc_property="42">
<testsuite name="SuccessfulTest" tests="1" failures="0" disabled="0" errors="0" time="*">
<testcase name="Succeeds" status="run" time="*" classname="SuccessfulTest"/>
</testsuite>
<testsuite name="NoFixtureTest" tests="1" failures="0" disabled="0" errors="0" time="*">
<testcase name="RecordProperty" status="run" time="*" classname="NoFixtureTest" key="1"/>
</testsuite>
<testsuite name="Single/ValueParamTest" tests="1" failures="0" disabled="0" errors="0" time="*">
<testcase name="AnotherTestThatHasValueParamAttribute/1" value_param="42" status="run" time="*" classname="Single/ValueParamTest" />
</testsuite>
</testsuites>"""
EXPECTED_EMPTY_XML
=
"""<?xml version="1.0" encoding="UTF-8"?>
EXPECTED_EMPTY_XML
=
"""<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="0" failures="0" disabled="0" errors="0" time="*"
<testsuites tests="0" failures="0" disabled="0" errors="0" time="*"
timestamp="*" name="AllTests">
timestamp="*" name="AllTests">
...
@@ -202,7 +182,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -202,7 +182,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
Runs a test program that generates an empty XML output, and checks if
Runs a test program that generates an empty XML output, and checks if
the timestamp attribute in the testsuites tag is valid.
the timestamp attribute in the testsuites tag is valid.
"""
"""
actual
=
self
.
_GetXmlOutput
(
'gtest_no_test_unittest'
,
[],
{},
0
)
actual
=
self
.
_GetXmlOutput
(
'gtest_no_test_unittest'
,
[],
0
)
date_time_str
=
actual
.
documentElement
.
getAttributeNode
(
'timestamp'
).
value
date_time_str
=
actual
.
documentElement
.
getAttributeNode
(
'timestamp'
).
value
# datetime.strptime() is only available in Python 2.5+ so we have to
# datetime.strptime() is only available in Python 2.5+ so we have to
# parse the expected datetime manually.
# parse the expected datetime manually.
...
@@ -232,7 +212,8 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -232,7 +212,8 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
'gtest_no_test_unittest'
)
'gtest_no_test_unittest'
)
try
:
try
:
os
.
remove
(
output_file
)
os
.
remove
(
output_file
)
except
OSError
,
e
:
except
OSError
:
e
=
sys
.
exc_info
()[
1
]
if
e
.
errno
!=
errno
.
ENOENT
:
if
e
.
errno
!=
errno
.
ENOENT
:
raise
raise
...
@@ -282,22 +263,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -282,22 +263,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
self
.
_TestXmlOutput
(
GTEST_PROGRAM_NAME
,
EXPECTED_FILTERED_TEST_XML
,
0
,
self
.
_TestXmlOutput
(
GTEST_PROGRAM_NAME
,
EXPECTED_FILTERED_TEST_XML
,
0
,
extra_args
=
[
'%s=SuccessfulTest.*'
%
GTEST_FILTER_FLAG
])
extra_args
=
[
'%s=SuccessfulTest.*'
%
GTEST_FILTER_FLAG
])
def
testShardedTestXmlOutput
(
self
):
def
_GetXmlOutput
(
self
,
gtest_prog_name
,
extra_args
,
expected_exit_code
):
"""Verifies XML output when run using multiple shards.
Runs a test program that executes only one shard and verifies that tests
from other shards do not show up in the XML output.
"""
self
.
_TestXmlOutput
(
GTEST_PROGRAM_NAME
,
EXPECTED_SHARDED_TEST_XML
,
0
,
extra_env
=
{
SHARD_INDEX_ENV_VAR
:
'0'
,
TOTAL_SHARDS_ENV_VAR
:
'10'
})
def
_GetXmlOutput
(
self
,
gtest_prog_name
,
extra_args
,
extra_env
,
expected_exit_code
):
"""
"""
Returns the xml output generated by running the program gtest_prog_name.
Returns the xml output generated by running the program gtest_prog_name.
Furthermore, the program's exit code must be expected_exit_code.
Furthermore, the program's exit code must be expected_exit_code.
...
@@ -308,11 +274,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -308,11 +274,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
command
=
([
gtest_prog_path
,
'%s=xml:%s'
%
(
GTEST_OUTPUT_FLAG
,
xml_path
)]
+
command
=
([
gtest_prog_path
,
'%s=xml:%s'
%
(
GTEST_OUTPUT_FLAG
,
xml_path
)]
+
extra_args
)
extra_args
)
environ_copy
=
os
.
environ
.
copy
()
p
=
gtest_test_utils
.
Subprocess
(
command
)
if
extra_env
:
environ_copy
.
update
(
extra_env
)
p
=
gtest_test_utils
.
Subprocess
(
command
,
env
=
environ_copy
)
if
p
.
terminated_by_signal
:
if
p
.
terminated_by_signal
:
self
.
assert_
(
False
,
self
.
assert_
(
False
,
'%s was killed by signal %d'
%
(
gtest_prog_name
,
p
.
signal
))
'%s was killed by signal %d'
%
(
gtest_prog_name
,
p
.
signal
))
...
@@ -326,7 +288,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -326,7 +288,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
return
actual
return
actual
def
_TestXmlOutput
(
self
,
gtest_prog_name
,
expected_xml
,
def
_TestXmlOutput
(
self
,
gtest_prog_name
,
expected_xml
,
expected_exit_code
,
extra_args
=
None
,
extra_env
=
None
):
expected_exit_code
,
extra_args
=
None
):
"""
"""
Asserts that the XML document generated by running the program
Asserts that the XML document generated by running the program
gtest_prog_name matches expected_xml, a string containing another
gtest_prog_name matches expected_xml, a string containing another
...
@@ -335,7 +297,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
...
@@ -335,7 +297,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
"""
"""
actual
=
self
.
_GetXmlOutput
(
gtest_prog_name
,
extra_args
or
[],
actual
=
self
.
_GetXmlOutput
(
gtest_prog_name
,
extra_args
or
[],
extra_env
or
{},
expected_exit_code
)
expected_exit_code
)
expected
=
minidom
.
parseString
(
expected_xml
)
expected
=
minidom
.
parseString
(
expected_xml
)
self
.
NormalizeXml
(
actual
.
documentElement
)
self
.
NormalizeXml
(
actual
.
documentElement
)
self
.
AssertEquivalentNodes
(
expected
.
documentElement
,
self
.
AssertEquivalentNodes
(
expected
.
documentElement
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment