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
c7a03daa
Commit
c7a03daa
authored
Sep 12, 2019
by
Shaindel Schwartz
Browse files
Merge pull request #2387 from kuzkry:iff
PiperOrigin-RevId: 268693457
parents
ac24edd6
7bd4a7f3
Changes
35
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
153 additions
and
154 deletions
+153
-154
googletest/include/gtest/internal/gtest-string.h
googletest/include/gtest/internal/gtest-string.h
+10
-9
googletest/samples/prime_tables.h
googletest/samples/prime_tables.h
+1
-1
googletest/samples/sample1.cc
googletest/samples/sample1.cc
+1
-1
googletest/samples/sample1.h
googletest/samples/sample1.h
+1
-1
googletest/src/gtest-death-test.cc
googletest/src/gtest-death-test.cc
+4
-4
googletest/src/gtest-internal-inl.h
googletest/src/gtest-internal-inl.h
+15
-14
googletest/src/gtest-port.cc
googletest/src/gtest-port.cc
+18
-18
googletest/src/gtest.cc
googletest/src/gtest.cc
+76
-80
googletest/test/googletest-death-test-test.cc
googletest/test/googletest-death-test-test.cc
+4
-4
googletest/test/googletest-throw-on-failure-test.py
googletest/test/googletest-throw-on-failure-test.py
+1
-1
googletest/test/gtest_environment_test.cc
googletest/test/gtest_environment_test.cc
+1
-1
googletest/test/gtest_pred_impl_unittest.cc
googletest/test/gtest_pred_impl_unittest.cc
+10
-10
googletest/test/gtest_premature_exit_test.cc
googletest/test/gtest_premature_exit_test.cc
+2
-2
googletest/test/gtest_test_utils.py
googletest/test/gtest_test_utils.py
+4
-3
googletest/test/gtest_unittest.cc
googletest/test/gtest_unittest.cc
+5
-5
No files found.
googletest/include/gtest/internal/gtest-string.h
View file @
c7a03daa
...
...
@@ -94,7 +94,8 @@ class GTEST_API_ String {
static
const
char
*
Utf16ToAnsi
(
LPCWSTR
utf16_str
);
#endif
// Compares two C strings. Returns true if they have the same content.
// Compares two C strings. Returns true if and only if they have the same
// content.
//
// Unlike strcmp(), this function can handle NULL argument(s). A
// NULL C string is considered different to any non-NULL C string,
...
...
@@ -107,16 +108,16 @@ class GTEST_API_ String {
// returned.
static
std
::
string
ShowWideCString
(
const
wchar_t
*
wide_c_str
);
// Compares two wide C strings. Returns true if they have the
same
// content.
// Compares two wide C strings. Returns true if
and only if
they have the
//
same
content.
//
// Unlike wcscmp(), this function can handle NULL argument(s). A
// NULL C string is considered different to any non-NULL C string,
// including the empty string.
static
bool
WideCStringEquals
(
const
wchar_t
*
lhs
,
const
wchar_t
*
rhs
);
// Compares two C strings, ignoring case. Returns true if
they
// have the same content.
// Compares two C strings, ignoring case. Returns true if
and only if
//
they
have the same content.
//
// Unlike strcasecmp(), this function can handle NULL argument(s).
// A NULL C string is considered different to any non-NULL C string,
...
...
@@ -124,8 +125,8 @@ class GTEST_API_ String {
static
bool
CaseInsensitiveCStringEquals
(
const
char
*
lhs
,
const
char
*
rhs
);
// Compares two wide C strings, ignoring case. Returns true if
they
// have the same content.
// Compares two wide C strings, ignoring case. Returns true if
and only if
//
they
have the same content.
//
// Unlike wcscasecmp(), this function can handle NULL argument(s).
// A NULL C string is considered different to any non-NULL wide C string,
...
...
@@ -139,8 +140,8 @@ class GTEST_API_ String {
static
bool
CaseInsensitiveWideCStringEquals
(
const
wchar_t
*
lhs
,
const
wchar_t
*
rhs
);
// Returns true if the given string ends with the given suffix,
ignoring
// case. Any string is considered to end with an empty suffix.
// Returns true if
and only if
the given string ends with the given suffix,
//
ignoring
case. Any string is considered to end with an empty suffix.
static
bool
EndsWithCaseInsensitive
(
const
std
::
string
&
str
,
const
std
::
string
&
suffix
);
...
...
googletest/samples/prime_tables.h
View file @
c7a03daa
...
...
@@ -43,7 +43,7 @@ class PrimeTable {
public:
virtual
~
PrimeTable
()
{}
// Returns true if n is a prime number.
// Returns true if
and only if
n is a prime number.
virtual
bool
IsPrime
(
int
n
)
const
=
0
;
// Returns the smallest prime number greater than p; or returns -1
...
...
googletest/samples/sample1.cc
View file @
c7a03daa
...
...
@@ -41,7 +41,7 @@ int Factorial(int n) {
return
result
;
}
// Returns true if n is a prime number.
// Returns true if
and only if
n is a prime number.
bool
IsPrime
(
int
n
)
{
// Trivial case 1: small numbers
if
(
n
<=
1
)
return
false
;
...
...
googletest/samples/sample1.h
View file @
c7a03daa
...
...
@@ -35,7 +35,7 @@
// Returns n! (the factorial of n). For negative n, n! is defined to be 1.
int
Factorial
(
int
n
);
// Returns true if n is a prime number.
// Returns true if
and only if
n is a prime number.
bool
IsPrime
(
int
n
);
#endif // GTEST_SAMPLES_SAMPLE1_H_
googletest/src/gtest-death-test.cc
View file @
c7a03daa
...
...
@@ -122,8 +122,8 @@ GTEST_DEFINE_string_(
"Indicates the file, line number, temporal index of "
"the single death test to run, and a file descriptor to "
"which a success code may be sent, all separated by "
"the '|' characters. This flag is specified if and only if the
current
"
"process is a sub-process launched for running a thread-safe "
"the '|' characters. This flag is specified if and only if the "
"
current
process is a sub-process launched for running a thread-safe "
"death test. FOR INTERNAL USE ONLY."
);
}
// namespace internal
...
...
@@ -563,8 +563,8 @@ static ::std::string FormatDeathTestOutput(const ::std::string& output) {
// status_ok: true if exit_status is acceptable in the context of
// this particular death test, which fails if it is false
//
// Returns true if all of the above conditions are met. Otherwise,
the
// first failing condition, in the order given above, is the one that is
// Returns true if
and only if
all of the above conditions are met. Otherwise,
//
the
first failing condition, in the order given above, is the one that is
// reported. Also sets the last death test message string.
bool
DeathTestImpl
::
Passed
(
bool
status_ok
)
{
if
(
!
spawned
())
...
...
googletest/src/gtest-internal-inl.h
View file @
c7a03daa
...
...
@@ -99,14 +99,14 @@ const char kFlagfileFlag[] = "flagfile";
// A valid random seed must be in [1, kMaxRandomSeed].
const
int
kMaxRandomSeed
=
99999
;
// g_help_flag is true if the --help flag or an equivalent form
is
// specified on the command line.
// g_help_flag is true if
and only if
the --help flag or an equivalent form
//
is
specified on the command line.
GTEST_API_
extern
bool
g_help_flag
;
// Returns the current time in milliseconds.
GTEST_API_
TimeInMillis
GetTimeInMillis
();
// Returns true if Google Test should use colors in the output.
// Returns true if
and only if
Google Test should use colors in the output.
GTEST_API_
bool
ShouldUseColor
(
bool
stdout_is_tty
);
// Formats the given time in milliseconds as seconds.
...
...
@@ -266,8 +266,8 @@ GTEST_API_ bool ShouldShard(const char* total_shards_str,
GTEST_API_
Int32
Int32FromEnvOrDie
(
const
char
*
env_var
,
Int32
default_val
);
// Given the total number of shards, the shard index, and the test id,
// returns true if the test should be run on this shard. The test id
is
// some arbitrary but unique non-negative integer assigned to each test
// returns true if
and only if
the test should be run on this shard. The test id
//
is
some arbitrary but unique non-negative integer assigned to each test
// method. Assumes that 0 <= shard_index < total_shards.
GTEST_API_
bool
ShouldRunTestOnShard
(
int
total_shards
,
int
shard_index
,
int
test_id
);
...
...
@@ -352,7 +352,7 @@ class TestPropertyKeyIs {
// TestPropertyKeyIs has NO default constructor.
explicit
TestPropertyKeyIs
(
const
std
::
string
&
key
)
:
key_
(
key
)
{}
// Returns true if the test name of test property matches on key_.
// Returns true if
and only if
the test name of test property matches on key_.
bool
operator
()(
const
TestProperty
&
test_property
)
const
{
return
test_property
.
key
()
==
key_
;
}
...
...
@@ -385,15 +385,15 @@ class GTEST_API_ UnitTestOptions {
// Functions for processing the gtest_filter flag.
// Returns true if the wildcard pattern matches the string.
The
// first ':' or '\0' character in pattern marks the end of it.
// Returns true if
and only if
the wildcard pattern matches the string.
//
The
first ':' or '\0' character in pattern marks the end of it.
//
// This recursive algorithm isn't very efficient, but is clear and
// works well enough for matching test names, which are short.
static
bool
PatternMatchesString
(
const
char
*
pattern
,
const
char
*
str
);
// Returns true if the user-specified filter matches the test
suite
// name and the test name.
// Returns true if
and only if
the user-specified filter matches the test
//
suite
name and the test name.
static
bool
FilterMatchesTest
(
const
std
::
string
&
test_suite_name
,
const
std
::
string
&
test_name
);
...
...
@@ -577,11 +577,12 @@ class GTEST_API_ UnitTestImpl {
// Gets the elapsed time, in milliseconds.
TimeInMillis
elapsed_time
()
const
{
return
elapsed_time_
;
}
// Returns true if the unit test passed (i.e. all test suites passed).
// Returns true if and only if the unit test passed (i.e. all test suites
// passed).
bool
Passed
()
const
{
return
!
Failed
();
}
// Returns true if the unit test failed (i.e. some test suite
failed
// or something outside of all tests failed).
// Returns true if
and only if
the unit test failed (i.e. some test suite
//
failed
or something outside of all tests failed).
bool
Failed
()
const
{
return
failed_test_suite_count
()
>
0
||
ad_hoc_test_result
()
->
Failed
();
}
...
...
@@ -911,7 +912,7 @@ class GTEST_API_ UnitTestImpl {
// desired.
OsStackTraceGetterInterface
*
os_stack_trace_getter_
;
// True if PostFlagParsingInit() has been called.
// True if
and only if
PostFlagParsingInit() has been called.
bool
post_flag_parse_init_performed_
;
// The random number seed used at the beginning of the test run.
...
...
googletest/src/gtest-port.cc
View file @
c7a03daa
...
...
@@ -715,7 +715,7 @@ RE::~RE() {
free
(
const_cast
<
char
*>
(
pattern_
));
}
// Returns true if regular expression re matches the entire str.
// Returns true if
and only if
regular expression re matches the entire str.
bool
RE
::
FullMatch
(
const
char
*
str
,
const
RE
&
re
)
{
if
(
!
re
.
is_valid_
)
return
false
;
...
...
@@ -723,8 +723,8 @@ bool RE::FullMatch(const char* str, const RE& re) {
return
regexec
(
&
re
.
full_regex_
,
str
,
1
,
&
match
,
0
)
==
0
;
}
// Returns true if regular expression re matches a substring of
str
// (including str itself).
// Returns true if
and only if
regular expression re matches a substring of
//
str
(including str itself).
bool
RE
::
PartialMatch
(
const
char
*
str
,
const
RE
&
re
)
{
if
(
!
re
.
is_valid_
)
return
false
;
...
...
@@ -764,14 +764,14 @@ void RE::Init(const char* regex) {
#elif GTEST_USES_SIMPLE_RE
// Returns true if ch appears anywhere in str (excluding the
// Returns true if
and only if
ch appears anywhere in str (excluding the
// terminating '\0' character).
bool
IsInSet
(
char
ch
,
const
char
*
str
)
{
return
ch
!=
'\0'
&&
strchr
(
str
,
ch
)
!=
nullptr
;
}
// Returns true if ch belongs to the given classification.
Unlike
// similar functions in <ctype.h>, these aren't affected by the
// Returns true if
and only if
ch belongs to the given classification.
//
Unlike
similar functions in <ctype.h>, these aren't affected by the
// current locale.
bool
IsAsciiDigit
(
char
ch
)
{
return
'0'
<=
ch
&&
ch
<=
'9'
;
}
bool
IsAsciiPunct
(
char
ch
)
{
...
...
@@ -784,13 +784,13 @@ bool IsAsciiWordChar(char ch) {
(
'0'
<=
ch
&&
ch
<=
'9'
)
||
ch
==
'_'
;
}
// Returns true if "\\c" is a supported escape sequence.
// Returns true if
and only if
"\\c" is a supported escape sequence.
bool
IsValidEscape
(
char
c
)
{
return
(
IsAsciiPunct
(
c
)
||
IsInSet
(
c
,
"dDfnrsStvwW"
));
}
// Returns true if the given atom (specified by escaped and
pattern)
// matches ch. The result is undefined if the atom is invalid.
// Returns true if
and only if
the given atom (specified by escaped and
//
pattern)
matches ch. The result is undefined if the atom is invalid.
bool
AtomMatchesChar
(
bool
escaped
,
char
pattern_char
,
char
ch
)
{
if
(
escaped
)
{
// "\\p" where p is pattern_char.
switch
(
pattern_char
)
{
...
...
@@ -828,7 +828,7 @@ bool ValidateRegex(const char* regex) {
bool
is_valid
=
true
;
// True if ?, *, or + can follow the previous atom.
// True if
and only if
?, *, or + can follow the previous atom.
bool
prev_repeatable
=
false
;
for
(
int
i
=
0
;
regex
[
i
];
i
++
)
{
if
(
regex
[
i
]
==
'\\'
)
{
// An escape sequence
...
...
@@ -904,8 +904,8 @@ bool MatchRepetitionAndRegexAtHead(
return
false
;
}
// Returns true if regex matches a prefix of str.
regex must
be a
// valid simple regular expression and not start with "^", or the
// Returns true if
and only if
regex matches a prefix of str. regex must
//
be a
valid simple regular expression and not start with "^", or the
// result is undefined.
bool
MatchRegexAtHead
(
const
char
*
regex
,
const
char
*
str
)
{
if
(
*
regex
==
'\0'
)
// An empty regex matches a prefix of anything.
...
...
@@ -935,8 +935,8 @@ bool MatchRegexAtHead(const char* regex, const char* str) {
}
}
// Returns true if regex matches any substring of str. regex must
be
// a valid simple regular expression, or the result is undefined.
// Returns true if
and only if
regex matches any substring of str. regex must
//
be
a valid simple regular expression, or the result is undefined.
//
// The algorithm is recursive, but the recursion depth doesn't exceed
// the regex length, so we won't need to worry about running out of
...
...
@@ -964,13 +964,13 @@ RE::~RE() {
free
(
const_cast
<
char
*>
(
full_pattern_
));
}
// Returns true if regular expression re matches the entire str.
// Returns true if
and only if
regular expression re matches the entire str.
bool
RE
::
FullMatch
(
const
char
*
str
,
const
RE
&
re
)
{
return
re
.
is_valid_
&&
MatchRegexAnywhere
(
re
.
full_pattern_
,
str
);
}
// Returns true if regular expression re matches a substring of
str
// (including str itself).
// Returns true if
and only if
regular expression re matches a substring of
//
str
(including str itself).
bool
RE
::
PartialMatch
(
const
char
*
str
,
const
RE
&
re
)
{
return
re
.
is_valid_
&&
MatchRegexAnywhere
(
re
.
pattern_
,
str
);
}
...
...
@@ -1330,7 +1330,7 @@ bool ParseInt32(const Message& src_text, const char* str, Int32* value) {
// Reads and returns the Boolean environment variable corresponding to
// the given flag; if it's not set, returns default_value.
//
// The value is considered true if it's not "0".
// The value is considered true if
and only if
it's not "0".
bool
BoolFromGTestEnv
(
const
char
*
flag
,
bool
default_value
)
{
#if defined(GTEST_GET_BOOL_FROM_ENV_)
return
GTEST_GET_BOOL_FROM_ENV_
(
flag
,
default_value
);
...
...
googletest/src/gtest.cc
View file @
c7a03daa
...
...
@@ -177,8 +177,8 @@ namespace internal {
// stack trace.
const
char
kStackTraceMarker
[]
=
"
\n
Stack trace:
\n
"
;
// g_help_flag is true if the --help flag or an equivalent form
is
// specified on the command line.
// g_help_flag is true if
and only if
the --help flag or an equivalent form
//
is
specified on the command line.
bool
g_help_flag
=
false
;
// Utilty function to Open File for Writing
...
...
@@ -215,14 +215,13 @@ GTEST_DEFINE_bool_(
"Run disabled tests too, in addition to the tests normally being run."
);
GTEST_DEFINE_bool_
(
break_on_failure
,
internal
::
BoolFromGTestEnv
(
"break_on_failure"
,
false
),
"
True if a failed assertion should be a debugger
break-point."
);
break_on_failure
,
internal
::
BoolFromGTestEnv
(
"break_on_failure"
,
false
),
"True if and only if a failed assertion should be a debugger "
"break-point."
);
GTEST_DEFINE_bool_
(
catch_exceptions
,
GTEST_DEFINE_bool_
(
catch_exceptions
,
internal
::
BoolFromGTestEnv
(
"catch_exceptions"
,
true
),
"True
if "
GTEST_NAME_
"True if and only
if "
GTEST_NAME_
" should catch exceptions and treat them as test failures."
);
GTEST_DEFINE_string_
(
...
...
@@ -270,16 +269,12 @@ GTEST_DEFINE_string_(
"executable's name and, if necessary, made unique by adding "
"digits."
);
GTEST_DEFINE_bool_
(
print_time
,
internal
::
BoolFromGTestEnv
(
"print_time"
,
true
),
"True if "
GTEST_NAME_
GTEST_DEFINE_bool_
(
print_time
,
internal
::
BoolFromGTestEnv
(
"print_time"
,
true
),
"True if and only if "
GTEST_NAME_
" should display elapsed time in text output."
);
GTEST_DEFINE_bool_
(
print_utf8
,
internal
::
BoolFromGTestEnv
(
"print_utf8"
,
true
),
"True if "
GTEST_NAME_
GTEST_DEFINE_bool_
(
print_utf8
,
internal
::
BoolFromGTestEnv
(
"print_utf8"
,
true
),
"True if and only if "
GTEST_NAME_
" prints UTF8 characters as text."
);
GTEST_DEFINE_int32_
(
...
...
@@ -294,15 +289,13 @@ GTEST_DEFINE_int32_(
"How many times to repeat each test. Specify a negative number "
"for repeating forever. Useful for shaking out flaky tests."
);
GTEST_DEFINE_bool_
(
show_internal_stack_frames
,
false
,
"True if "
GTEST_NAME_
" should include internal stack frames when "
GTEST_DEFINE_bool_
(
show_internal_stack_frames
,
false
,
"True if and only if "
GTEST_NAME_
" should include internal stack frames when "
"printing test failure stack traces."
);
GTEST_DEFINE_bool_
(
shuffle
,
internal
::
BoolFromGTestEnv
(
"shuffle"
,
false
),
"True if "
GTEST_NAME_
GTEST_DEFINE_bool_
(
shuffle
,
internal
::
BoolFromGTestEnv
(
"shuffle"
,
false
),
"True if and only if "
GTEST_NAME_
" should randomize tests' order on every run."
);
GTEST_DEFINE_int32_
(
...
...
@@ -354,7 +347,7 @@ UInt32 Random::Generate(UInt32 range) {
return
state_
%
range
;
}
// GTestIsInitialized() returns true if the user has initialized
// GTestIsInitialized() returns true if
and only if
the user has initialized
// Google Test. Useful for catching the user mistake of not initializing
// Google Test before calling RUN_ALL_TESTS().
static
bool
GTestIsInitialized
()
{
return
GetArgvs
().
size
()
>
0
;
}
...
...
@@ -371,18 +364,18 @@ static int SumOverTestSuiteList(const std::vector<TestSuite*>& case_list,
return
sum
;
}
// Returns true if the test suite passed.
// Returns true if
and only if
the test suite passed.
static
bool
TestSuitePassed
(
const
TestSuite
*
test_suite
)
{
return
test_suite
->
should_run
()
&&
test_suite
->
Passed
();
}
// Returns true if the test suite failed.
// Returns true if
and only if
the test suite failed.
static
bool
TestSuiteFailed
(
const
TestSuite
*
test_suite
)
{
return
test_suite
->
should_run
()
&&
test_suite
->
Failed
();
}
// Returns true if test_suite contains at least one test that
should
// run.
// Returns true if
and only if
test_suite contains at least one test that
//
should
run.
static
bool
ShouldRunTestSuite
(
const
TestSuite
*
test_suite
)
{
return
test_suite
->
should_run
();
}
...
...
@@ -482,8 +475,8 @@ std::string UnitTestOptions::GetAbsolutePathToOutputFile() {
return
result
.
string
();
}
// Returns true if the wildcard pattern matches the string.
The
// first ':' or '\0' character in pattern marks the end of it.
// Returns true if
and only if
the wildcard pattern matches the string.
//
The
first ':' or '\0' character in pattern marks the end of it.
//
// This recursive algorithm isn't very efficient, but is clear and
// works well enough for matching test names, which are short.
...
...
@@ -525,8 +518,8 @@ bool UnitTestOptions::MatchesFilter(
}
}
// Returns true if the user-specified filter matches the test
suite
// name and the test name.
// Returns true if
and only if
the user-specified filter matches the test
//
suite
name and the test name.
bool
UnitTestOptions
::
FilterMatchesTest
(
const
std
::
string
&
test_suite_name
,
const
std
::
string
&
test_name
)
{
const
std
::
string
&
full_name
=
test_suite_name
+
"."
+
test_name
.
c_str
();
...
...
@@ -910,7 +903,8 @@ const char* String::Utf16ToAnsi(LPCWSTR utf16_str) {
#endif // GTEST_OS_WINDOWS_MOBILE
// Compares two C strings. Returns true if they have the same content.
// Compares two C strings. Returns true if and only if they have the same
// content.
//
// Unlike strcmp(), this function can handle NULL argument(s). A NULL
// C string is considered different to any non-NULL C string,
...
...
@@ -1320,7 +1314,7 @@ std::vector<std::string> SplitEscapedString(const std::string& str) {
// lhs_value: "5"
// rhs_value: "6"
//
// The ignoring_case parameter is true if the assertion is a
// The ignoring_case parameter is true if
and only if
the assertion is a
// *_STRCASEEQ*. When it's true, the string "Ignoring case" will
// be inserted into the message.
AssertionResult
EqFailure
(
const
char
*
lhs_expression
,
...
...
@@ -1563,9 +1557,9 @@ namespace {
// Helper functions for implementing IsSubString() and IsNotSubstring().
// This group of overloaded functions return true if needle
is a
// substring of haystack. NULL is considered a substring of
itself
// only.
// This group of overloaded functions return true if
and only if
needle
//
is a
substring of haystack. NULL is considered a substring of
//
itself
only.
bool
IsSubstringPred
(
const
char
*
needle
,
const
char
*
haystack
)
{
if
(
needle
==
nullptr
||
haystack
==
nullptr
)
return
needle
==
haystack
;
...
...
@@ -1865,8 +1859,8 @@ std::string String::ShowWideCString(const wchar_t * wide_c_str) {
return
internal
::
WideStringToUtf8
(
wide_c_str
,
-
1
);
}
// Compares two wide C strings. Returns true if they have the
same
// content.
// Compares two wide C strings. Returns true if
and only if
they have the
//
same
content.
//
// Unlike wcscmp(), this function can handle NULL argument(s). A NULL
// C string is considered different to any non-NULL C string,
...
...
@@ -1910,7 +1904,7 @@ AssertionResult CmpHelperSTRNE(const char* s1_expression,
<<
" vs "
<<
PrintToString
(
s2
);
}
// Compares two C strings, ignoring case. Returns true if they have
// Compares two C strings, ignoring case. Returns true if
and only if
they have
// the same content.
//
// Unlike strcasecmp(), this function can handle NULL argument(s). A
...
...
@@ -1922,18 +1916,18 @@ bool String::CaseInsensitiveCStringEquals(const char * lhs, const char * rhs) {
return
posix
::
StrCaseCmp
(
lhs
,
rhs
)
==
0
;
}
// Compares two wide C strings, ignoring case. Returns true if they
// have the same content.
//
// Unlike wcscasecmp(), this function can handle NULL argument(s).
// A NULL C string is considered different to any non-NULL wide C string,
// including the empty string.
// NB: The implementations on different platforms slightly differ.
// On windows, this method uses _wcsicmp which compares according to LC_CTYPE
// environment variable. On GNU platform this method uses wcscasecmp
// which compares according to LC_CTYPE category of the current locale.
// On MacOS X, it uses towlower, which also uses LC_CTYPE category of the
// current locale.
// Compares two wide C strings, ignoring case. Returns true if
and only if
they
// have the same content.
//
// Unlike wcscasecmp(), this function can handle NULL argument(s).
// A NULL C string is considered different to any non-NULL wide C string,
// including the empty string.
// NB: The implementations on different platforms slightly differ.
// On windows, this method uses _wcsicmp which compares according to LC_CTYPE
// environment variable. On GNU platform this method uses wcscasecmp
// which compares according to LC_CTYPE category of the current locale.
// On MacOS X, it uses towlower, which also uses LC_CTYPE category of the
// current locale.
bool
String
::
CaseInsensitiveWideCStringEquals
(
const
wchar_t
*
lhs
,
const
wchar_t
*
rhs
)
{
if
(
lhs
==
nullptr
)
return
rhs
==
nullptr
;
...
...
@@ -1956,7 +1950,7 @@ bool String::CaseInsensitiveWideCStringEquals(const wchar_t* lhs,
#endif // OS selector
}
// Returns true if str ends with the given suffix, ignoring case.
// Returns true if
and only if
str ends with the given suffix, ignoring case.
// Any string is considered to end with an empty suffix.
bool
String
::
EndsWithCaseInsensitive
(
const
std
::
string
&
str
,
const
std
::
string
&
suffix
)
{
...
...
@@ -2198,12 +2192,12 @@ static bool TestPartSkipped(const TestPartResult& result) {
return
result
.
skipped
();
}
// Returns true if the test was skipped.
// Returns true if
and only if
the test was skipped.
bool
TestResult
::
Skipped
()
const
{
return
!
Failed
()
&&
CountIf
(
test_part_results_
,
TestPartSkipped
)
>
0
;
}
// Returns true if the test failed.
// Returns true if
and only if
the test failed.
bool
TestResult
::
Failed
()
const
{
for
(
int
i
=
0
;
i
<
total_part_count
();
++
i
)
{
if
(
GetTestPartResult
(
i
).
failed
())
...
...
@@ -2212,22 +2206,22 @@ bool TestResult::Failed() const {
return
false
;
}
// Returns true if the test part fatally failed.
// Returns true if
and only if
the test part fatally failed.
static
bool
TestPartFatallyFailed
(
const
TestPartResult
&
result
)
{
return
result
.
fatally_failed
();
}
// Returns true if the test fatally failed.
// Returns true if
and only if
the test fatally failed.
bool
TestResult
::
HasFatalFailure
()
const
{
return
CountIf
(
test_part_results_
,
TestPartFatallyFailed
)
>
0
;
}
// Returns true if the test part non-fatally failed.
// Returns true if
and only if
the test part non-fatally failed.
static
bool
TestPartNonfatallyFailed
(
const
TestPartResult
&
result
)
{
return
result
.
nonfatally_failed
();
}
// Returns true if the test has a non-fatal failure.
// Returns true if
and only if
the test has a non-fatal failure.
bool
TestResult
::
HasNonfatalFailure
()
const
{
return
CountIf
(
test_part_results_
,
TestPartNonfatallyFailed
)
>
0
;
}
...
...
@@ -2523,18 +2517,18 @@ void Test::Run() {
this
,
&
Test
::
TearDown
,
"TearDown()"
);
}
// Returns true if the current test has a fatal failure.
// Returns true if
and only if
the current test has a fatal failure.
bool
Test
::
HasFatalFailure
()
{
return
internal
::
GetUnitTestImpl
()
->
current_test_result
()
->
HasFatalFailure
();
}
// Returns true if the current test has a non-fatal failure.
// Returns true if
and only if
the current test has a non-fatal failure.
bool
Test
::
HasNonfatalFailure
()
{
return
internal
::
GetUnitTestImpl
()
->
current_test_result
()
->
HasNonfatalFailure
();
}
// Returns true if the current test was skipped.
// Returns true if
and only if
the current test was skipped.
bool
Test
::
IsSkipped
()
{
return
internal
::
GetUnitTestImpl
()
->
current_test_result
()
->
Skipped
();
}
...
...
@@ -2633,7 +2627,7 @@ class TestNameIs {
explicit
TestNameIs
(
const
char
*
name
)
:
name_
(
name
)
{}
// Returns true if the test name of test_info matches name_.
// Returns true if
and only if
the test name of test_info matches name_.
bool
operator
()(
const
TestInfo
*
test_info
)
const
{
return
test_info
&&
test_info
->
name
()
==
name_
;
}
...
...
@@ -2992,7 +2986,7 @@ static const char* GetAnsiColorCode(GTestColor color) {
#endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MOBILE
// Returns true if Google Test should use colors in the output.
// Returns true if
and only if
Google Test should use colors in the output.
bool
ShouldUseColor
(
bool
stdout_is_tty
)
{
const
char
*
const
gtest_color
=
GTEST_FLAG
(
color
).
c_str
();
...
...
@@ -4709,11 +4703,12 @@ internal::TimeInMillis UnitTest::elapsed_time() const {
return
impl
()
->
elapsed_time
();
}
// Returns true if the unit test passed (i.e. all test suites passed).
// Returns true if and only if the unit test passed (i.e. all test suites
// passed).
bool
UnitTest
::
Passed
()
const
{
return
impl
()
->
Passed
();
}
// Returns true if the unit test failed (i.e. some test suite
failed
// or something outside of all tests failed).
// Returns true if
and only if
the unit test failed (i.e. some test suite
//
failed
or something outside of all tests failed).
bool
UnitTest
::
Failed
()
const
{
return
impl
()
->
Failed
();
}
// Gets the i-th test suite among all the test suites. i can range from 0 to
...
...
@@ -5161,7 +5156,7 @@ class TestSuiteNameIs {
// Constructor.
explicit
TestSuiteNameIs
(
const
std
::
string
&
name
)
:
name_
(
name
)
{}
// Returns true if the name of test_suite matches name_.
// Returns true if
and only if
the name of test_suite matches name_.
bool
operator
()(
const
TestSuite
*
test_suite
)
const
{
return
test_suite
!=
nullptr
&&
strcmp
(
test_suite
->
name
(),
name_
.
c_str
())
==
0
;
...
...
@@ -5232,7 +5227,8 @@ static void TearDownEnvironment(Environment* env) { env->TearDown(); }
// All other functions called from RunAllTests() may safely assume that
// parameterized tests are ready to be counted and run.
bool
UnitTestImpl
::
RunAllTests
()
{
// True if Google Test is initialized before RUN_ALL_TESTS() is called.
// True if and only if Google Test is initialized before RUN_ALL_TESTS() is
// called.
const
bool
gtest_is_initialized_before_run_all_tests
=
GTestIsInitialized
();
// Do not run any test if the --help flag was specified.
...
...
@@ -5248,7 +5244,7 @@ bool UnitTestImpl::RunAllTests() {
// protocol.
internal
::
WriteToShardStatusFileIfNeeded
();
// True if we are in a subprocess for running a thread-safe-style
// True if
and only if
we are in a subprocess for running a thread-safe-style
// death test.
bool
in_subprocess_for_death_test
=
false
;
...
...
@@ -5281,7 +5277,7 @@ bool UnitTestImpl::RunAllTests() {
random_seed_
=
GTEST_FLAG
(
shuffle
)
?
GetRandomSeedFromFlag
(
GTEST_FLAG
(
random_seed
))
:
0
;
// True if at least one test has failed.
// True if
and only if
at least one test has failed.
bool
failed
=
false
;
TestEventListener
*
repeater
=
listeners
()
->
repeater
();
...
...
@@ -5479,8 +5475,8 @@ Int32 Int32FromEnvOrDie(const char* var, Int32 default_val) {
}
// Given the total number of shards, the shard index, and the test id,
// returns true if the test should be run on this shard. The test id
is
// some arbitrary but unique non-negative integer assigned to each test
// returns true if
and only if
the test should be run on this shard. The test id
//
is
some arbitrary but unique non-negative integer assigned to each test
// method. Assumes that 0 <= shard_index < total_shards.
bool
ShouldRunTestOnShard
(
int
total_shards
,
int
shard_index
,
int
test_id
)
{
return
(
test_id
%
total_shards
)
==
shard_index
;
...
...
@@ -6053,7 +6049,7 @@ void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
void
ParseGoogleTestFlagsOnly
(
int
*
argc
,
char
**
argv
)
{
ParseGoogleTestFlagsOnlyImpl
(
argc
,
argv
);
// Fix the value of *_NSGetArgc() on macOS, but if
// Fix the value of *_NSGetArgc() on macOS, but if
and only if
// *_NSGetArgv() == argv
// Only applicable to char** version of argv
#if GTEST_OS_MAC
...
...
googletest/test/googletest-death-test-test.cc
View file @
c7a03daa
...
...
@@ -141,7 +141,7 @@ class TestForDeathTest : public testing::Test {
DieInside
(
"MemberFunction"
);
}
// True if MemberFunction() should die.
// True if
and only if
MemberFunction() should die.
bool
should_die_
;
const
FilePath
original_dir_
;
};
...
...
@@ -158,7 +158,7 @@ class MayDie {
}
private:
// True if MemberFunction() should die.
// True if
and only if
MemberFunction() should die.
bool
should_die_
;
};
...
...
@@ -573,8 +573,8 @@ TEST_F(TestForDeathTest, ErrorMessageMismatch) {
},
"died but not with expected error"
);
}
// On exit, *aborted will be true if the EXPECT_DEATH()
statement
// aborted the function.
// On exit, *aborted will be true if
and only if
the EXPECT_DEATH()
//
statement
aborted the function.
void
ExpectDeathTestHelper
(
bool
*
aborted
)
{
*
aborted
=
true
;
EXPECT_DEATH
(
DieIf
(
false
),
"DieIf"
);
// This assertion should fail.
...
...
googletest/test/googletest-throw-on-failure-test.py
View file @
c7a03daa
...
...
@@ -86,7 +86,7 @@ class ThrowOnFailureTest(gtest_test_utils.TestCase):
variable; None if the variable should be unset.
flag_value: value of the --gtest_break_on_failure flag;
None if the flag should not be present.
should_fail: True if the program is expected to fail.
should_fail: True if
and only if
the program is expected to fail.
"""
SetEnvVar
(
THROW_ON_FAILURE
,
env_var_value
)
...
...
googletest/test/gtest_environment_test.cc
View file @
c7a03daa
...
...
@@ -116,7 +116,7 @@ void Check(bool condition, const char* msg) {
}
}
// Runs the tests. Return true if successful.
// Runs the tests. Return true if
and only if
successful.
//
// The 'failure' parameter specifies the type of failure that should
// be generated by the global set-up.
...
...
googletest/test/gtest_pred_impl_unittest.cc
View file @
c7a03daa
...
...
@@ -144,10 +144,10 @@ class Predicate1Test : public testing::Test {
}
}
// true if the test function is expected to run to finish.
// true if
and only if
the test function is expected to run to finish.
static
bool
expected_to_finish_
;
// true if the test function did run to finish.
// true if
and only if
the test function did run to finish.
static
bool
finished_
;
static
int
n1_
;
...
...
@@ -539,10 +539,10 @@ class Predicate2Test : public testing::Test {
}
}
// true if the test function is expected to run to finish.
// true if
and only if
the test function is expected to run to finish.
static
bool
expected_to_finish_
;
// true if the test function did run to finish.
// true if
and only if
the test function did run to finish.
static
bool
finished_
;
static
int
n1_
;
...
...
@@ -976,10 +976,10 @@ class Predicate3Test : public testing::Test {
}
}
// true if the test function is expected to run to finish.
// true if
and only if
the test function is expected to run to finish.
static
bool
expected_to_finish_
;
// true if the test function did run to finish.
// true if
and only if
the test function did run to finish.
static
bool
finished_
;
static
int
n1_
;
...
...
@@ -1455,10 +1455,10 @@ class Predicate4Test : public testing::Test {
}
}
// true if the test function is expected to run to finish.
// true if
and only if
the test function is expected to run to finish.
static
bool
expected_to_finish_
;
// true if the test function did run to finish.
// true if
and only if
the test function did run to finish.
static
bool
finished_
;
static
int
n1_
;
...
...
@@ -1976,10 +1976,10 @@ class Predicate5Test : public testing::Test {
}
}
// true if the test function is expected to run to finish.
// true if
and only if
the test function is expected to run to finish.
static
bool
expected_to_finish_
;
// true if the test function did run to finish.
// true if
and only if
the test function did run to finish.
static
bool
finished_
;
static
int
n1_
;
...
...
googletest/test/gtest_premature_exit_test.cc
View file @
c7a03daa
...
...
@@ -45,7 +45,7 @@ namespace {
class
PrematureExitTest
:
public
Test
{
public:
// Returns true if the given file exists.
// Returns true if
and only if
the given file exists.
static
bool
FileExists
(
const
char
*
filepath
)
{
StatStruct
stat
;
return
Stat
(
filepath
,
&
stat
)
==
0
;
...
...
@@ -61,7 +61,7 @@ class PrematureExitTest : public Test {
}
}
// Returns true if the premature-exit file exists.
// Returns true if
and only if
the premature-exit file exists.
bool
PrematureExitFileExists
()
const
{
return
FileExists
(
premature_exit_file_path_
);
}
...
...
googletest/test/gtest_test_utils.py
View file @
c7a03daa
...
...
@@ -215,10 +215,11 @@ class Subprocess:
Returns:
An object that represents outcome of the executed process. It has the
following attributes:
terminated_by_signal True if the child process has been
terminated
by a signal.
terminated_by_signal True if
and only if
the child process has been
terminated
by a signal.
signal Sygnal that terminated the child process.
exited True if the child process exited normally.
exited True if and only if the child process exited
normally.
exit_code The code with which the child process exited.
output Child process's stdout and stderr output
combined in a string.
...
...
googletest/test/gtest_unittest.cc
View file @
c7a03daa
...
...
@@ -2167,12 +2167,12 @@ static Environment* record_property_env GTEST_ATTRIBUTE_UNUSED_ =
// First, some predicates and predicate-formatters needed by the tests.
// Returns true if the argument is an even number.
// Returns true if
and only if
the argument is an even number.
bool
IsEven
(
int
n
)
{
return
(
n
%
2
)
==
0
;
}
// A functor that returns true if the argument is an even number.
// A functor that returns true if
and only if
the argument is an even number.
struct
IsEvenFunctor
{
bool
operator
()(
int
n
)
{
return
IsEven
(
n
);
}
};
...
...
@@ -2216,13 +2216,13 @@ struct AssertIsEvenFunctor {
}
};
// Returns true if the sum of the arguments is an even number.
// Returns true if
and only if
the sum of the arguments is an even number.
bool
SumIsEven2
(
int
n1
,
int
n2
)
{
return
IsEven
(
n1
+
n2
);
}
// A functor that returns true if the sum of the arguments is an
even
// number.
// A functor that returns true if
and only if
the sum of the arguments is an
//
even
number.
struct
SumIsEven3Functor
{
bool
operator
()(
int
n1
,
int
n2
,
int
n3
)
{
return
IsEven
(
n1
+
n2
+
n3
);
...
...
Prev
1
2
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