Formatting
This commit is contained in:
parent
6a357225af
commit
8cb6f62ec9
|
@ -28,13 +28,12 @@
|
|||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
"""Unit test for Google Test's --gtest_list_tests flag.
|
||||
|
||||
A user can ask Google Test to list all tests by specifying the
|
||||
--gtest_list_tests flag. If output is requested, via --gtest_output=xml
|
||||
or --gtest_output=json, the tests are listed, with extra information in the
|
||||
output file.
|
||||
--gtest_list_tests flag. If output is requested, via --gtest_output=xml
|
||||
or --gtest_output=json, the tests are listed, with extra information in the
|
||||
output file.
|
||||
This script tests such functionality by invoking gtest_list_output_unittest_
|
||||
(a program written with Google Test) the command line flags.
|
||||
"""
|
||||
|
@ -42,13 +41,11 @@ This script tests such functionality by invoking gtest_list_output_unittest_
|
|||
import os
|
||||
import re
|
||||
import gtest_test_utils
|
||||
import gtest_xml_test_utils
|
||||
|
||||
GTEST_LIST_TESTS_FLAG = '--gtest_list_tests'
|
||||
GTEST_OUTPUT_FLAG = '--gtest_output'
|
||||
|
||||
|
||||
EXPECTED_XML = """<\?xml version="1.0" encoding="UTF-8"\?>
|
||||
EXPECTED_XML = r"""<\?xml version="1.0" encoding="UTF-8"\?>
|
||||
<testsuites tests="2" name="AllTests">
|
||||
<testsuite name="FooTest" tests="2">
|
||||
<testcase name="Test1" file=".*gtest_list_output_unittest_.cc" line="43" />
|
||||
|
@ -57,7 +54,7 @@ EXPECTED_XML = """<\?xml version="1.0" encoding="UTF-8"\?>
|
|||
</testsuites>
|
||||
"""
|
||||
|
||||
EXPECTED_JSON = """{
|
||||
EXPECTED_JSON = r"""{
|
||||
"tests": 2,
|
||||
"name": "AllTests",
|
||||
"testsuites": \[
|
||||
|
@ -81,10 +78,11 @@ EXPECTED_JSON = """{
|
|||
}
|
||||
"""
|
||||
|
||||
|
||||
class GTestListTestsOutputUnitTest(gtest_test_utils.TestCase):
|
||||
"""Unit test for Google Test's list tests with output to file functionality.
|
||||
"""
|
||||
Unit test for Google Test's list tests with output to file functionality.
|
||||
"""
|
||||
|
||||
def testXml(self):
|
||||
"""Verifies XML output for listing tests in a Google Test binary.
|
||||
|
||||
|
@ -100,36 +98,30 @@ class GTestListTestsOutputUnitTest(gtest_test_utils.TestCase):
|
|||
tests that the XML output is expected.
|
||||
"""
|
||||
self._TestOutput('json', EXPECTED_JSON)
|
||||
def _GetOutput(self, format):
|
||||
"""
|
||||
Retrieves the content from the output file
|
||||
"""
|
||||
file_path = os.path.join(gtest_test_utils.GetTempDir(),
|
||||
'test_out.' + format)
|
||||
gtest_prog_path = gtest_test_utils.GetTestExecutablePath('gtest_list_output_unittest_')
|
||||
|
||||
command = ([gtest_prog_path,
|
||||
'%s=%s:%s' % (GTEST_OUTPUT_FLAG, format, file_path),
|
||||
'--gtest_list_tests'])
|
||||
def _GetOutput(self, out_format):
|
||||
file_path = os.path.join(gtest_test_utils.GetTempDir(),
|
||||
'test_out.' + out_format)
|
||||
gtest_prog_path = gtest_test_utils.GetTestExecutablePath(
|
||||
'gtest_list_output_unittest_')
|
||||
|
||||
command = ([
|
||||
gtest_prog_path,
|
||||
'%s=%s:%s' % (GTEST_OUTPUT_FLAG, out_format, file_path),
|
||||
'--gtest_list_tests'
|
||||
])
|
||||
environ_copy = os.environ.copy()
|
||||
p = gtest_test_utils.Subprocess(
|
||||
command,
|
||||
env=environ_copy,
|
||||
working_dir=gtest_test_utils.GetTempDir())
|
||||
|
||||
command, env=environ_copy, working_dir=gtest_test_utils.GetTempDir())
|
||||
|
||||
self.assert_(p.exited)
|
||||
self.assertEquals(0, p.exit_code)
|
||||
with open(file_path) as f:
|
||||
result = f.read()
|
||||
result = f.read()
|
||||
return result
|
||||
|
||||
|
||||
|
||||
def _TestOutput(self, format, expected_output):
|
||||
"""
|
||||
Tests that the output is similar to the expected
|
||||
"""
|
||||
actual = self._GetOutput(format)
|
||||
def _TestOutput(self, test_format, expected_output):
|
||||
actual = self._GetOutput(test_format)
|
||||
actual_lines = actual.splitlines()
|
||||
expected_lines = expected_output.splitlines()
|
||||
line_count = 0
|
||||
|
@ -137,15 +129,13 @@ class GTestListTestsOutputUnitTest(gtest_test_utils.TestCase):
|
|||
expected_line = expected_lines[line_count]
|
||||
expected_line_re = re.compile(expected_line.strip())
|
||||
self.assert_(
|
||||
expected_line_re.match(actual_line.strip()),
|
||||
('actual output of "%s",\n'
|
||||
'which does not match expected regex of "%s"\n'
|
||||
'on line %d' %
|
||||
(actual, expected_output, line_count))
|
||||
)
|
||||
expected_line_re.match(actual_line.strip()),
|
||||
('actual output of "%s",\n'
|
||||
'which does not match expected regex of "%s"\n'
|
||||
'on line %d' % (actual, expected_output, line_count)))
|
||||
line_count = line_count + 1
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
os.environ['GTEST_STACK_TRACE_DEPTH'] = '1'
|
||||
gtest_test_utils.Main()
|
||||
gtest_test_utils.Main()
|
||||
|
|
Loading…
Reference in New Issue
Block a user