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
a7a7f51d
Unverified
Commit
a7a7f51d
authored
Mar 05, 2018
by
Tanzinul Islam
Committed by
GitHub
Mar 05, 2018
Browse files
Merge branch 'master' into fix_death_test_child_mingw_wer_issue1116
parents
4ba3803f
6c73adfc
Changes
138
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
169 additions
and
193 deletions
+169
-193
googletest/test/gtest_pred_impl_unittest.cc
googletest/test/gtest_pred_impl_unittest.cc
+1
-1
googletest/test/gtest_prod_test.cc
googletest/test/gtest_prod_test.cc
+2
-2
googletest/test/gtest_repeat_test.cc
googletest/test/gtest_repeat_test.cc
+2
-19
googletest/test/gtest_stress_test.cc
googletest/test/gtest_stress_test.cc
+0
-6
googletest/test/gtest_test_utils.py
googletest/test/gtest_test_utils.py
+11
-13
googletest/test/gtest_throw_on_failure_test.py
googletest/test/gtest_throw_on_failure_test.py
+1
-1
googletest/test/gtest_uninitialized_test.py
googletest/test/gtest_uninitialized_test.py
+5
-5
googletest/test/gtest_uninitialized_test_.cc
googletest/test/gtest_uninitialized_test_.cc
+2
-2
googletest/test/gtest_unittest.cc
googletest/test/gtest_unittest.cc
+93
-110
googletest/test/gtest_xml_outfile1_test_.cc
googletest/test/gtest_xml_outfile1_test_.cc
+0
-1
googletest/test/gtest_xml_outfile2_test_.cc
googletest/test/gtest_xml_outfile2_test_.cc
+0
-1
googletest/test/gtest_xml_outfiles_test.py
googletest/test/gtest_xml_outfiles_test.py
+0
-4
googletest/test/gtest_xml_output_unittest.py
googletest/test/gtest_xml_output_unittest.py
+46
-13
googletest/test/gtest_xml_output_unittest_.cc
googletest/test/gtest_xml_output_unittest_.cc
+0
-2
googletest/test/gtest_xml_test_utils.py
googletest/test/gtest_xml_test_utils.py
+3
-10
googletest/test/production.cc
googletest/test/production.cc
+1
-1
googletest/test/production.h
googletest/test/production.h
+1
-1
googletest/xcode/Scripts/versiongenerate.py
googletest/xcode/Scripts/versiongenerate.py
+1
-1
No files found.
googletest/test/gtest_pred_impl_unittest.cc
View file @
a7a7f51d
...
...
@@ -27,7 +27,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// This file is AUTOMATICALLY GENERATED on
10/31
/201
1
by command
// This file is AUTOMATICALLY GENERATED on
01/02
/201
8
by command
// 'gen_gtest_pred_impl.py 5'. DO NOT EDIT BY HAND!
// Regression test for gtest_pred_impl.h
...
...
googletest/test/gtest_prod_test.cc
View file @
a7a7f51d
...
...
@@ -29,10 +29,10 @@
//
// Author: wan@google.com (Zhanyong Wan)
//
// Unit test for
include/
gtest/gtest_prod.h.
// Unit test for gtest/gtest_prod.h.
#include "production.h"
#include "gtest/gtest.h"
#include "test/production.h"
// Tests that private members can be accessed from a TEST declared as
// a friend of the class.
...
...
googletest/test/gtest_repeat_test.cc
View file @
a7a7f51d
...
...
@@ -34,15 +34,7 @@
#include <stdlib.h>
#include <iostream>
#include "gtest/gtest.h"
// Indicates that this translation unit is part of Google Test's
// implementation. It must come before gtest-internal-inl.h is
// included, or there will be a compiler error. This trick is to
// prevent a user from accidentally including gtest-internal-inl.h in
// their code.
#define GTEST_IMPLEMENTATION_ 1
#include "src/gtest-internal-inl.h"
#undef GTEST_IMPLEMENTATION_
namespace
testing
{
...
...
@@ -75,7 +67,7 @@ namespace {
// Used for verifying that global environment set-up and tear-down are
// inside the gtest_repeat loop.
// inside the
--
gtest_repeat loop.
int
g_environment_set_up_count
=
0
;
int
g_environment_tear_down_count
=
0
;
...
...
@@ -119,7 +111,6 @@ TEST(BarDeathTest, ThreadSafeAndFast) {
EXPECT_DEATH_IF_SUPPORTED
(
::
testing
::
internal
::
posix
::
Abort
(),
""
);
}
#if GTEST_HAS_PARAM_TEST
int
g_param_test_count
=
0
;
const
int
kNumberOfParamTests
=
10
;
...
...
@@ -135,7 +126,6 @@ TEST_P(MyParamTest, ShouldPass) {
INSTANTIATE_TEST_CASE_P
(
MyParamSequence
,
MyParamTest
,
testing
::
Range
(
0
,
kNumberOfParamTests
));
#endif // GTEST_HAS_PARAM_TEST
// Resets the count for each test.
void
ResetCounts
()
{
...
...
@@ -144,9 +134,7 @@ void ResetCounts() {
g_should_fail_count
=
0
;
g_should_pass_count
=
0
;
g_death_test_count
=
0
;
#if GTEST_HAS_PARAM_TEST
g_param_test_count
=
0
;
#endif // GTEST_HAS_PARAM_TEST
}
// Checks that the count for each test is expected.
...
...
@@ -156,9 +144,7 @@ void CheckCounts(int expected) {
GTEST_CHECK_INT_EQ_
(
expected
,
g_should_fail_count
);
GTEST_CHECK_INT_EQ_
(
expected
,
g_should_pass_count
);
GTEST_CHECK_INT_EQ_
(
expected
,
g_death_test_count
);
#if GTEST_HAS_PARAM_TEST
GTEST_CHECK_INT_EQ_
(
expected
*
kNumberOfParamTests
,
g_param_test_count
);
#endif // GTEST_HAS_PARAM_TEST
}
// Tests the behavior of Google Test when --gtest_repeat is not specified.
...
...
@@ -201,9 +187,7 @@ void TestRepeatWithFilterForSuccessfulTests(int repeat) {
GTEST_CHECK_INT_EQ_
(
0
,
g_should_fail_count
);
GTEST_CHECK_INT_EQ_
(
repeat
,
g_should_pass_count
);
GTEST_CHECK_INT_EQ_
(
repeat
,
g_death_test_count
);
#if GTEST_HAS_PARAM_TEST
GTEST_CHECK_INT_EQ_
(
repeat
*
kNumberOfParamTests
,
g_param_test_count
);
#endif // GTEST_HAS_PARAM_TEST
}
// Tests using --gtest_repeat when --gtest_filter specifies a set of
...
...
@@ -219,15 +203,14 @@ void TestRepeatWithFilterForFailedTests(int repeat) {
GTEST_CHECK_INT_EQ_
(
repeat
,
g_should_fail_count
);
GTEST_CHECK_INT_EQ_
(
0
,
g_should_pass_count
);
GTEST_CHECK_INT_EQ_
(
0
,
g_death_test_count
);
#if GTEST_HAS_PARAM_TEST
GTEST_CHECK_INT_EQ_
(
0
,
g_param_test_count
);
#endif // GTEST_HAS_PARAM_TEST
}
}
// namespace
int
main
(
int
argc
,
char
**
argv
)
{
testing
::
InitGoogleTest
(
&
argc
,
argv
);
testing
::
AddGlobalTestEnvironment
(
new
MyEnvironment
);
TestRepeatUnspecified
();
...
...
googletest/test/gtest_stress_test.cc
View file @
a7a7f51d
...
...
@@ -34,15 +34,9 @@
#include "gtest/gtest.h"
#include <iostream>
#include <vector>
// We must define this macro in order to #include
// gtest-internal-inl.h. This is how Google Test prevents a user from
// accidentally depending on its internal implementation.
#define GTEST_IMPLEMENTATION_ 1
#include "src/gtest-internal-inl.h"
#undef GTEST_IMPLEMENTATION_
#if GTEST_IS_THREADSAFE
...
...
googletest/test/gtest_test_utils.py
View file @
a7a7f51d
#!/usr/bin/env python
#
# Copyright 2006, Google Inc.
# All rights reserved.
#
...
...
@@ -30,19 +28,24 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""Unit test utilities for Google C++ Testing Framework."""
# Suppresses the 'Import not at the top of the file' lint complaint.
# pylint: disable-msg=C6204
__author__
=
'wan@google.com (Zhanyong Wan)'
import
atexit
import
os
import
shutil
import
sys
IS_LINUX
=
os
.
name
==
'posix'
and
os
.
uname
()[
0
]
==
'Linux'
IS_WINDOWS
=
os
.
name
==
'nt'
IS_CYGWIN
=
os
.
name
==
'posix'
and
'CYGWIN'
in
os
.
uname
()[
0
]
import
atexit
import
shutil
import
tempfile
import
unittest
_test_module
=
unittest
# Suppresses the 'Import not at the top of the file' lint complaint.
# pylint: disable-msg=C6204
try
:
import
subprocess
_SUBPROCESS_MODULE_AVAILABLE
=
True
...
...
@@ -53,9 +56,6 @@ except:
GTEST_OUTPUT_VAR_NAME
=
'GTEST_OUTPUT'
IS_WINDOWS
=
os
.
name
==
'nt'
IS_CYGWIN
=
os
.
name
==
'posix'
and
'CYGWIN'
in
os
.
uname
()[
0
]
# The environment variable for specifying the path to the premature-exit file.
PREMATURE_EXIT_FILE_ENV_VAR
=
'TEST_PREMATURE_EXIT_FILE'
...
...
@@ -145,8 +145,6 @@ atexit.register(_RemoveTempDir)
def
GetTempDir
():
"""Returns a directory for temporary files."""
global
_temp_dir
if
not
_temp_dir
:
_temp_dir
=
tempfile
.
mkdtemp
()
...
...
@@ -178,7 +176,7 @@ def GetTestExecutablePath(executable_name, build_dir=None):
'Unable to find the test binary "%s". Please make sure to provide
\n
'
'a path to the binary via the --build_dir flag or the BUILD_DIR
\n
'
'environment variable.'
%
path
)
sys
.
stdout
.
write
(
message
)
print
>>
sys
.
stderr
,
message
sys
.
exit
(
1
)
return
path
...
...
@@ -229,7 +227,7 @@ class Subprocess:
combined in a string.
"""
# The subprocess module is the prefer
r
able way of running programs
# The subprocess module is the preferable way of running programs
# since it is available and behaves consistently on all platforms,
# including Windows. But it is only available starting in python 2.4.
# In earlier python versions, we revert to the popen2 module, which is
...
...
googletest/test/gtest_throw_on_failure_test.py
View file @
a7a7f51d
...
...
@@ -70,7 +70,7 @@ def SetEnvVar(env_var, value):
def
Run
(
command
):
"""Runs a command; returns True/False if its exit code is/isn't 0."""
print
(
'Running "%s". . .'
%
' '
.
join
(
command
)
)
print
'Running "%s". . .'
%
' '
.
join
(
command
)
p
=
gtest_test_utils
.
Subprocess
(
command
)
return
p
.
exited
and
p
.
exit_code
==
0
...
...
googletest/test/gtest_uninitialized_test.py
View file @
a7a7f51d
...
...
@@ -33,9 +33,9 @@
__author__
=
'wan@google.com (Zhanyong Wan)'
import
os
import
gtest_test_utils
COMMAND
=
gtest_test_utils
.
GetTestExecutablePath
(
'gtest_uninitialized_test_'
)
...
...
@@ -46,8 +46,8 @@ def Assert(condition):
def
AssertEq
(
expected
,
actual
):
if
expected
!=
actual
:
print
(
'Expected: %s'
%
(
expected
,)
)
print
(
' Actual: %s'
%
(
actual
,)
)
print
'Expected: %s'
%
(
expected
,)
print
' Actual: %s'
%
(
actual
,)
raise
AssertionError
...
...
@@ -56,8 +56,8 @@ def TestExitCodeAndOutput(command):
# Verifies that 'command' exits with code 1.
p
=
gtest_test_utils
.
Subprocess
(
command
)
Assert
(
p
.
exited
)
Assert
Eq
(
1
,
p
.
exit_code
)
if
p
.
exited
and
p
.
exit_code
==
0
:
Assert
(
'IMPORTANT NOTICE'
in
p
.
output
);
Assert
(
'InitGoogleTest'
in
p
.
output
)
...
...
googletest/test/gtest_uninitialized_test_.cc
View file @
a7a7f51d
...
...
@@ -34,8 +34,8 @@
TEST
(
DummyTest
,
Dummy
)
{
// This test doesn't verify anything. We just need it to create a
// realistic stage for testing the behavior of Google Test when
// RUN_ALL_TESTS() is called without
testing::InitGoogleTest() being
// called first.
// RUN_ALL_TESTS() is called without
//
testing::InitGoogleTest() being
called first.
}
int
main
()
{
...
...
googletest/test/gtest_unittest.cc
View file @
a7a7f51d
...
...
@@ -34,9 +34,9 @@
#include "gtest/gtest.h"
// Verifies that the command line flag variables can be accessed
//
in
code once
<
gtest/gtest.h
>
has been
#included.
// Do not move it after other #includes.
// Verifies that the command line flag variables can be accessed
in
// code once
"
gtest/gtest.h
"
has been
//
#included.
Do not move it after other
gtest
#includes.
TEST
(
CommandLineFlagsTest
,
CanBeAccessedInCodeOnceGTestHIsIncluded
)
{
bool
dummy
=
testing
::
GTEST_FLAG
(
also_run_disabled_tests
)
||
testing
::
GTEST_FLAG
(
break_on_failure
)
...
...
@@ -66,15 +66,7 @@ TEST(CommandLineFlagsTest, CanBeAccessedInCodeOnceGTestHIsIncluded) {
#include <ostream>
#include "gtest/gtest-spi.h"
// Indicates that this translation unit is part of Google Test's
// implementation. It must come before gtest-internal-inl.h is
// included, or there will be a compiler error. This trick is to
// prevent a user from accidentally including gtest-internal-inl.h in
// their code.
#define GTEST_IMPLEMENTATION_ 1
#include "src/gtest-internal-inl.h"
#undef GTEST_IMPLEMENTATION_
namespace
testing
{
namespace
internal
{
...
...
@@ -546,7 +538,7 @@ TEST(CodePointToUtf8Test, CanEncode8To11Bits) {
// 101 0111 0110 => 110-10101 10-110110
// Some compilers (e.g., GCC on MinGW) cannot handle non-ASCII codepoints
// in wide strings and wide chars. In order to accomodate them, we have to
// in wide strings and wide chars. In order to accom
m
odate them, we have to
// introduce such character constants as integers.
EXPECT_EQ
(
"
\xD5\xB6
"
,
CodePointToUtf8
(
static_cast
<
wchar_t
>
(
0x576
)));
...
...
@@ -1787,7 +1779,7 @@ TEST(Int32FromEnvOrDieDeathTest, AbortsOnFailure) {
}
// Tests that Int32FromEnvOrDie() aborts with an error message
// if the variable cannot be represnted by an Int32.
// if the variable cannot be repres
e
nted by an Int32.
TEST
(
Int32FromEnvOrDieDeathTest
,
AbortsOnInt32Overflow
)
{
SetEnv
(
GTEST_FLAG_PREFIX_UPPER_
"VAR"
,
"1234567891234567891234"
);
EXPECT_DEATH_IF_SUPPORTED
(
...
...
@@ -2096,7 +2088,7 @@ class UnitTestRecordPropertyTestEnvironment : public Environment {
};
// This will test property recording outside of any test or test case.
Environment
*
record_property_env
GTEST_ATTRIBUTE_UNUSED_
=
static
Environment
*
record_property_env
=
AddGlobalTestEnvironment
(
new
UnitTestRecordPropertyTestEnvironment
);
// This group of tests is for predicate assertions (ASSERT_PRED*, etc)
...
...
@@ -2429,9 +2421,8 @@ TEST(StringAssertionTest, ASSERT_STREQ) {
const
char
p2
[]
=
"good"
;
ASSERT_STREQ
(
p1
,
p2
);
EXPECT_FATAL_FAILURE
(
ASSERT_STREQ
(
"bad"
,
"good"
),
"Expected equality of these values:
\n
\"
bad
\"\n
\"
good
\"
"
);
EXPECT_FATAL_FAILURE
(
ASSERT_STREQ
(
"bad"
,
"good"
),
"
\"
bad
\"\n
\"
good
\"
"
);
}
// Tests ASSERT_STREQ with NULL arguments.
...
...
@@ -3369,7 +3360,7 @@ class NoFatalFailureTest : public Test {
void
DoAssertNoFatalFailureOnFails
()
{
ASSERT_NO_FATAL_FAILURE
(
Fails
());
ADD_FAILURE
()
<<
"shold not reach here."
;
ADD_FAILURE
()
<<
"sho
u
ld not reach here."
;
}
void
DoExpectNoFatalFailureOnFails
()
{
...
...
@@ -3666,7 +3657,7 @@ TEST(AssertionTest, AssertFalseWithAssertionResult) {
}
#ifdef __BORLANDC__
// Restores warnings after previous "#pragma option push" supressed them
// Restores warnings after previous "#pragma option push" sup
p
ressed them
# pragma option pop
#endif
...
...
@@ -3821,7 +3812,7 @@ void TestEq1(int x) {
// Tests calling a test subroutine that's not part of a fixture.
TEST
(
AssertionTest
,
NonFixtureSubroutine
)
{
EXPECT_FATAL_FAILURE
(
TestEq1
(
2
),
"Which is: 2"
);
"
x
\n
Which is: 2"
);
}
// An uncopyable class.
...
...
@@ -3960,13 +3951,13 @@ TEST(AssertionTest, AnonymousEnum) {
// ICE's in C++Builder.
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
kCaseA
,
kCaseB
),
"kCaseB"
);
"
kCaseB
\n
Which is:
"
);
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
kCaseA
,
kCaseC
),
"Which is: 42"
);
"
\n
Which is: 42"
);
# endif
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
kCaseA
,
kCaseC
),
"Which is: -1"
);
"
\n
Which is: -1"
);
}
#endif // !GTEST_OS_MAC && !defined(__SUNPRO_CC)
...
...
@@ -4392,7 +4383,7 @@ TEST(ExpectTest, ExpectFalseWithAssertionResult) {
}
#ifdef __BORLANDC__
// Restores warnings after previous "#pragma option push" supressed them
// Restores warnings after previous "#pragma option push" sup
p
ressed them
# pragma option pop
#endif
...
...
@@ -4434,7 +4425,7 @@ TEST(ExpectTest, EXPECT_EQ_NULL) {
// A failure.
int
n
=
0
;
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
NULL
,
&
n
),
"&n
\n
"
);
"
&n
\n
Which is:
"
);
}
#endif // GTEST_CAN_COMPARE_NULL
...
...
@@ -4450,7 +4441,7 @@ TEST(ExpectTest, EXPECT_EQ_0) {
// A failure.
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
0
,
5.6
),
"
Expected equality of these values:
\n
0
\n
5.6"
);
" 0
\n
5.6"
);
}
// Tests EXPECT_NE.
...
...
@@ -4550,7 +4541,7 @@ TEST(ExpectTest, EXPECT_ANY_THROW) {
TEST
(
ExpectTest
,
ExpectPrecedence
)
{
EXPECT_EQ
(
1
<
2
,
true
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
true
,
true
&&
false
),
"true && false"
);
"
true &&
false
\n
Which is:
false"
);
}
...
...
@@ -4697,14 +4688,14 @@ TEST(EqAssertionTest, Bool) {
EXPECT_FATAL_FAILURE
({
bool
false_value
=
false
;
ASSERT_EQ
(
false_value
,
true
);
},
"Which is: false"
);
},
"
false_value
\n
Which is: false
\n
true
"
);
}
// Tests using int values in {EXPECT|ASSERT}_EQ.
TEST
(
EqAssertionTest
,
Int
)
{
ASSERT_EQ
(
32
,
32
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
32
,
33
),
"33"
);
"
32
\n
33"
);
}
// Tests using time_t values in {EXPECT|ASSERT}_EQ.
...
...
@@ -4721,9 +4712,9 @@ TEST(EqAssertionTest, Char) {
ASSERT_EQ
(
'z'
,
'z'
);
const
char
ch
=
'b'
;
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
'\0'
,
ch
),
"
ch
"
);
"
ch
\n
Which is: 'b'
"
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
'a'
,
ch
),
"
ch
"
);
"
ch
\n
Which is: 'b'
"
);
}
// Tests using wchar_t values in {EXPECT|ASSERT}_EQ.
...
...
@@ -4743,7 +4734,7 @@ TEST(EqAssertionTest, WideChar) {
"wchar"
);
wchar
=
0x8119
;
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
static_cast
<
wchar_t
>
(
0x8120
),
wchar
),
"wchar"
);
"
wchar
\n
Which is: L'
"
);
}
// Tests using ::std::string values in {EXPECT|ASSERT}_EQ.
...
...
@@ -4772,8 +4763,7 @@ TEST(EqAssertionTest, StdString) {
static
::
std
::
string
str3
(
str1
);
str3
.
at
(
2
)
=
'\0'
;
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
str1
,
str3
),
" str3
\n
"
" Which is:
\"
A
\\
0 in the middle
\"
"
);
" str3
\n
Which is:
\"
A
\\
0 in the middle
\"
"
);
}
#if GTEST_HAS_STD_WSTRING
...
...
@@ -4893,9 +4883,9 @@ TEST(EqAssertionTest, CharPointer) {
ASSERT_EQ
(
p1
,
p1
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
p0
,
p2
),
"
p2
"
);
"
p2
\n
Which is:
"
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
p1
,
p2
),
"
p2
"
);
"
p2
\n
Which is:
"
);
EXPECT_FATAL_FAILURE
(
ASSERT_EQ
(
reinterpret_cast
<
char
*>
(
0x1234
),
reinterpret_cast
<
char
*>
(
0xABC0
)),
"ABC0"
);
...
...
@@ -4915,9 +4905,9 @@ TEST(EqAssertionTest, WideCharPointer) {
EXPECT_EQ
(
p0
,
p0
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
p0
,
p2
),
"
p2
"
);
"
p2
\n
Which is:
"
);
EXPECT_NONFATAL_FAILURE
(
EXPECT_EQ
(
p1
,
p2
),
"
p2
"
);
"
p2
\n
Which is:
"
);
void
*
pv3
=
(
void
*
)
0x1234
;
// NOLINT
void
*
pv4
=
(
void
*
)
0xABC0
;
// NOLINT
const
wchar_t
*
p3
=
reinterpret_cast
<
const
wchar_t
*>
(
pv3
);
...
...
@@ -5462,7 +5452,8 @@ TEST_F(SetUpTestCaseTest, Test2) {
EXPECT_STREQ
(
"123"
,
shared_resource_
);
}
// The InitGoogleTestTest test case tests testing::InitGoogleTest().
// The ParseFlagsTest test case tests ParseGoogleTestFlagsOnly.
// The Flags struct stores a copy of all Google Test flags.
struct
Flags
{
...
...
@@ -5548,8 +5539,8 @@ struct Flags {
return
flags
;
}
// Creates a Flags struct where the gtest_random_seed flag has
//
the given
value.
// Creates a Flags struct where the gtest_random_seed flag has
the given
// value.
static
Flags
RandomSeed
(
Int32
random_seed
)
{
Flags
flags
;
flags
.
random_seed
=
random_seed
;
...
...
@@ -5564,8 +5555,8 @@ struct Flags {
return
flags
;
}
// Creates a Flags struct where the gtest_shuffle flag has
//
the given
value.
// Creates a Flags struct where the gtest_shuffle flag has
the given
// value.
static
Flags
Shuffle
(
bool
shuffle
)
{
Flags
flags
;
flags
.
shuffle
=
shuffle
;
...
...
@@ -5613,8 +5604,8 @@ struct Flags {
bool
throw_on_failure
;
};
// Fixture for testing
Init
GoogleTest().
class
InitGoogleTest
Test
:
public
Test
{
// Fixture for testing
Parse
GoogleTest
FlagsOnly
().
class
ParseFlags
Test
:
public
Test
{
protected:
// Clears the flags before each test.
virtual
void
SetUp
()
{
...
...
@@ -5675,16 +5666,16 @@ class InitGoogleTestTest : public Test {
const
bool
saved_help_flag
=
::
testing
::
internal
::
g_help_flag
;
::
testing
::
internal
::
g_help_flag
=
false
;
#if GTEST_HAS_STREAM_REDIRECTION
#
if GTEST_HAS_STREAM_REDIRECTION
CaptureStdout
();
#endif
#
endif
// Parses the command line.
internal
::
ParseGoogleTestFlagsOnly
(
&
argc1
,
const_cast
<
CharType
**>
(
argv1
));
#if GTEST_HAS_STREAM_REDIRECTION
#
if GTEST_HAS_STREAM_REDIRECTION
const
std
::
string
captured_stdout
=
GetCapturedStdout
();
#endif
#
endif
// Verifies the flag values.
CheckFlags
(
expected
);
...
...
@@ -5697,7 +5688,7 @@ class InitGoogleTestTest : public Test {
// help message for the flags it recognizes.
EXPECT_EQ
(
should_print_help
,
::
testing
::
internal
::
g_help_flag
);
#if GTEST_HAS_STREAM_REDIRECTION
#
if GTEST_HAS_STREAM_REDIRECTION
const
char
*
const
expected_help_fragment
=
"This program contains tests written using"
;
if
(
should_print_help
)
{
...
...
@@ -5706,7 +5697,7 @@ class InitGoogleTestTest : public Test {
EXPECT_PRED_FORMAT2
(
IsNotSubstring
,
expected_help_fragment
,
captured_stdout
);
}
#endif // GTEST_HAS_STREAM_REDIRECTION
#
endif // GTEST_HAS_STREAM_REDIRECTION
::
testing
::
internal
::
g_help_flag
=
saved_help_flag
;
}
...
...
@@ -5714,14 +5705,14 @@ class InitGoogleTestTest : public Test {
// This macro wraps TestParsingFlags s.t. the user doesn't need
// to specify the array sizes.
#define GTEST_TEST_PARSING_FLAGS_(argv1, argv2, expected, should_print_help) \
#
define GTEST_TEST_PARSING_FLAGS_(argv1, argv2, expected, should_print_help) \
TestParsingFlags(sizeof(argv1)/sizeof(*argv1) - 1, argv1, \
sizeof(argv2)/sizeof(*argv2) - 1, argv2, \
expected, should_print_help)
};
// Tests parsing an empty command line.
TEST_F
(
InitGoogleTest
Test
,
Empty
)
{
TEST_F
(
ParseFlags
Test
,
Empty
)
{
const
char
*
argv
[]
=
{
NULL
};
...
...
@@ -5734,7 +5725,7 @@ TEST_F(InitGoogleTestTest, Empty) {
}
// Tests parsing a command line that has no flag.
TEST_F
(
InitGoogleTest
Test
,
NoFlag
)
{
TEST_F
(
ParseFlags
Test
,
NoFlag
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
NULL
...
...
@@ -5749,7 +5740,7 @@ TEST_F(InitGoogleTestTest, NoFlag) {
}
// Tests parsing a bad --gtest_filter flag.
TEST_F
(
InitGoogleTest
Test
,
FilterBad
)
{
TEST_F
(
ParseFlags
Test
,
FilterBad
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_filter"
,
...
...
@@ -5766,7 +5757,7 @@ TEST_F(InitGoogleTestTest, FilterBad) {
}
// Tests parsing an empty --gtest_filter flag.
TEST_F
(
InitGoogleTest
Test
,
FilterEmpty
)
{
TEST_F
(
ParseFlags
Test
,
FilterEmpty
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_filter="
,
...
...
@@ -5782,7 +5773,7 @@ TEST_F(InitGoogleTestTest, FilterEmpty) {
}
// Tests parsing a non-empty --gtest_filter flag.
TEST_F
(
InitGoogleTest
Test
,
FilterNonEmpty
)
{
TEST_F
(
ParseFlags
Test
,
FilterNonEmpty
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_filter=abc"
,
...
...
@@ -5798,7 +5789,7 @@ TEST_F(InitGoogleTestTest, FilterNonEmpty) {
}
// Tests parsing --gtest_break_on_failure.
TEST_F
(
InitGoogleTest
Test
,
BreakOnFailureWithoutValue
)
{
TEST_F
(
ParseFlags
Test
,
BreakOnFailureWithoutValue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure"
,
...
...
@@ -5814,7 +5805,7 @@ TEST_F(InitGoogleTestTest, BreakOnFailureWithoutValue) {
}
// Tests parsing --gtest_break_on_failure=0.
TEST_F
(
InitGoogleTest
Test
,
BreakOnFailureFalse_0
)
{
TEST_F
(
ParseFlags
Test
,
BreakOnFailureFalse_0
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure=0"
,
...
...
@@ -5830,7 +5821,7 @@ TEST_F(InitGoogleTestTest, BreakOnFailureFalse_0) {
}
// Tests parsing --gtest_break_on_failure=f.
TEST_F
(
InitGoogleTest
Test
,
BreakOnFailureFalse_f
)
{
TEST_F
(
ParseFlags
Test
,
BreakOnFailureFalse_f
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure=f"
,
...
...
@@ -5846,7 +5837,7 @@ TEST_F(InitGoogleTestTest, BreakOnFailureFalse_f) {
}
// Tests parsing --gtest_break_on_failure=F.
TEST_F
(
InitGoogleTest
Test
,
BreakOnFailureFalse_F
)
{
TEST_F
(
ParseFlags
Test
,
BreakOnFailureFalse_F
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure=F"
,
...
...
@@ -5863,7 +5854,7 @@ TEST_F(InitGoogleTestTest, BreakOnFailureFalse_F) {
// Tests parsing a --gtest_break_on_failure flag that has a "true"
// definition.
TEST_F
(
InitGoogleTest
Test
,
BreakOnFailureTrue
)
{
TEST_F
(
ParseFlags
Test
,
BreakOnFailureTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure=1"
,
...
...
@@ -5879,7 +5870,7 @@ TEST_F(InitGoogleTestTest, BreakOnFailureTrue) {
}
// Tests parsing --gtest_catch_exceptions.
TEST_F
(
InitGoogleTest
Test
,
CatchExceptions
)
{
TEST_F
(
ParseFlags
Test
,
CatchExceptions
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_catch_exceptions"
,
...
...
@@ -5895,7 +5886,7 @@ TEST_F(InitGoogleTestTest, CatchExceptions) {
}
// Tests parsing --gtest_death_test_use_fork.
TEST_F
(
InitGoogleTest
Test
,
DeathTestUseFork
)
{
TEST_F
(
ParseFlags
Test
,
DeathTestUseFork
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_death_test_use_fork"
,
...
...
@@ -5912,7 +5903,7 @@ TEST_F(InitGoogleTestTest, DeathTestUseFork) {
// Tests having the same flag twice with different values. The
// expected behavior is that the one coming last takes precedence.
TEST_F
(
InitGoogleTest
Test
,
DuplicatedFlags
)
{
TEST_F
(
ParseFlags
Test
,
DuplicatedFlags
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_filter=a"
,
...
...
@@ -5929,7 +5920,7 @@ TEST_F(InitGoogleTestTest, DuplicatedFlags) {
}
// Tests having an unrecognized flag on the command line.
TEST_F
(
InitGoogleTest
Test
,
UnrecognizedFlag
)
{
TEST_F
(
ParseFlags
Test
,
UnrecognizedFlag
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_break_on_failure"
,
...
...
@@ -5951,7 +5942,7 @@ TEST_F(InitGoogleTestTest, UnrecognizedFlag) {
}
// Tests having a --gtest_list_tests flag
TEST_F
(
InitGoogleTest
Test
,
ListTestsFlag
)
{
TEST_F
(
ParseFlags
Test
,
ListTestsFlag
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_list_tests"
,
...
...
@@ -5967,7 +5958,7 @@ TEST_F(InitGoogleTestTest, ListTestsFlag) {
}
// Tests having a --gtest_list_tests flag with a "true" value
TEST_F
(
InitGoogleTest
Test
,
ListTestsTrue
)
{
TEST_F
(
ParseFlags
Test
,
ListTestsTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_list_tests=1"
,
...
...
@@ -5983,7 +5974,7 @@ TEST_F(InitGoogleTestTest, ListTestsTrue) {
}
// Tests having a --gtest_list_tests flag with a "false" value
TEST_F
(
InitGoogleTest
Test
,
ListTestsFalse
)
{
TEST_F
(
ParseFlags
Test
,
ListTestsFalse
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_list_tests=0"
,
...
...
@@ -5999,7 +5990,7 @@ TEST_F(InitGoogleTestTest, ListTestsFalse) {
}
// Tests parsing --gtest_list_tests=f.
TEST_F
(
InitGoogleTest
Test
,
ListTestsFalse_f
)
{
TEST_F
(
ParseFlags
Test
,
ListTestsFalse_f
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_list_tests=f"
,
...
...
@@ -6015,7 +6006,7 @@ TEST_F(InitGoogleTestTest, ListTestsFalse_f) {
}
// Tests parsing --gtest_list_tests=F.
TEST_F
(
InitGoogleTest
Test
,
ListTestsFalse_F
)
{
TEST_F
(
ParseFlags
Test
,
ListTestsFalse_F
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_list_tests=F"
,
...
...
@@ -6031,7 +6022,7 @@ TEST_F(InitGoogleTestTest, ListTestsFalse_F) {
}
// Tests parsing --gtest_output (invalid).
TEST_F
(
InitGoogleTest
Test
,
OutputEmpty
)
{
TEST_F
(
ParseFlags
Test
,
OutputEmpty
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_output"
,
...
...
@@ -6048,7 +6039,7 @@ TEST_F(InitGoogleTestTest, OutputEmpty) {
}
// Tests parsing --gtest_output=xml
TEST_F
(
InitGoogleTest
Test
,
OutputXml
)
{
TEST_F
(
ParseFlags
Test
,
OutputXml
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_output=xml"
,
...
...
@@ -6064,7 +6055,7 @@ TEST_F(InitGoogleTestTest, OutputXml) {
}
// Tests parsing --gtest_output=xml:file
TEST_F
(
InitGoogleTest
Test
,
OutputXmlFile
)
{
TEST_F
(
ParseFlags
Test
,
OutputXmlFile
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_output=xml:file"
,
...
...
@@ -6080,7 +6071,7 @@ TEST_F(InitGoogleTestTest, OutputXmlFile) {
}
// Tests parsing --gtest_output=xml:directory/path/
TEST_F
(
InitGoogleTest
Test
,
OutputXmlDirectory
)
{
TEST_F
(
ParseFlags
Test
,
OutputXmlDirectory
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_output=xml:directory/path/"
,
...
...
@@ -6097,7 +6088,7 @@ TEST_F(InitGoogleTestTest, OutputXmlDirectory) {
}
// Tests having a --gtest_print_time flag
TEST_F
(
InitGoogleTest
Test
,
PrintTimeFlag
)
{
TEST_F
(
ParseFlags
Test
,
PrintTimeFlag
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_print_time"
,
...
...
@@ -6113,7 +6104,7 @@ TEST_F(InitGoogleTestTest, PrintTimeFlag) {
}
// Tests having a --gtest_print_time flag with a "true" value
TEST_F
(
InitGoogleTest
Test
,
PrintTimeTrue
)
{
TEST_F
(
ParseFlags
Test
,
PrintTimeTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_print_time=1"
,
...
...
@@ -6129,7 +6120,7 @@ TEST_F(InitGoogleTestTest, PrintTimeTrue) {
}
// Tests having a --gtest_print_time flag with a "false" value
TEST_F
(
InitGoogleTest
Test
,
PrintTimeFalse
)
{
TEST_F
(
ParseFlags
Test
,
PrintTimeFalse
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_print_time=0"
,
...
...
@@ -6145,7 +6136,7 @@ TEST_F(InitGoogleTestTest, PrintTimeFalse) {
}
// Tests parsing --gtest_print_time=f.
TEST_F
(
InitGoogleTest
Test
,
PrintTimeFalse_f
)
{
TEST_F
(
ParseFlags
Test
,
PrintTimeFalse_f
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_print_time=f"
,
...
...
@@ -6161,7 +6152,7 @@ TEST_F(InitGoogleTestTest, PrintTimeFalse_f) {
}
// Tests parsing --gtest_print_time=F.
TEST_F
(
InitGoogleTest
Test
,
PrintTimeFalse_F
)
{
TEST_F
(
ParseFlags
Test
,
PrintTimeFalse_F
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_print_time=F"
,
...
...
@@ -6177,7 +6168,7 @@ TEST_F(InitGoogleTestTest, PrintTimeFalse_F) {
}
// Tests parsing --gtest_random_seed=number
TEST_F
(
InitGoogleTest
Test
,
RandomSeed
)
{
TEST_F
(
ParseFlags
Test
,
RandomSeed
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_random_seed=1000"
,
...
...
@@ -6193,7 +6184,7 @@ TEST_F(InitGoogleTestTest, RandomSeed) {
}
// Tests parsing --gtest_repeat=number
TEST_F
(
InitGoogleTest
Test
,
Repeat
)
{
TEST_F
(
ParseFlags
Test
,
Repeat
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_repeat=1000"
,
...
...
@@ -6209,7 +6200,7 @@ TEST_F(InitGoogleTestTest, Repeat) {
}
// Tests having a --gtest_also_run_disabled_tests flag
TEST_F
(
InitGoogleTest
Test
,
AlsoRunDisabledTestsFlag
)
{
TEST_F
(
ParseFlags
Test
,
AlsoRunDisabledTestsFlag
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_also_run_disabled_tests"
,
...
...
@@ -6226,7 +6217,7 @@ TEST_F(InitGoogleTestTest, AlsoRunDisabledTestsFlag) {
}
// Tests having a --gtest_also_run_disabled_tests flag with a "true" value
TEST_F
(
InitGoogleTest
Test
,
AlsoRunDisabledTestsTrue
)
{
TEST_F
(
ParseFlags
Test
,
AlsoRunDisabledTestsTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_also_run_disabled_tests=1"
,
...
...
@@ -6243,7 +6234,7 @@ TEST_F(InitGoogleTestTest, AlsoRunDisabledTestsTrue) {
}
// Tests having a --gtest_also_run_disabled_tests flag with a "false" value
TEST_F
(
InitGoogleTest
Test
,
AlsoRunDisabledTestsFalse
)
{
TEST_F
(
ParseFlags
Test
,
AlsoRunDisabledTestsFalse
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_also_run_disabled_tests=0"
,
...
...
@@ -6260,7 +6251,7 @@ TEST_F(InitGoogleTestTest, AlsoRunDisabledTestsFalse) {
}
// Tests parsing --gtest_shuffle.
TEST_F
(
InitGoogleTest
Test
,
ShuffleWithoutValue
)
{
TEST_F
(
ParseFlags
Test
,
ShuffleWithoutValue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_shuffle"
,
...
...
@@ -6276,7 +6267,7 @@ TEST_F(InitGoogleTestTest, ShuffleWithoutValue) {
}
// Tests parsing --gtest_shuffle=0.
TEST_F
(
InitGoogleTest
Test
,
ShuffleFalse_0
)
{
TEST_F
(
ParseFlags
Test
,
ShuffleFalse_0
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_shuffle=0"
,
...
...
@@ -6291,9 +6282,8 @@ TEST_F(InitGoogleTestTest, ShuffleFalse_0) {
GTEST_TEST_PARSING_FLAGS_
(
argv
,
argv2
,
Flags
::
Shuffle
(
false
),
false
);
}
// Tests parsing a --gtest_shuffle flag that has a "true"
// definition.
TEST_F
(
InitGoogleTestTest
,
ShuffleTrue
)
{
// Tests parsing a --gtest_shuffle flag that has a "true" definition.
TEST_F
(
ParseFlagsTest
,
ShuffleTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_shuffle=1"
,
...
...
@@ -6309,7 +6299,7 @@ TEST_F(InitGoogleTestTest, ShuffleTrue) {
}
// Tests parsing --gtest_stack_trace_depth=number.
TEST_F
(
InitGoogleTest
Test
,
StackTraceDepth
)
{
TEST_F
(
ParseFlags
Test
,
StackTraceDepth
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_stack_trace_depth=5"
,
...
...
@@ -6324,7 +6314,7 @@ TEST_F(InitGoogleTestTest, StackTraceDepth) {
GTEST_TEST_PARSING_FLAGS_
(
argv
,
argv2
,
Flags
::
StackTraceDepth
(
5
),
false
);
}
TEST_F
(
InitGoogleTest
Test
,
StreamResultTo
)
{
TEST_F
(
ParseFlags
Test
,
StreamResultTo
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_stream_result_to=localhost:1234"
,
...
...
@@ -6341,7 +6331,7 @@ TEST_F(InitGoogleTestTest, StreamResultTo) {
}
// Tests parsing --gtest_throw_on_failure.
TEST_F
(
InitGoogleTest
Test
,
ThrowOnFailureWithoutValue
)
{
TEST_F
(
ParseFlags
Test
,
ThrowOnFailureWithoutValue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_throw_on_failure"
,
...
...
@@ -6357,7 +6347,7 @@ TEST_F(InitGoogleTestTest, ThrowOnFailureWithoutValue) {
}
// Tests parsing --gtest_throw_on_failure=0.
TEST_F
(
InitGoogleTest
Test
,
ThrowOnFailureFalse_0
)
{
TEST_F
(
ParseFlags
Test
,
ThrowOnFailureFalse_0
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_throw_on_failure=0"
,
...
...
@@ -6374,7 +6364,7 @@ TEST_F(InitGoogleTestTest, ThrowOnFailureFalse_0) {
// Tests parsing a --gtest_throw_on_failure flag that has a "true"
// definition.
TEST_F
(
InitGoogleTest
Test
,
ThrowOnFailureTrue
)
{
TEST_F
(
ParseFlags
Test
,
ThrowOnFailureTrue
)
{
const
char
*
argv
[]
=
{
"foo.exe"
,
"--gtest_throw_on_failure=1"
,
...
...
@@ -6389,9 +6379,9 @@ TEST_F(InitGoogleTestTest, ThrowOnFailureTrue) {
GTEST_TEST_PARSING_FLAGS_
(
argv
,
argv2
,
Flags
::
ThrowOnFailure
(
true
),
false
);
}
#if GTEST_OS_WINDOWS
#
if GTEST_OS_WINDOWS
// Tests parsing wide strings.
TEST_F
(
InitGoogleTest
Test
,
WideStrings
)
{
TEST_F
(
ParseFlags
Test
,
WideStrings
)
{
const
wchar_t
*
argv
[]
=
{
L"foo.exe"
,
L"--gtest_filter=Foo*"
,
...
...
@@ -6417,10 +6407,10 @@ TEST_F(InitGoogleTestTest, WideStrings) {
# endif // GTEST_OS_WINDOWS
#if GTEST_USE_OWN_FLAGFILE_FLAG_
class
FlagfileTest
:
public
InitGoogleTest
Test
{
class
FlagfileTest
:
public
ParseFlags
Test
{
public:
virtual
void
SetUp
()
{
InitGoogleTest
Test
::
SetUp
();
ParseFlags
Test
::
SetUp
();
testdata_path_
.
Set
(
internal
::
FilePath
(
testing
::
TempDir
()
+
internal
::
GetCurrentExecutableName
().
string
()
+
...
...
@@ -6431,7 +6421,7 @@ class FlagfileTest : public InitGoogleTestTest {
virtual
void
TearDown
()
{
testing
::
internal
::
posix
::
RmDir
(
testdata_path_
.
c_str
());
InitGoogleTest
Test
::
TearDown
();
ParseFlags
Test
::
TearDown
();
}
internal
::
FilePath
CreateFlagfile
(
const
char
*
contents
)
{
...
...
@@ -6570,6 +6560,7 @@ TEST_F(CurrentTestInfoTest, WorksForSecondTestInATestCase) {
}
// namespace testing
// These two lines test that we can define tests in a namespace that
// has the name "testing" and is nested in another namespace.
namespace
my_namespace
{
...
...
@@ -6650,7 +6641,7 @@ TEST(StreamingAssertionsTest, Truth2) {
}
#ifdef __BORLANDC__
// Restores warnings after previous "#pragma option push" supressed them
// Restores warnings after previous "#pragma option push" sup
p
ressed them
# pragma option pop
#endif
...
...
@@ -6900,14 +6891,6 @@ TEST(StaticAssertTypeEqTest, CompilesForEqualTypes) {
StaticAssertTypeEq
<
int
*
,
IntAlias
*>
();
}
TEST
(
GetCurrentOsStackTraceExceptTopTest
,
ReturnsTheStackTrace
)
{
testing
::
UnitTest
*
const
unit_test
=
testing
::
UnitTest
::
GetInstance
();
// We don't have a stack walker in Google Test yet.
EXPECT_STREQ
(
""
,
GetCurrentOsStackTraceExceptTop
(
unit_test
,
0
).
c_str
());
EXPECT_STREQ
(
""
,
GetCurrentOsStackTraceExceptTop
(
unit_test
,
1
).
c_str
());
}
TEST
(
HasNonfatalFailureTest
,
ReturnsFalseWhenThereIsNoFailure
)
{
EXPECT_FALSE
(
HasNonfatalFailure
());
}
...
...
@@ -7667,7 +7650,7 @@ TEST(NativeArrayTest, MethodsWork) {
EXPECT_EQ
(
0
,
*
it
);
++
it
;
EXPECT_EQ
(
1
,
*
it
);
++
it
;
it
++
;
EXPECT_EQ
(
2
,
*
it
);
++
it
;
EXPECT_EQ
(
na
.
end
(),
it
);
...
...
googletest/test/gtest_xml_outfile1_test_.cc
View file @
a7a7f51d
...
...
@@ -27,7 +27,6 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: keith.ray@gmail.com (Keith Ray)
//
// gtest_xml_outfile1_test_ writes some xml via TestProperty used by
// gtest_xml_outfiles_test.py
...
...
googletest/test/gtest_xml_outfile2_test_.cc
View file @
a7a7f51d
...
...
@@ -27,7 +27,6 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Author: keith.ray@gmail.com (Keith Ray)
//
// gtest_xml_outfile2_test_ writes some xml via TestProperty used by
// gtest_xml_outfiles_test.py
...
...
googletest/test/gtest_xml_outfiles_test.py
View file @
a7a7f51d
...
...
@@ -31,15 +31,11 @@
"""Unit test for the gtest_xml_output module."""
__author__
=
"keith.ray@gmail.com (Keith Ray)"
import
os
from
xml.dom
import
minidom
,
Node
import
gtest_test_utils
import
gtest_xml_test_utils
GTEST_OUTPUT_SUBDIR
=
"xml_outfiles"
GTEST_OUTPUT_1_TEST
=
"gtest_xml_outfile1_test_"
GTEST_OUTPUT_2_TEST
=
"gtest_xml_outfile2_test_"
...
...
googletest/test/gtest_xml_output_unittest.py
View file @
a7a7f51d
...
...
@@ -31,8 +31,6 @@
"""Unit test for the gtest_xml_output module"""
__author__
=
'eefacm@gmail.com (Sean Mcafee)'
import
datetime
import
errno
import
os
...
...
@@ -43,12 +41,16 @@ from xml.dom import minidom, Node
import
gtest_test_utils
import
gtest_xml_test_utils
GTEST_FILTER_FLAG
=
'--gtest_filter'
GTEST_LIST_TESTS_FLAG
=
'--gtest_list_tests'
GTEST_OUTPUT_FLAG
=
"--gtest_output"
GTEST_DEFAULT_OUTPUT_FILE
=
"test_detail.xml"
GTEST_PROGRAM_NAME
=
"gtest_xml_output_unittest_"
GTEST_OUTPUT_FLAG
=
'--gtest_output'
GTEST_DEFAULT_OUTPUT_FILE
=
'test_detail.xml'
GTEST_PROGRAM_NAME
=
'gtest_xml_output_unittest_'
# The environment variables for test sharding.
TOTAL_SHARDS_ENV_VAR
=
'GTEST_TOTAL_SHARDS'
SHARD_INDEX_ENV_VAR
=
'GTEST_SHARD_INDEX'
SHARD_STATUS_FILE_ENV_VAR
=
'GTEST_SHARD_STATUS_FILE'
SUPPORTS_STACK_TRACES
=
False
...
...
@@ -141,6 +143,19 @@ EXPECTED_FILTERED_TEST_XML = """<?xml version="1.0" encoding="UTF-8"?>
</testsuite>
</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"?>
<testsuites tests="0" failures="0" disabled="0" errors="0" time="*"
timestamp="*" name="AllTests">
...
...
@@ -182,7 +197,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
Runs a test program that generates an empty XML output, and checks if
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
# datetime.strptime() is only available in Python 2.5+ so we have to
# parse the expected datetime manually.
...
...
@@ -212,8 +227,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
'gtest_no_test_unittest'
)
try
:
os
.
remove
(
output_file
)
except
OSError
:
e
=
sys
.
exc_info
()[
1
]
except
OSError
,
e
:
if
e
.
errno
!=
errno
.
ENOENT
:
raise
...
...
@@ -263,7 +277,22 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
self
.
_TestXmlOutput
(
GTEST_PROGRAM_NAME
,
EXPECTED_FILTERED_TEST_XML
,
0
,
extra_args
=
[
'%s=SuccessfulTest.*'
%
GTEST_FILTER_FLAG
])
def
_GetXmlOutput
(
self
,
gtest_prog_name
,
extra_args
,
expected_exit_code
):
def
testShardedTestXmlOutput
(
self
):
"""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.
Furthermore, the program's exit code must be expected_exit_code.
...
...
@@ -274,7 +303,11 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
command
=
([
gtest_prog_path
,
'%s=xml:%s'
%
(
GTEST_OUTPUT_FLAG
,
xml_path
)]
+
extra_args
)
p
=
gtest_test_utils
.
Subprocess
(
command
)
environ_copy
=
os
.
environ
.
copy
()
if
extra_env
:
environ_copy
.
update
(
extra_env
)
p
=
gtest_test_utils
.
Subprocess
(
command
,
env
=
environ_copy
)
if
p
.
terminated_by_signal
:
self
.
assert_
(
False
,
'%s was killed by signal %d'
%
(
gtest_prog_name
,
p
.
signal
))
...
...
@@ -288,7 +321,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
return
actual
def
_TestXmlOutput
(
self
,
gtest_prog_name
,
expected_xml
,
expected_exit_code
,
extra_args
=
None
):
expected_exit_code
,
extra_args
=
None
,
extra_env
=
None
):
"""
Asserts that the XML document generated by running the program
gtest_prog_name matches expected_xml, a string containing another
...
...
@@ -297,7 +330,7 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
"""
actual
=
self
.
_GetXmlOutput
(
gtest_prog_name
,
extra_args
or
[],
expected_exit_code
)
extra_env
or
{},
expected_exit_code
)
expected
=
minidom
.
parseString
(
expected_xml
)
self
.
NormalizeXml
(
actual
.
documentElement
)
self
.
AssertEquivalentNodes
(
expected
.
documentElement
,
...
...
googletest/test/gtest_xml_output_unittest_.cc
View file @
a7a7f51d
...
...
@@ -27,8 +27,6 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Author: eefacm@gmail.com (Sean Mcafee)
// Unit test for Google Test XML output.
//
// A user can specify XML output in a Google Test program to run via
...
...
googletest/test/gtest_xml_test_utils.py
View file @
a7a7f51d
#!/usr/bin/env python
#
# Copyright 2006, Google Inc.
# All rights reserved.
#
...
...
@@ -31,15 +29,10 @@
"""Unit test utilities for gtest_xml_output"""
__author__
=
'eefacm@gmail.com (Sean Mcafee)'
import
re
from
xml.dom
import
minidom
,
Node
import
gtest_test_utils
GTEST_OUTPUT_FLAG
=
'--gtest_output'
GTEST_DEFAULT_OUTPUT_FILE
=
'test_detail.xml'
class
GTestXMLTestCase
(
gtest_test_utils
.
TestCase
):
...
...
@@ -101,7 +94,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase):
self
.
assertEquals
(
len
(
expected_children
),
len
(
actual_children
),
'number of child elements differ in element '
+
actual_node
.
tagName
)
for
child_id
,
child
in
expected_children
.
items
():
for
child_id
,
child
in
expected_children
.
iter
items
():
self
.
assert_
(
child_id
in
actual_children
,
'<%s> is not in <%s> (in element %s)'
%
(
child_id
,
actual_children
,
actual_node
.
tagName
))
...
...
@@ -187,8 +180,8 @@ class GTestXMLTestCase(gtest_test_utils.TestCase):
# Replaces the source line information with a normalized form.
cdata
=
re
.
sub
(
source_line_pat
,
'
\\
1*
\n
'
,
child
.
nodeValue
)
# Removes the actual stack trace.
child
.
nodeValue
=
re
.
sub
(
r
'
\n
Stack trace:\n(.|\n)*'
,
''
,
cdata
)
child
.
nodeValue
=
re
.
sub
(
r
'Stack trace:\n(.|\n)*'
,
'
Stack trace:
\n
*
'
,
cdata
)
for
child
in
element
.
childNodes
:
if
child
.
nodeType
==
Node
.
ELEMENT_NODE
:
self
.
NormalizeXml
(
child
)
googletest/test/production.cc
View file @
a7a7f51d
...
...
@@ -29,7 +29,7 @@
//
// Author: wan@google.com (Zhanyong Wan)
//
// This is part of the unit test for
include/gtest/
gtest_prod.h.
// This is part of the unit test for gtest_prod.h.
#include "production.h"
...
...
googletest/test/production.h
View file @
a7a7f51d
...
...
@@ -29,7 +29,7 @@
//
// Author: wan@google.com (Zhanyong Wan)
//
// This is part of the unit test for
include/gtest/
gtest_prod.h.
// This is part of the unit test for gtest_prod.h.
#ifndef GTEST_TEST_PRODUCTION_H_
#define GTEST_TEST_PRODUCTION_H_
...
...
googletest/xcode/Scripts/versiongenerate.py
View file @
a7a7f51d
...
...
@@ -29,7 +29,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""A script to prepare version informtion for use the gtest Info.plist file.
"""A script to prepare version inform
a
tion for use the gtest Info.plist file.
This script extracts the version information from the configure.ac file and
uses it to generate a header file containing the same information. The
...
...
Prev
1
…
3
4
5
6
7
Next
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