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
4327d95b
You need to sign in or sign up before continuing.
Commit
4327d95b
authored
Oct 07, 2018
by
Jerry Turcios
Browse files
Merge branch 'master' of
https://github.com/google/googletest
parents
7caf5ffd
40f82ce5
Changes
59
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
94 additions
and
116 deletions
+94
-116
googletest/include/gtest/internal/gtest-internal.h
googletest/include/gtest/internal/gtest-internal.h
+5
-18
googletest/include/gtest/internal/gtest-linked_ptr.h
googletest/include/gtest/internal/gtest-linked_ptr.h
+2
-2
googletest/include/gtest/internal/gtest-param-util.h
googletest/include/gtest/internal/gtest-param-util.h
+7
-11
googletest/include/gtest/internal/gtest-port.h
googletest/include/gtest/internal/gtest-port.h
+13
-14
googletest/include/gtest/internal/gtest-type-util.h
googletest/include/gtest/internal/gtest-type-util.h
+1
-1
googletest/samples/sample10_unittest.cc
googletest/samples/sample10_unittest.cc
+1
-1
googletest/samples/sample2.cc
googletest/samples/sample2.cc
+1
-1
googletest/samples/sample2.h
googletest/samples/sample2.h
+4
-6
googletest/samples/sample2_unittest.cc
googletest/samples/sample2_unittest.cc
+3
-3
googletest/samples/sample3-inl.h
googletest/samples/sample3-inl.h
+9
-7
googletest/samples/sample3_unittest.cc
googletest/samples/sample3_unittest.cc
+5
-5
googletest/samples/sample5_unittest.cc
googletest/samples/sample5_unittest.cc
+5
-7
googletest/samples/sample7_unittest.cc
googletest/samples/sample7_unittest.cc
+1
-1
googletest/samples/sample8_unittest.cc
googletest/samples/sample8_unittest.cc
+6
-5
googletest/src/gtest-death-test.cc
googletest/src/gtest-death-test.cc
+9
-11
googletest/src/gtest-filepath.cc
googletest/src/gtest-filepath.cc
+2
-2
googletest/src/gtest-internal-inl.h
googletest/src/gtest-internal-inl.h
+3
-4
googletest/src/gtest-port.cc
googletest/src/gtest-port.cc
+14
-13
googletest/src/gtest-printers.cc
googletest/src/gtest-printers.cc
+2
-2
googletest/src/gtest-test-part.cc
googletest/src/gtest-test-part.cc
+1
-2
No files found.
googletest/include/gtest/internal/gtest-internal.h
View file @
4327d95b
...
@@ -587,8 +587,8 @@ GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251
...
@@ -587,8 +587,8 @@ GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251
// returns NULL if no comma is found in 'str'.
// returns NULL if no comma is found in 'str'.
inline
const
char
*
SkipComma
(
const
char
*
str
)
{
inline
const
char
*
SkipComma
(
const
char
*
str
)
{
const
char
*
comma
=
strchr
(
str
,
','
);
const
char
*
comma
=
strchr
(
str
,
','
);
if
(
comma
==
NULL
)
{
if
(
comma
==
nullptr
)
{
return
NULL
;
return
nullptr
;
}
}
while
(
IsSpace
(
*
(
++
comma
)))
{}
while
(
IsSpace
(
*
(
++
comma
)))
{}
return
comma
;
return
comma
;
...
@@ -598,7 +598,7 @@ inline const char* SkipComma(const char* str) {
...
@@ -598,7 +598,7 @@ inline const char* SkipComma(const char* str) {
// the entire string if it contains no comma.
// the entire string if it contains no comma.
inline
std
::
string
GetPrefixUntilComma
(
const
char
*
str
)
{
inline
std
::
string
GetPrefixUntilComma
(
const
char
*
str
)
{
const
char
*
comma
=
strchr
(
str
,
','
);
const
char
*
comma
=
strchr
(
str
,
','
);
return
comma
==
NULL
?
str
:
std
::
string
(
str
,
comma
);
return
comma
==
nullptr
?
str
:
std
::
string
(
str
,
comma
);
}
}
// Splits a given string on a given delimiter, populating a given
// Splits a given string on a given delimiter, populating a given
...
@@ -667,7 +667,7 @@ class TypeParameterizedTest {
...
@@ -667,7 +667,7 @@ class TypeParameterizedTest {
.
c_str
(),
.
c_str
(),
StripTrailingSpaces
(
GetPrefixUntilComma
(
test_names
)).
c_str
(),
StripTrailingSpaces
(
GetPrefixUntilComma
(
test_names
)).
c_str
(),
GetTypeName
<
Type
>
().
c_str
(),
GetTypeName
<
Type
>
().
c_str
(),
NULL
,
// No value parameter.
nullptr
,
// No value parameter.
code_location
,
GetTypeId
<
FixtureClass
>
(),
TestClass
::
SetUpTestCase
,
code_location
,
GetTypeId
<
FixtureClass
>
(),
TestClass
::
SetUpTestCase
,
TestClass
::
TearDownTestCase
,
new
TestFactoryImpl
<
TestClass
>
);
TestClass
::
TearDownTestCase
,
new
TestFactoryImpl
<
TestClass
>
);
...
@@ -942,7 +942,6 @@ struct IsAProtocolMessage
...
@@ -942,7 +942,6 @@ struct IsAProtocolMessage
// IsContainerTest(typename C::const_iterator*) and
// IsContainerTest(typename C::const_iterator*) and
// IsContainerTest(...) doesn't work with Visual Age C++ and Sun C++.
// IsContainerTest(...) doesn't work with Visual Age C++ and Sun C++.
typedef
int
IsContainer
;
typedef
int
IsContainer
;
#if GTEST_LANG_CXX11
template
<
class
C
,
template
<
class
C
,
class
Iterator
=
decltype
(
::
std
::
declval
<
const
C
&
>().
begin
()),
class
Iterator
=
decltype
(
::
std
::
declval
<
const
C
&
>().
begin
()),
class
=
decltype
(
::
std
::
declval
<
const
C
&>
().
end
()),
class
=
decltype
(
::
std
::
declval
<
const
C
&>
().
end
()),
...
@@ -952,14 +951,6 @@ template <class C,
...
@@ -952,14 +951,6 @@ template <class C,
IsContainer
IsContainerTest
(
int
/* dummy */
)
{
IsContainer
IsContainerTest
(
int
/* dummy */
)
{
return
0
;
return
0
;
}
}
#else
template
<
class
C
>
IsContainer
IsContainerTest
(
int
/* dummy */
,
typename
C
::
iterator
*
/* it */
=
NULL
,
typename
C
::
const_iterator
*
/* const_it */
=
NULL
)
{
return
0
;
}
#endif // GTEST_LANG_CXX11
typedef
char
IsNotContainer
;
typedef
char
IsNotContainer
;
template
<
class
C
>
template
<
class
C
>
...
@@ -980,7 +971,7 @@ struct IsHashTable {
...
@@ -980,7 +971,7 @@ struct IsHashTable {
static
char
test
(...);
static
char
test
(...);
public:
public:
static
const
bool
value
=
sizeof
(
test
<
T
>
(
0
,
0
))
==
sizeof
(
int
);
static
const
bool
value
=
sizeof
(
test
<
T
>
(
nullptr
,
nullptr
))
==
sizeof
(
int
);
};
};
template
<
typename
T
>
template
<
typename
T
>
...
@@ -1014,12 +1005,8 @@ struct IsRecursiveContainerImpl<C, true, false> : public false_type {};
...
@@ -1014,12 +1005,8 @@ struct IsRecursiveContainerImpl<C, true, false> : public false_type {};
template
<
typename
C
>
template
<
typename
C
>
struct
IsRecursiveContainerImpl
<
C
,
true
,
true
>
{
struct
IsRecursiveContainerImpl
<
C
,
true
,
true
>
{
#if GTEST_LANG_CXX11
typedef
typename
IteratorTraits
<
typename
C
::
const_iterator
>::
value_type
typedef
typename
IteratorTraits
<
typename
C
::
const_iterator
>::
value_type
value_type
;
value_type
;
#else
typedef
typename
IteratorTraits
<
typename
C
::
iterator
>::
value_type
value_type
;
#endif
typedef
is_same
<
value_type
,
C
>
type
;
typedef
is_same
<
value_type
,
C
>
type
;
};
};
...
...
googletest/include/gtest/internal/gtest-linked_ptr.h
View file @
4327d95b
...
@@ -149,7 +149,7 @@ class linked_ptr {
...
@@ -149,7 +149,7 @@ class linked_ptr {
// Take over ownership of a raw pointer. This should happen as soon as
// Take over ownership of a raw pointer. This should happen as soon as
// possible after the object is created.
// possible after the object is created.
explicit
linked_ptr
(
T
*
ptr
=
NULL
)
{
capture
(
ptr
);
}
explicit
linked_ptr
(
T
*
ptr
=
nullptr
)
{
capture
(
ptr
);
}
~
linked_ptr
()
{
depart
();
}
~
linked_ptr
()
{
depart
();
}
// Copy an existing linked_ptr<>, adding ourselves to the list of references.
// Copy an existing linked_ptr<>, adding ourselves to the list of references.
...
@@ -175,7 +175,7 @@ class linked_ptr {
...
@@ -175,7 +175,7 @@ class linked_ptr {
}
}
// Smart pointer members.
// Smart pointer members.
void
reset
(
T
*
ptr
=
NULL
)
{
void
reset
(
T
*
ptr
=
nullptr
)
{
depart
();
depart
();
capture
(
ptr
);
capture
(
ptr
);
}
}
...
...
googletest/include/gtest/internal/gtest-param-util.h
View file @
4327d95b
...
@@ -327,8 +327,7 @@ class ValuesInIteratorRangeGenerator : public ParamGeneratorInterface<T> {
...
@@ -327,8 +327,7 @@ class ValuesInIteratorRangeGenerator : public ParamGeneratorInterface<T> {
// detect that fact. The client code, on the other hand, is
// detect that fact. The client code, on the other hand, is
// responsible for not calling Current() on an out-of-range iterator.
// responsible for not calling Current() on an out-of-range iterator.
virtual
const
T
*
Current
()
const
{
virtual
const
T
*
Current
()
const
{
if
(
value_
.
get
()
==
NULL
)
if
(
value_
.
get
()
==
nullptr
)
value_
.
reset
(
new
T
(
*
iterator_
));
value_
.
reset
(
new
T
(
*
iterator_
));
return
value_
.
get
();
return
value_
.
get
();
}
}
virtual
bool
Equals
(
const
ParamIteratorInterface
<
T
>&
other
)
const
{
virtual
bool
Equals
(
const
ParamIteratorInterface
<
T
>&
other
)
const
{
...
@@ -579,13 +578,10 @@ class ParameterizedTestCaseInfo : public ParameterizedTestCaseInfoBase {
...
@@ -579,13 +578,10 @@ class ParameterizedTestCaseInfo : public ParameterizedTestCaseInfoBase {
test_name_stream
<<
test_info
->
test_base_name
<<
"/"
<<
param_name
;
test_name_stream
<<
test_info
->
test_base_name
<<
"/"
<<
param_name
;
MakeAndRegisterTestInfo
(
MakeAndRegisterTestInfo
(
test_case_name
.
c_str
(),
test_case_name
.
c_str
(),
test_name_stream
.
GetString
().
c_str
(),
test_name_stream
.
GetString
().
c_str
(),
nullptr
,
// No type parameter.
NULL
,
// No type parameter.
PrintToString
(
*
param_it
).
c_str
(),
code_location_
,
PrintToString
(
*
param_it
).
c_str
(),
GetTestCaseTypeId
(),
TestCase
::
SetUpTestCase
,
code_location_
,
GetTestCaseTypeId
(),
TestCase
::
SetUpTestCase
,
TestCase
::
TearDownTestCase
,
TestCase
::
TearDownTestCase
,
test_info
->
test_meta_factory
->
CreateTestFactory
(
*
param_it
));
test_info
->
test_meta_factory
->
CreateTestFactory
(
*
param_it
));
}
// for param_it
}
// for param_it
...
@@ -676,7 +672,7 @@ class ParameterizedTestCaseRegistry {
...
@@ -676,7 +672,7 @@ class ParameterizedTestCaseRegistry {
ParameterizedTestCaseInfo
<
TestCase
>*
GetTestCasePatternHolder
(
ParameterizedTestCaseInfo
<
TestCase
>*
GetTestCasePatternHolder
(
const
char
*
test_case_name
,
const
char
*
test_case_name
,
CodeLocation
code_location
)
{
CodeLocation
code_location
)
{
ParameterizedTestCaseInfo
<
TestCase
>*
typed_test_info
=
NULL
;
ParameterizedTestCaseInfo
<
TestCase
>*
typed_test_info
=
nullptr
;
for
(
TestCaseInfoContainer
::
iterator
it
=
test_case_infos_
.
begin
();
for
(
TestCaseInfoContainer
::
iterator
it
=
test_case_infos_
.
begin
();
it
!=
test_case_infos_
.
end
();
++
it
)
{
it
!=
test_case_infos_
.
end
();
++
it
)
{
if
((
*
it
)
->
GetTestCaseName
()
==
test_case_name
)
{
if
((
*
it
)
->
GetTestCaseName
()
==
test_case_name
)
{
...
@@ -696,7 +692,7 @@ class ParameterizedTestCaseRegistry {
...
@@ -696,7 +692,7 @@ class ParameterizedTestCaseRegistry {
break
;
break
;
}
}
}
}
if
(
typed_test_info
==
NULL
)
{
if
(
typed_test_info
==
nullptr
)
{
typed_test_info
=
new
ParameterizedTestCaseInfo
<
TestCase
>
(
typed_test_info
=
new
ParameterizedTestCaseInfo
<
TestCase
>
(
test_case_name
,
code_location
);
test_case_name
,
code_location
);
test_case_infos_
.
push_back
(
typed_test_info
);
test_case_infos_
.
push_back
(
typed_test_info
);
...
...
googletest/include/gtest/internal/gtest-port.h
View file @
4327d95b
...
@@ -1197,7 +1197,7 @@ class scoped_ptr {
...
@@ -1197,7 +1197,7 @@ class scoped_ptr {
public:
public:
typedef
T
element_type
;
typedef
T
element_type
;
explicit
scoped_ptr
(
T
*
p
=
NULL
)
:
ptr_
(
p
)
{}
explicit
scoped_ptr
(
T
*
p
=
nullptr
)
:
ptr_
(
p
)
{}
~
scoped_ptr
()
{
reset
();
}
~
scoped_ptr
()
{
reset
();
}
T
&
operator
*
()
const
{
return
*
ptr_
;
}
T
&
operator
*
()
const
{
return
*
ptr_
;
}
...
@@ -1206,11 +1206,11 @@ class scoped_ptr {
...
@@ -1206,11 +1206,11 @@ class scoped_ptr {
T
*
release
()
{
T
*
release
()
{
T
*
const
ptr
=
ptr_
;
T
*
const
ptr
=
ptr_
;
ptr_
=
NULL
;
ptr_
=
nullptr
;
return
ptr
;
return
ptr
;
}
}
void
reset
(
T
*
p
=
NULL
)
{
void
reset
(
T
*
p
=
nullptr
)
{
if
(
p
!=
ptr_
)
{
if
(
p
!=
ptr_
)
{
if
(
IsTrue
(
sizeof
(
T
)
>
0
))
{
// Makes sure T is a complete type.
if
(
IsTrue
(
sizeof
(
T
)
>
0
))
{
// Makes sure T is a complete type.
delete
ptr_
;
delete
ptr_
;
...
@@ -1360,7 +1360,7 @@ class GTEST_API_ GTestLog {
...
@@ -1360,7 +1360,7 @@ class GTEST_API_ GTestLog {
__FILE__, __LINE__).GetStream()
__FILE__, __LINE__).GetStream()
inline
void
LogToStderr
()
{}
inline
void
LogToStderr
()
{}
inline
void
FlushInfoLog
()
{
fflush
(
NULL
);
}
inline
void
FlushInfoLog
()
{
fflush
(
nullptr
);
}
#endif // !defined(GTEST_LOG_)
#endif // !defined(GTEST_LOG_)
...
@@ -1511,7 +1511,7 @@ inline To DownCast_(From* f) { // so we only accept pointers
...
@@ -1511,7 +1511,7 @@ inline To DownCast_(From* f) { // so we only accept pointers
#if GTEST_HAS_RTTI
#if GTEST_HAS_RTTI
// RTTI: debug mode only!
// RTTI: debug mode only!
GTEST_CHECK_
(
f
==
NULL
||
dynamic_cast
<
To
>
(
f
)
!=
NULL
);
GTEST_CHECK_
(
f
==
nullptr
||
dynamic_cast
<
To
>
(
f
)
!=
NULL
);
#endif
#endif
return
static_cast
<
To
>
(
f
);
return
static_cast
<
To
>
(
f
);
}
}
...
@@ -1583,7 +1583,7 @@ inline void SleepMilliseconds(int n) {
...
@@ -1583,7 +1583,7 @@ inline void SleepMilliseconds(int n) {
0
,
// 0 seconds.
0
,
// 0 seconds.
n
*
1000L
*
1000L
,
// And n ms.
n
*
1000L
*
1000L
,
// And n ms.
};
};
nanosleep
(
&
time
,
NULL
);
nanosleep
(
&
time
,
nullptr
);
}
}
# endif // GTEST_HAS_PTHREAD
# endif // GTEST_HAS_PTHREAD
...
@@ -1601,7 +1601,7 @@ inline void SleepMilliseconds(int n) {
...
@@ -1601,7 +1601,7 @@ inline void SleepMilliseconds(int n) {
class
Notification
{
class
Notification
{
public:
public:
Notification
()
:
notified_
(
false
)
{
Notification
()
:
notified_
(
false
)
{
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_mutex_init
(
&
mutex_
,
NULL
));
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_mutex_init
(
&
mutex_
,
nullptr
));
}
}
~
Notification
()
{
~
Notification
()
{
pthread_mutex_destroy
(
&
mutex_
);
pthread_mutex_destroy
(
&
mutex_
);
...
@@ -1710,7 +1710,7 @@ class ThreadWithParamBase {
...
@@ -1710,7 +1710,7 @@ class ThreadWithParamBase {
// pass into pthread_create().
// pass into pthread_create().
extern
"C"
inline
void
*
ThreadFuncWithCLinkage
(
void
*
thread
)
{
extern
"C"
inline
void
*
ThreadFuncWithCLinkage
(
void
*
thread
)
{
static_cast
<
ThreadWithParamBase
*>
(
thread
)
->
Run
();
static_cast
<
ThreadWithParamBase
*>
(
thread
)
->
Run
();
return
NULL
;
return
nullptr
;
}
}
// Helper class for testing Google Test's multi-threading constructs.
// Helper class for testing Google Test's multi-threading constructs.
...
@@ -1739,20 +1739,19 @@ class ThreadWithParam : public ThreadWithParamBase {
...
@@ -1739,20 +1739,19 @@ class ThreadWithParam : public ThreadWithParamBase {
// The thread can be created only after all fields except thread_
// The thread can be created only after all fields except thread_
// have been initialized.
// have been initialized.
GTEST_CHECK_POSIX_SUCCESS_
(
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_create
(
&
thread_
,
0
,
&
ThreadFuncWithCLinkage
,
base
));
pthread_create
(
&
thread_
,
nullptr
,
&
ThreadFuncWithCLinkage
,
base
));
}
}
~
ThreadWithParam
()
{
Join
();
}
~
ThreadWithParam
()
{
Join
();
}
void
Join
()
{
void
Join
()
{
if
(
!
finished_
)
{
if
(
!
finished_
)
{
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_join
(
thread_
,
0
));
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_join
(
thread_
,
nullptr
));
finished_
=
true
;
finished_
=
true
;
}
}
}
}
virtual
void
Run
()
{
virtual
void
Run
()
{
if
(
thread_can_start_
!=
NULL
)
if
(
thread_can_start_
!=
nullptr
)
thread_can_start_
->
WaitForNotification
();
thread_can_start_
->
WaitForNotification
();
func_
(
param_
);
func_
(
param_
);
}
}
...
@@ -2115,7 +2114,7 @@ class MutexBase {
...
@@ -2115,7 +2114,7 @@ class MutexBase {
class
Mutex
:
public
MutexBase
{
class
Mutex
:
public
MutexBase
{
public:
public:
Mutex
()
{
Mutex
()
{
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_mutex_init
(
&
mutex_
,
NULL
));
GTEST_CHECK_POSIX_SUCCESS_
(
pthread_mutex_init
(
&
mutex_
,
nullptr
));
has_owner_
=
false
;
has_owner_
=
false
;
}
}
~
Mutex
()
{
~
Mutex
()
{
...
@@ -2213,7 +2212,7 @@ class GTEST_API_ ThreadLocal {
...
@@ -2213,7 +2212,7 @@ class GTEST_API_ ThreadLocal {
T
*
GetOrCreateValue
()
const
{
T
*
GetOrCreateValue
()
const
{
ThreadLocalValueHolderBase
*
const
holder
=
ThreadLocalValueHolderBase
*
const
holder
=
static_cast
<
ThreadLocalValueHolderBase
*>
(
pthread_getspecific
(
key_
));
static_cast
<
ThreadLocalValueHolderBase
*>
(
pthread_getspecific
(
key_
));
if
(
holder
!=
NULL
)
{
if
(
holder
!=
nullptr
)
{
return
CheckedDowncastToActualType
<
ValueHolder
>
(
holder
)
->
pointer
();
return
CheckedDowncastToActualType
<
ValueHolder
>
(
holder
)
->
pointer
();
}
}
...
...
googletest/include/gtest/internal/gtest-type-util.h
View file @
4327d95b
...
@@ -89,7 +89,7 @@ std::string GetTypeName() {
...
@@ -89,7 +89,7 @@ std::string GetTypeName() {
# if GTEST_HAS_CXXABI_H_
# if GTEST_HAS_CXXABI_H_
using
abi
::
__cxa_demangle
;
using
abi
::
__cxa_demangle
;
# endif // GTEST_HAS_CXXABI_H_
# endif // GTEST_HAS_CXXABI_H_
char
*
const
readable_name
=
__cxa_demangle
(
name
,
0
,
0
,
&
status
);
char
*
const
readable_name
=
__cxa_demangle
(
name
,
nullptr
,
nullptr
,
&
status
);
const
std
::
string
name_str
(
status
==
0
?
readable_name
:
name
);
const
std
::
string
name_str
(
status
==
0
?
readable_name
:
name
);
free
(
readable_name
);
free
(
readable_name
);
return
CanonicalizeForStdLibVersioning
(
name_str
);
return
CanonicalizeForStdLibVersioning
(
name_str
);
...
...
googletest/samples/sample10_unittest.cc
View file @
4327d95b
...
@@ -100,7 +100,7 @@ TEST(ListenersTest, DoesNotLeak) {
...
@@ -100,7 +100,7 @@ TEST(ListenersTest, DoesNotLeak) {
// specified.
// specified.
TEST
(
ListenersTest
,
LeaksWater
)
{
TEST
(
ListenersTest
,
LeaksWater
)
{
Water
*
water
=
new
Water
;
Water
*
water
=
new
Water
;
EXPECT_TRUE
(
water
!=
NULL
);
EXPECT_TRUE
(
water
!=
nullptr
);
}
}
}
// namespace
}
// namespace
...
...
googletest/samples/sample2.cc
View file @
4327d95b
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
// Clones a 0-terminated C string, allocating memory using new.
// Clones a 0-terminated C string, allocating memory using new.
const
char
*
MyString
::
CloneCString
(
const
char
*
a_c_string
)
{
const
char
*
MyString
::
CloneCString
(
const
char
*
a_c_string
)
{
if
(
a_c_string
==
NULL
)
return
NULL
;
if
(
a_c_string
==
nullptr
)
return
nullptr
;
const
size_t
len
=
strlen
(
a_c_string
);
const
size_t
len
=
strlen
(
a_c_string
);
char
*
const
clone
=
new
char
[
len
+
1
];
char
*
const
clone
=
new
char
[
len
+
1
];
...
...
googletest/samples/sample2.h
View file @
4327d95b
...
@@ -50,15 +50,15 @@ class MyString {
...
@@ -50,15 +50,15 @@ class MyString {
// C'tors
// C'tors
// The default c'tor constructs a NULL string.
// The default c'tor constructs a NULL string.
MyString
()
:
c_string_
(
NULL
)
{}
MyString
()
:
c_string_
(
nullptr
)
{}
// Constructs a MyString by cloning a 0-terminated C string.
// Constructs a MyString by cloning a 0-terminated C string.
explicit
MyString
(
const
char
*
a_c_string
)
:
c_string_
(
NULL
)
{
explicit
MyString
(
const
char
*
a_c_string
)
:
c_string_
(
nullptr
)
{
Set
(
a_c_string
);
Set
(
a_c_string
);
}
}
// Copy c'tor
// Copy c'tor
MyString
(
const
MyString
&
string
)
:
c_string_
(
NULL
)
{
MyString
(
const
MyString
&
string
)
:
c_string_
(
nullptr
)
{
Set
(
string
.
c_string_
);
Set
(
string
.
c_string_
);
}
}
...
@@ -71,9 +71,7 @@ class MyString {
...
@@ -71,9 +71,7 @@ class MyString {
// Gets the 0-terminated C string this MyString object represents.
// Gets the 0-terminated C string this MyString object represents.
const
char
*
c_string
()
const
{
return
c_string_
;
}
const
char
*
c_string
()
const
{
return
c_string_
;
}
size_t
Length
()
const
{
size_t
Length
()
const
{
return
c_string_
==
nullptr
?
0
:
strlen
(
c_string_
);
}
return
c_string_
==
NULL
?
0
:
strlen
(
c_string_
);
}
// Sets the 0-terminated C string this MyString object represents.
// Sets the 0-terminated C string this MyString object represents.
void
Set
(
const
char
*
c_string
);
void
Set
(
const
char
*
c_string
);
...
...
googletest/samples/sample2_unittest.cc
View file @
4327d95b
...
@@ -66,7 +66,7 @@ TEST(MyString, DefaultConstructor) {
...
@@ -66,7 +66,7 @@ TEST(MyString, DefaultConstructor) {
// we have to live with this fact.
// we have to live with this fact.
//
//
// </TechnicalDetails>
// </TechnicalDetails>
EXPECT_STREQ
(
NULL
,
s
.
c_string
());
EXPECT_STREQ
(
nullptr
,
s
.
c_string
());
EXPECT_EQ
(
0u
,
s
.
Length
());
EXPECT_EQ
(
0u
,
s
.
Length
());
}
}
...
@@ -101,7 +101,7 @@ TEST(MyString, Set) {
...
@@ -101,7 +101,7 @@ TEST(MyString, Set) {
EXPECT_EQ
(
0
,
strcmp
(
s
.
c_string
(),
kHelloString
));
EXPECT_EQ
(
0
,
strcmp
(
s
.
c_string
(),
kHelloString
));
// Can we set the MyString to NULL?
// Can we set the MyString to NULL?
s
.
Set
(
NULL
);
s
.
Set
(
nullptr
);
EXPECT_STREQ
(
NULL
,
s
.
c_string
());
EXPECT_STREQ
(
nullptr
,
s
.
c_string
());
}
}
}
// namespace
}
// namespace
googletest/samples/sample3-inl.h
View file @
4327d95b
...
@@ -58,7 +58,8 @@ class QueueNode {
...
@@ -58,7 +58,8 @@ class QueueNode {
private:
private:
// Creates a node with a given element value. The next pointer is
// Creates a node with a given element value. The next pointer is
// set to NULL.
// set to NULL.
explicit
QueueNode
(
const
E
&
an_element
)
:
element_
(
an_element
),
next_
(
NULL
)
{}
explicit
QueueNode
(
const
E
&
an_element
)
:
element_
(
an_element
),
next_
(
nullptr
)
{}
// We disable the default assignment operator and copy c'tor.
// We disable the default assignment operator and copy c'tor.
const
QueueNode
&
operator
=
(
const
QueueNode
&
);
const
QueueNode
&
operator
=
(
const
QueueNode
&
);
...
@@ -72,7 +73,7 @@ template <typename E> // E is the element type.
...
@@ -72,7 +73,7 @@ template <typename E> // E is the element type.
class
Queue
{
class
Queue
{
public:
public:
// Creates an empty queue.
// Creates an empty queue.
Queue
()
:
head_
(
NULL
),
last_
(
NULL
),
size_
(
0
)
{}
Queue
()
:
head_
(
nullptr
),
last_
(
nullptr
),
size_
(
0
)
{}
// D'tor. Clears the queue.
// D'tor. Clears the queue.
~
Queue
()
{
Clear
();
}
~
Queue
()
{
Clear
();
}
...
@@ -86,12 +87,12 @@ class Queue {
...
@@ -86,12 +87,12 @@ class Queue {
for
(;
;)
{
for
(;
;)
{
delete
node
;
delete
node
;
node
=
next
;
node
=
next
;
if
(
node
==
NULL
)
break
;
if
(
node
==
nullptr
)
break
;
next
=
node
->
next
();
next
=
node
->
next
();
}
}
// 2. Resets the member variables.
// 2. Resets the member variables.
head_
=
last_
=
NULL
;
head_
=
last_
=
nullptr
;
size_
=
0
;
size_
=
0
;
}
}
}
}
...
@@ -128,14 +129,14 @@ class Queue {
...
@@ -128,14 +129,14 @@ class Queue {
// the queue is empty.
// the queue is empty.
E
*
Dequeue
()
{
E
*
Dequeue
()
{
if
(
size_
==
0
)
{
if
(
size_
==
0
)
{
return
NULL
;
return
nullptr
;
}
}
const
QueueNode
<
E
>*
const
old_head
=
head_
;
const
QueueNode
<
E
>*
const
old_head
=
head_
;
head_
=
head_
->
next_
;
head_
=
head_
->
next_
;
size_
--
;
size_
--
;
if
(
size_
==
0
)
{
if
(
size_
==
0
)
{
last_
=
NULL
;
last_
=
nullptr
;
}
}
E
*
element
=
new
E
(
old_head
->
element
());
E
*
element
=
new
E
(
old_head
->
element
());
...
@@ -150,7 +151,8 @@ class Queue {
...
@@ -150,7 +151,8 @@ class Queue {
template
<
typename
F
>
template
<
typename
F
>
Queue
*
Map
(
F
function
)
const
{
Queue
*
Map
(
F
function
)
const
{
Queue
*
new_queue
=
new
Queue
();
Queue
*
new_queue
=
new
Queue
();
for
(
const
QueueNode
<
E
>*
node
=
head_
;
node
!=
NULL
;
node
=
node
->
next_
)
{
for
(
const
QueueNode
<
E
>*
node
=
head_
;
node
!=
nullptr
;
node
=
node
->
next_
)
{
new_queue
->
Enqueue
(
function
(
node
->
element
()));
new_queue
->
Enqueue
(
function
(
node
->
element
()));
}
}
...
...
googletest/samples/sample3_unittest.cc
View file @
4327d95b
...
@@ -99,8 +99,8 @@ class QueueTestSmpl3 : public testing::Test {
...
@@ -99,8 +99,8 @@ class QueueTestSmpl3 : public testing::Test {
ASSERT_EQ
(
q
->
Size
(),
new_q
->
Size
());
ASSERT_EQ
(
q
->
Size
(),
new_q
->
Size
());
// Verifies the relationship between the elements of the two queues.
// Verifies the relationship between the elements of the two queues.
for
(
const
QueueNode
<
int
>
*
n1
=
q
->
Head
(),
*
n2
=
new_q
->
Head
();
for
(
const
QueueNode
<
int
>
*
n1
=
q
->
Head
(),
*
n2
=
new_q
->
Head
();
n1
!=
NULL
;
n1
=
n1
->
next
(),
n2
=
n2
->
next
()
)
{
n1
!=
nullptr
;
n1
=
n1
->
next
(),
n2
=
n2
->
next
())
{
EXPECT_EQ
(
2
*
n1
->
element
(),
n2
->
element
());
EXPECT_EQ
(
2
*
n1
->
element
(),
n2
->
element
());
}
}
...
@@ -125,16 +125,16 @@ TEST_F(QueueTestSmpl3, DefaultConstructor) {
...
@@ -125,16 +125,16 @@ TEST_F(QueueTestSmpl3, DefaultConstructor) {
// Tests Dequeue().
// Tests Dequeue().
TEST_F
(
QueueTestSmpl3
,
Dequeue
)
{
TEST_F
(
QueueTestSmpl3
,
Dequeue
)
{
int
*
n
=
q0_
.
Dequeue
();
int
*
n
=
q0_
.
Dequeue
();
EXPECT_TRUE
(
n
==
NULL
);
EXPECT_TRUE
(
n
==
nullptr
);
n
=
q1_
.
Dequeue
();
n
=
q1_
.
Dequeue
();
ASSERT_TRUE
(
n
!=
NULL
);
ASSERT_TRUE
(
n
!=
nullptr
);
EXPECT_EQ
(
1
,
*
n
);
EXPECT_EQ
(
1
,
*
n
);
EXPECT_EQ
(
0u
,
q1_
.
Size
());
EXPECT_EQ
(
0u
,
q1_
.
Size
());
delete
n
;
delete
n
;
n
=
q2_
.
Dequeue
();
n
=
q2_
.
Dequeue
();
ASSERT_TRUE
(
n
!=
NULL
);
ASSERT_TRUE
(
n
!=
nullptr
);
EXPECT_EQ
(
2
,
*
n
);
EXPECT_EQ
(
2
,
*
n
);
EXPECT_EQ
(
1u
,
q2_
.
Size
());
EXPECT_EQ
(
1u
,
q2_
.
Size
());
delete
n
;
delete
n
;
...
...
googletest/samples/sample5_unittest.cc
View file @
4327d95b
...
@@ -63,15 +63,13 @@ class QuickTest : public testing::Test {
...
@@ -63,15 +63,13 @@ class QuickTest : public testing::Test {
protected:
protected:
// Remember that SetUp() is run immediately before a test starts.
// Remember that SetUp() is run immediately before a test starts.
// This is a good place to record the start time.
// This is a good place to record the start time.
virtual
void
SetUp
()
{
virtual
void
SetUp
()
{
start_time_
=
time
(
nullptr
);
}
start_time_
=
time
(
NULL
);
}
// TearDown() is invoked immediately after a test finishes. Here we
// TearDown() is invoked immediately after a test finishes. Here we
// check if the test was too slow.
// check if the test was too slow.
virtual
void
TearDown
()
{
virtual
void
TearDown
()
{
// Gets the time when the test finishes
// Gets the time when the test finishes
const
time_t
end_time
=
time
(
NULL
);
const
time_t
end_time
=
time
(
nullptr
);
// Asserts that the test took no more than ~5 seconds. Did you
// Asserts that the test took no more than ~5 seconds. Did you
// know that you can use assertions in SetUp() and TearDown() as
// know that you can use assertions in SetUp() and TearDown() as
...
@@ -176,16 +174,16 @@ TEST_F(QueueTest, DefaultConstructor) {
...
@@ -176,16 +174,16 @@ TEST_F(QueueTest, DefaultConstructor) {
// Tests Dequeue().
// Tests Dequeue().
TEST_F
(
QueueTest
,
Dequeue
)
{
TEST_F
(
QueueTest
,
Dequeue
)
{
int
*
n
=
q0_
.
Dequeue
();
int
*
n
=
q0_
.
Dequeue
();
EXPECT_TRUE
(
n
==
NULL
);
EXPECT_TRUE
(
n
==
nullptr
);
n
=
q1_
.
Dequeue
();
n
=
q1_
.
Dequeue
();
EXPECT_TRUE
(
n
!=
NULL
);
EXPECT_TRUE
(
n
!=
nullptr
);
EXPECT_EQ
(
1
,
*
n
);
EXPECT_EQ
(
1
,
*
n
);
EXPECT_EQ
(
0u
,
q1_
.
Size
());
EXPECT_EQ
(
0u
,
q1_
.
Size
());
delete
n
;
delete
n
;
n
=
q2_
.
Dequeue
();
n
=
q2_
.
Dequeue
();
EXPECT_TRUE
(
n
!=
NULL
);
EXPECT_TRUE
(
n
!=
nullptr
);
EXPECT_EQ
(
2
,
*
n
);
EXPECT_EQ
(
2
,
*
n
);
EXPECT_EQ
(
1u
,
q2_
.
Size
());
EXPECT_EQ
(
1u
,
q2_
.
Size
());
delete
n
;
delete
n
;
...
...
googletest/samples/sample7_unittest.cc
View file @
4327d95b
...
@@ -69,7 +69,7 @@ class PrimeTableTestSmpl7 : public TestWithParam<CreatePrimeTableFunc*> {
...
@@ -69,7 +69,7 @@ class PrimeTableTestSmpl7 : public TestWithParam<CreatePrimeTableFunc*> {
virtual
void
SetUp
()
{
table_
=
(
*
GetParam
())();
}
virtual
void
SetUp
()
{
table_
=
(
*
GetParam
())();
}
virtual
void
TearDown
()
{
virtual
void
TearDown
()
{
delete
table_
;
delete
table_
;
table_
=
NULL
;
table_
=
nullptr
;
}
}
protected:
protected:
...
...
googletest/samples/sample8_unittest.cc
View file @
4327d95b
...
@@ -50,8 +50,9 @@ class HybridPrimeTable : public PrimeTable {
...
@@ -50,8 +50,9 @@ class HybridPrimeTable : public PrimeTable {
public:
public:
HybridPrimeTable
(
bool
force_on_the_fly
,
int
max_precalculated
)
HybridPrimeTable
(
bool
force_on_the_fly
,
int
max_precalculated
)
:
on_the_fly_impl_
(
new
OnTheFlyPrimeTable
),
:
on_the_fly_impl_
(
new
OnTheFlyPrimeTable
),
precalc_impl_
(
force_on_the_fly
?
NULL
:
precalc_impl_
(
force_on_the_fly
new
PreCalculatedPrimeTable
(
max_precalculated
)),
?
nullptr
:
new
PreCalculatedPrimeTable
(
max_precalculated
)),
max_precalculated_
(
max_precalculated
)
{}
max_precalculated_
(
max_precalculated
)
{}
virtual
~
HybridPrimeTable
()
{
virtual
~
HybridPrimeTable
()
{
delete
on_the_fly_impl_
;
delete
on_the_fly_impl_
;
...
@@ -59,7 +60,7 @@ class HybridPrimeTable : public PrimeTable {
...
@@ -59,7 +60,7 @@ class HybridPrimeTable : public PrimeTable {
}
}
virtual
bool
IsPrime
(
int
n
)
const
{
virtual
bool
IsPrime
(
int
n
)
const
{
if
(
precalc_impl_
!=
NULL
&&
n
<
max_precalculated_
)
if
(
precalc_impl_
!=
nullptr
&&
n
<
max_precalculated_
)
return
precalc_impl_
->
IsPrime
(
n
);
return
precalc_impl_
->
IsPrime
(
n
);
else
else
return
on_the_fly_impl_
->
IsPrime
(
n
);
return
on_the_fly_impl_
->
IsPrime
(
n
);
...
@@ -67,7 +68,7 @@ class HybridPrimeTable : public PrimeTable {
...
@@ -67,7 +68,7 @@ class HybridPrimeTable : public PrimeTable {
virtual
int
GetNextPrime
(
int
p
)
const
{
virtual
int
GetNextPrime
(
int
p
)
const
{
int
next_prime
=
-
1
;
int
next_prime
=
-
1
;
if
(
precalc_impl_
!=
NULL
&&
p
<
max_precalculated_
)
if
(
precalc_impl_
!=
nullptr
&&
p
<
max_precalculated_
)
next_prime
=
precalc_impl_
->
GetNextPrime
(
p
);
next_prime
=
precalc_impl_
->
GetNextPrime
(
p
);
return
next_prime
!=
-
1
?
next_prime
:
on_the_fly_impl_
->
GetNextPrime
(
p
);
return
next_prime
!=
-
1
?
next_prime
:
on_the_fly_impl_
->
GetNextPrime
(
p
);
...
@@ -106,7 +107,7 @@ class PrimeTableTest : public TestWithParam< ::testing::tuple<bool, int> > {
...
@@ -106,7 +107,7 @@ class PrimeTableTest : public TestWithParam< ::testing::tuple<bool, int> > {
}
}
virtual
void
TearDown
()
{
virtual
void
TearDown
()
{
delete
table_
;
delete
table_
;
table_
=
NULL
;
table_
=
nullptr
;
}
}
HybridPrimeTable
*
table_
;
HybridPrimeTable
*
table_
;
};
};
...
...
googletest/src/gtest-death-test.cc
View file @
4327d95b
...
@@ -281,7 +281,7 @@ static void DeathTestAbort(const std::string& message) {
...
@@ -281,7 +281,7 @@ static void DeathTestAbort(const std::string& message) {
// the heap for any additional non-minuscule memory requirements.
// the heap for any additional non-minuscule memory requirements.
const
InternalRunDeathTestFlag
*
const
flag
=
const
InternalRunDeathTestFlag
*
const
flag
=
GetUnitTestImpl
()
->
internal_run_death_test_flag
();
GetUnitTestImpl
()
->
internal_run_death_test_flag
();
if
(
flag
!=
NULL
)
{
if
(
flag
!=
nullptr
)
{
FILE
*
parent
=
posix
::
FDOpen
(
flag
->
write_fd
(),
"w"
);
FILE
*
parent
=
posix
::
FDOpen
(
flag
->
write_fd
(),
"w"
);
fputc
(
kDeathTestInternalError
,
parent
);
fputc
(
kDeathTestInternalError
,
parent
);
fprintf
(
parent
,
"%s"
,
message
.
c_str
());
fprintf
(
parent
,
"%s"
,
message
.
c_str
());
...
@@ -361,7 +361,7 @@ static void FailFromInternalError(int fd) {
...
@@ -361,7 +361,7 @@ static void FailFromInternalError(int fd) {
// for the current test.
// for the current test.
DeathTest
::
DeathTest
()
{
DeathTest
::
DeathTest
()
{
TestInfo
*
const
info
=
GetUnitTestImpl
()
->
current_test_info
();
TestInfo
*
const
info
=
GetUnitTestImpl
()
->
current_test_info
();
if
(
info
==
NULL
)
{
if
(
info
==
nullptr
)
{
DeathTestAbort
(
"Cannot run a death test outside of a TEST or "
DeathTestAbort
(
"Cannot run a death test outside of a TEST or "
"TEST_F construct"
);
"TEST_F construct"
);
}
}
...
@@ -1115,9 +1115,7 @@ class ExecDeathTest : public ForkingDeathTest {
...
@@ -1115,9 +1115,7 @@ class ExecDeathTest : public ForkingDeathTest {
// Utility class for accumulating command-line arguments.
// Utility class for accumulating command-line arguments.
class
Arguments
{
class
Arguments
{
public:
public:
Arguments
()
{
Arguments
()
{
args_
.
push_back
(
nullptr
);
}
args_
.
push_back
(
NULL
);
}
~
Arguments
()
{
~
Arguments
()
{
for
(
std
::
vector
<
char
*>::
iterator
i
=
args_
.
begin
();
i
!=
args_
.
end
();
for
(
std
::
vector
<
char
*>::
iterator
i
=
args_
.
begin
();
i
!=
args_
.
end
();
...
@@ -1288,7 +1286,7 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) {
...
@@ -1288,7 +1286,7 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) {
static
const
bool
stack_grows_down
=
StackGrowsDown
();
static
const
bool
stack_grows_down
=
StackGrowsDown
();
const
size_t
stack_size
=
getpagesize
();
const
size_t
stack_size
=
getpagesize
();
// MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
// MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
void
*
const
stack
=
mmap
(
NULL
,
stack_size
,
PROT_READ
|
PROT_WRITE
,
void
*
const
stack
=
mmap
(
nullptr
,
stack_size
,
PROT_READ
|
PROT_WRITE
,
MAP_ANON
|
MAP_PRIVATE
,
-
1
,
0
);
MAP_ANON
|
MAP_PRIVATE
,
-
1
,
0
);
GTEST_DEATH_TEST_CHECK_
(
stack
!=
MAP_FAILED
);
GTEST_DEATH_TEST_CHECK_
(
stack
!=
MAP_FAILED
);
...
@@ -1320,7 +1318,7 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) {
...
@@ -1320,7 +1318,7 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) {
# endif // GTEST_OS_QNX
# endif // GTEST_OS_QNX
# if GTEST_OS_LINUX
# if GTEST_OS_LINUX
GTEST_DEATH_TEST_CHECK_SYSCALL_
(
GTEST_DEATH_TEST_CHECK_SYSCALL_
(
sigaction
(
SIGPROF
,
&
saved_sigprof_action
,
NULL
));
sigaction
(
SIGPROF
,
&
saved_sigprof_action
,
nullptr
));
# endif // GTEST_OS_LINUX
# endif // GTEST_OS_LINUX
GTEST_DEATH_TEST_CHECK_
(
child_pid
!=
-
1
);
GTEST_DEATH_TEST_CHECK_
(
child_pid
!=
-
1
);
...
@@ -1338,7 +1336,7 @@ DeathTest::TestRole ExecDeathTest::AssumeRole() {
...
@@ -1338,7 +1336,7 @@ DeathTest::TestRole ExecDeathTest::AssumeRole() {
const
TestInfo
*
const
info
=
impl
->
current_test_info
();
const
TestInfo
*
const
info
=
impl
->
current_test_info
();
const
int
death_test_index
=
info
->
result
()
->
death_test_count
();
const
int
death_test_index
=
info
->
result
()
->
death_test_count
();
if
(
flag
!=
NULL
)
{
if
(
flag
!=
nullptr
)
{
set_write_fd
(
flag
->
write_fd
());
set_write_fd
(
flag
->
write_fd
());
return
EXECUTE_TEST
;
return
EXECUTE_TEST
;
}
}
...
@@ -1393,7 +1391,7 @@ bool DefaultDeathTestFactory::Create(const char* statement, const RE* regex,
...
@@ -1393,7 +1391,7 @@ bool DefaultDeathTestFactory::Create(const char* statement, const RE* regex,
const
int
death_test_index
=
impl
->
current_test_info
()
const
int
death_test_index
=
impl
->
current_test_info
()
->
increment_death_test_count
();
->
increment_death_test_count
();
if
(
flag
!=
NULL
)
{
if
(
flag
!=
nullptr
)
{
if
(
death_test_index
>
flag
->
index
())
{
if
(
death_test_index
>
flag
->
index
())
{
DeathTest
::
set_last_death_test_message
(
DeathTest
::
set_last_death_test_message
(
"Death test count ("
+
StreamableToString
(
death_test_index
)
"Death test count ("
+
StreamableToString
(
death_test_index
)
...
@@ -1404,7 +1402,7 @@ bool DefaultDeathTestFactory::Create(const char* statement, const RE* regex,
...
@@ -1404,7 +1402,7 @@ bool DefaultDeathTestFactory::Create(const char* statement, const RE* regex,
if
(
!
(
flag
->
file
()
==
file
&&
flag
->
line
()
==
line
&&
if
(
!
(
flag
->
file
()
==
file
&&
flag
->
line
()
==
line
&&
flag
->
index
()
==
death_test_index
))
{
flag
->
index
()
==
death_test_index
))
{
*
test
=
NULL
;
*
test
=
nullptr
;
return
true
;
return
true
;
}
}
}
}
...
@@ -1515,7 +1513,7 @@ static int GetStatusFileDescriptor(unsigned int parent_process_id,
...
@@ -1515,7 +1513,7 @@ static int GetStatusFileDescriptor(unsigned int parent_process_id,
// initialized from the GTEST_FLAG(internal_run_death_test) flag if
// initialized from the GTEST_FLAG(internal_run_death_test) flag if
// the flag is specified; otherwise returns NULL.
// the flag is specified; otherwise returns NULL.
InternalRunDeathTestFlag
*
ParseInternalRunDeathTestFlag
()
{
InternalRunDeathTestFlag
*
ParseInternalRunDeathTestFlag
()
{
if
(
GTEST_FLAG
(
internal_run_death_test
)
==
""
)
return
NULL
;
if
(
GTEST_FLAG
(
internal_run_death_test
)
==
""
)
return
nullptr
;
// GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we
// GTEST_HAS_DEATH_TEST implies that we have ::std::string, so we
// can use it here.
// can use it here.
...
...
googletest/src/gtest-filepath.cc
View file @
4327d95b
...
@@ -111,7 +111,7 @@ FilePath FilePath::GetCurrentDir() {
...
@@ -111,7 +111,7 @@ FilePath FilePath::GetCurrentDir() {
// however, so fallback only when failure is detected.
// however, so fallback only when failure is detected.
return
FilePath
(
result
==
NULL
?
kCurrentDirectoryString
:
cwd
);
return
FilePath
(
result
==
NULL
?
kCurrentDirectoryString
:
cwd
);
# endif // GTEST_OS_NACL
# endif // GTEST_OS_NACL
return
FilePath
(
result
==
NULL
?
""
:
cwd
);
return
FilePath
(
result
==
nullptr
?
""
:
cwd
);
#endif // GTEST_OS_WINDOWS_MOBILE
#endif // GTEST_OS_WINDOWS_MOBILE
}
}
...
@@ -352,7 +352,7 @@ FilePath FilePath::RemoveTrailingPathSeparator() const {
...
@@ -352,7 +352,7 @@ FilePath FilePath::RemoveTrailingPathSeparator() const {
// redundancies that might be in a pathname involving "." or "..".
// redundancies that might be in a pathname involving "." or "..".
// FIXME: handle Windows network shares (e.g. \\server\share).
// FIXME: handle Windows network shares (e.g. \\server\share).
void
FilePath
::
Normalize
()
{
void
FilePath
::
Normalize
()
{
if
(
pathname_
.
c_str
()
==
NULL
)
{
if
(
pathname_
.
c_str
()
==
nullptr
)
{
pathname_
=
""
;
pathname_
=
""
;
return
;
return
;
}
}
...
...
googletest/src/gtest-internal-inl.h
View file @
4327d95b
...
@@ -585,14 +585,14 @@ class GTEST_API_ UnitTestImpl {
...
@@ -585,14 +585,14 @@ class GTEST_API_ UnitTestImpl {
// total_test_case_count() - 1. If i is not in that range, returns NULL.
// total_test_case_count() - 1. If i is not in that range, returns NULL.
const
TestCase
*
GetTestCase
(
int
i
)
const
{
const
TestCase
*
GetTestCase
(
int
i
)
const
{
const
int
index
=
GetElementOr
(
test_case_indices_
,
i
,
-
1
);
const
int
index
=
GetElementOr
(
test_case_indices_
,
i
,
-
1
);
return
index
<
0
?
NULL
:
test_cases_
[
i
];
return
index
<
0
?
nullptr
:
test_cases_
[
i
];
}
}
// Gets the i-th test case among all the test cases. i can range from 0 to
// Gets the i-th test case among all the test cases. i can range from 0 to
// total_test_case_count() - 1. If i is not in that range, returns NULL.
// total_test_case_count() - 1. If i is not in that range, returns NULL.
TestCase
*
GetMutableTestCase
(
int
i
)
{
TestCase
*
GetMutableTestCase
(
int
i
)
{
const
int
index
=
GetElementOr
(
test_case_indices_
,
i
,
-
1
);
const
int
index
=
GetElementOr
(
test_case_indices_
,
i
,
-
1
);
return
index
<
0
?
NULL
:
test_cases_
[
index
];
return
index
<
0
?
nullptr
:
test_cases_
[
index
];
}
}
// Provides access to the event listener list.
// Provides access to the event listener list.
...
@@ -1158,8 +1158,7 @@ class StreamingListener : public EmptyTestEventListener {
...
@@ -1158,8 +1158,7 @@ class StreamingListener : public EmptyTestEventListener {
void
OnTestPartResult
(
const
TestPartResult
&
test_part_result
)
{
void
OnTestPartResult
(
const
TestPartResult
&
test_part_result
)
{
const
char
*
file_name
=
test_part_result
.
file_name
();
const
char
*
file_name
=
test_part_result
.
file_name
();
if
(
file_name
==
NULL
)
if
(
file_name
==
nullptr
)
file_name
=
""
;
file_name
=
""
;
SendLn
(
"event=TestPartResult&file="
+
UrlEncode
(
file_name
)
+
SendLn
(
"event=TestPartResult&file="
+
UrlEncode
(
file_name
)
+
"&line="
+
StreamableToString
(
test_part_result
.
line_number
())
+
"&line="
+
StreamableToString
(
test_part_result
.
line_number
())
+
"&message="
+
UrlEncode
(
test_part_result
.
message
()));
"&message="
+
UrlEncode
(
test_part_result
.
message
()));
...
...
googletest/src/gtest-port.cc
View file @
4327d95b
...
@@ -935,7 +935,7 @@ const char kUnknownFile[] = "unknown file";
...
@@ -935,7 +935,7 @@ const char kUnknownFile[] = "unknown file";
// Formats a source file path and a line number as they would appear
// Formats a source file path and a line number as they would appear
// in an error message from the compiler used to compile this code.
// in an error message from the compiler used to compile this code.
GTEST_API_
::
std
::
string
FormatFileLocation
(
const
char
*
file
,
int
line
)
{
GTEST_API_
::
std
::
string
FormatFileLocation
(
const
char
*
file
,
int
line
)
{
const
std
::
string
file_name
(
file
==
NULL
?
kUnknownFile
:
file
);
const
std
::
string
file_name
(
file
==
nullptr
?
kUnknownFile
:
file
);
if
(
line
<
0
)
{
if
(
line
<
0
)
{
return
file_name
+
":"
;
return
file_name
+
":"
;
...
@@ -954,7 +954,7 @@ GTEST_API_ ::std::string FormatFileLocation(const char* file, int line) {
...
@@ -954,7 +954,7 @@ GTEST_API_ ::std::string FormatFileLocation(const char* file, int line) {
// to the file location it produces, unlike FormatFileLocation().
// to the file location it produces, unlike FormatFileLocation().
GTEST_API_
::
std
::
string
FormatCompilerIndependentFileLocation
(
GTEST_API_
::
std
::
string
FormatCompilerIndependentFileLocation
(
const
char
*
file
,
int
line
)
{
const
char
*
file
,
int
line
)
{
const
std
::
string
file_name
(
file
==
NULL
?
kUnknownFile
:
file
);
const
std
::
string
file_name
(
file
==
nullptr
?
kUnknownFile
:
file
);
if
(
line
<
0
)
if
(
line
<
0
)
return
file_name
;
return
file_name
;
...
@@ -1034,7 +1034,7 @@ class CapturedStream {
...
@@ -1034,7 +1034,7 @@ class CapturedStream {
const
int
captured_fd
=
mkstemp
(
name_template
);
const
int
captured_fd
=
mkstemp
(
name_template
);
filename_
=
name_template
;
filename_
=
name_template
;
# endif // GTEST_OS_WINDOWS
# endif // GTEST_OS_WINDOWS
fflush
(
NULL
);
fflush
(
nullptr
);
dup2
(
captured_fd
,
fd_
);
dup2
(
captured_fd
,
fd_
);
close
(
captured_fd
);
close
(
captured_fd
);
}
}
...
@@ -1046,7 +1046,7 @@ class CapturedStream {
...
@@ -1046,7 +1046,7 @@ class CapturedStream {
std
::
string
GetCapturedString
()
{
std
::
string
GetCapturedString
()
{
if
(
uncaptured_fd_
!=
-
1
)
{
if
(
uncaptured_fd_
!=
-
1
)
{
// Restores the original stream.
// Restores the original stream.
fflush
(
NULL
);
fflush
(
nullptr
);
dup2
(
uncaptured_fd_
,
fd_
);
dup2
(
uncaptured_fd_
,
fd_
);
close
(
uncaptured_fd_
);
close
(
uncaptured_fd_
);
uncaptured_fd_
=
-
1
;
uncaptured_fd_
=
-
1
;
...
@@ -1069,13 +1069,13 @@ class CapturedStream {
...
@@ -1069,13 +1069,13 @@ class CapturedStream {
GTEST_DISABLE_MSC_DEPRECATED_POP_
()
GTEST_DISABLE_MSC_DEPRECATED_POP_
()
static
CapturedStream
*
g_captured_stderr
=
NULL
;
static
CapturedStream
*
g_captured_stderr
=
nullptr
;
static
CapturedStream
*
g_captured_stdout
=
NULL
;
static
CapturedStream
*
g_captured_stdout
=
nullptr
;
// Starts capturing an output stream (stdout/stderr).
// Starts capturing an output stream (stdout/stderr).
static
void
CaptureStream
(
int
fd
,
const
char
*
stream_name
,
static
void
CaptureStream
(
int
fd
,
const
char
*
stream_name
,
CapturedStream
**
stream
)
{
CapturedStream
**
stream
)
{
if
(
*
stream
!=
NULL
)
{
if
(
*
stream
!=
nullptr
)
{
GTEST_LOG_
(
FATAL
)
<<
"Only one "
<<
stream_name
GTEST_LOG_
(
FATAL
)
<<
"Only one "
<<
stream_name
<<
" capturer can exist at a time."
;
<<
" capturer can exist at a time."
;
}
}
...
@@ -1087,7 +1087,7 @@ static std::string GetCapturedStream(CapturedStream** captured_stream) {
...
@@ -1087,7 +1087,7 @@ static std::string GetCapturedStream(CapturedStream** captured_stream) {
const
std
::
string
content
=
(
*
captured_stream
)
->
GetCapturedString
();
const
std
::
string
content
=
(
*
captured_stream
)
->
GetCapturedString
();
delete
*
captured_stream
;
delete
*
captured_stream
;
*
captured_stream
=
NULL
;
*
captured_stream
=
nullptr
;
return
content
;
return
content
;
}
}
...
@@ -1146,10 +1146,11 @@ std::string ReadEntireFile(FILE* file) {
...
@@ -1146,10 +1146,11 @@ std::string ReadEntireFile(FILE* file) {
}
}
#if GTEST_HAS_DEATH_TEST
#if GTEST_HAS_DEATH_TEST
static
const
std
::
vector
<
std
::
string
>*
g_injected_test_argvs
=
NULL
;
// Owned.
static
const
std
::
vector
<
std
::
string
>*
g_injected_test_argvs
=
nullptr
;
// Owned.
std
::
vector
<
std
::
string
>
GetInjectableArgvs
()
{
std
::
vector
<
std
::
string
>
GetInjectableArgvs
()
{
if
(
g_injected_test_argvs
!=
NULL
)
{
if
(
g_injected_test_argvs
!=
nullptr
)
{
return
*
g_injected_test_argvs
;
return
*
g_injected_test_argvs
;
}
}
return
GetArgvs
();
return
GetArgvs
();
...
@@ -1174,7 +1175,7 @@ void SetInjectableArgvs(const std::vector< ::string>& new_argvs) {
...
@@ -1174,7 +1175,7 @@ void SetInjectableArgvs(const std::vector< ::string>& new_argvs) {
void
ClearInjectableArgvs
()
{
void
ClearInjectableArgvs
()
{
delete
g_injected_test_argvs
;
delete
g_injected_test_argvs
;
g_injected_test_argvs
=
NULL
;
g_injected_test_argvs
=
nullptr
;
}
}
#endif // GTEST_HAS_DEATH_TEST
#endif // GTEST_HAS_DEATH_TEST
...
@@ -1207,7 +1208,7 @@ static std::string FlagToEnvVar(const char* flag) {
...
@@ -1207,7 +1208,7 @@ static std::string FlagToEnvVar(const char* flag) {
// unchanged and returns false.
// unchanged and returns false.
bool
ParseInt32
(
const
Message
&
src_text
,
const
char
*
str
,
Int32
*
value
)
{
bool
ParseInt32
(
const
Message
&
src_text
,
const
char
*
str
,
Int32
*
value
)
{
// Parses the environment variable as a decimal integer.
// Parses the environment variable as a decimal integer.
char
*
end
=
NULL
;
char
*
end
=
nullptr
;
const
long
long_value
=
strtol
(
str
,
&
end
,
10
);
// NOLINT
const
long
long_value
=
strtol
(
str
,
&
end
,
10
);
// NOLINT
// Has strtol() consumed all characters in the string?
// Has strtol() consumed all characters in the string?
...
@@ -1296,7 +1297,7 @@ Int32 Int32FromGTestEnv(const char* flag, Int32 default_value) {
...
@@ -1296,7 +1297,7 @@ Int32 Int32FromGTestEnv(const char* flag, Int32 default_value) {
std
::
string
OutputFlagAlsoCheckEnvVar
(){
std
::
string
OutputFlagAlsoCheckEnvVar
(){
std
::
string
default_value_for_output_flag
=
""
;
std
::
string
default_value_for_output_flag
=
""
;
const
char
*
xml_output_file_env
=
posix
::
GetEnv
(
"XML_OUTPUT_FILE"
);
const
char
*
xml_output_file_env
=
posix
::
GetEnv
(
"XML_OUTPUT_FILE"
);
if
(
NULL
!=
xml_output_file_env
)
{
if
(
nullptr
!=
xml_output_file_env
)
{
default_value_for_output_flag
=
std
::
string
(
"xml:"
)
+
xml_output_file_env
;
default_value_for_output_flag
=
std
::
string
(
"xml:"
)
+
xml_output_file_env
;
}
}
return
default_value_for_output_flag
;
return
default_value_for_output_flag
;
...
...
googletest/src/gtest-printers.cc
View file @
4327d95b
...
@@ -327,7 +327,7 @@ void UniversalPrintArray(const wchar_t* begin, size_t len, ostream* os) {
...
@@ -327,7 +327,7 @@ void UniversalPrintArray(const wchar_t* begin, size_t len, ostream* os) {
// Prints the given C string to the ostream.
// Prints the given C string to the ostream.
void
PrintTo
(
const
char
*
s
,
ostream
*
os
)
{
void
PrintTo
(
const
char
*
s
,
ostream
*
os
)
{
if
(
s
==
NULL
)
{
if
(
s
==
nullptr
)
{
*
os
<<
"NULL"
;
*
os
<<
"NULL"
;
}
else
{
}
else
{
*
os
<<
ImplicitCast_
<
const
void
*>
(
s
)
<<
" pointing to "
;
*
os
<<
ImplicitCast_
<
const
void
*>
(
s
)
<<
" pointing to "
;
...
@@ -344,7 +344,7 @@ void PrintTo(const char* s, ostream* os) {
...
@@ -344,7 +344,7 @@ void PrintTo(const char* s, ostream* os) {
#if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED)
#if !defined(_MSC_VER) || defined(_NATIVE_WCHAR_T_DEFINED)
// Prints the given wide C string to the ostream.
// Prints the given wide C string to the ostream.
void
PrintTo
(
const
wchar_t
*
s
,
ostream
*
os
)
{
void
PrintTo
(
const
wchar_t
*
s
,
ostream
*
os
)
{
if
(
s
==
NULL
)
{
if
(
s
==
nullptr
)
{
*
os
<<
"NULL"
;
*
os
<<
"NULL"
;
}
else
{
}
else
{
*
os
<<
ImplicitCast_
<
const
void
*>
(
s
)
<<
" pointing to "
;
*
os
<<
ImplicitCast_
<
const
void
*>
(
s
)
<<
" pointing to "
;
...
...
googletest/src/gtest-test-part.cc
View file @
4327d95b
...
@@ -41,8 +41,7 @@ using internal::GetUnitTestImpl;
...
@@ -41,8 +41,7 @@ using internal::GetUnitTestImpl;
// in it.
// in it.
std
::
string
TestPartResult
::
ExtractSummary
(
const
char
*
message
)
{
std
::
string
TestPartResult
::
ExtractSummary
(
const
char
*
message
)
{
const
char
*
const
stack_trace
=
strstr
(
message
,
internal
::
kStackTraceMarker
);
const
char
*
const
stack_trace
=
strstr
(
message
,
internal
::
kStackTraceMarker
);
return
stack_trace
==
NULL
?
message
:
return
stack_trace
==
nullptr
?
message
:
std
::
string
(
message
,
stack_trace
);
std
::
string
(
message
,
stack_trace
);
}
}
// Prints a TestPartResult object.
// Prints a TestPartResult object.
...
...
Prev
1
2
3
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