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
54ec41f0
Commit
54ec41f0
authored
Feb 13, 2019
by
Gennadiy Civil
Browse files
Merge pull request #2121 from ngie-eign:add-dragonflybsd-and-kfreebsd-support
PiperOrigin-RevId: 233789488
parents
f73b2fb3
96826743
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
103 additions
and
8 deletions
+103
-8
googletest/docs/advanced.md
googletest/docs/advanced.md
+5
-4
googletest/include/gtest/internal/gtest-port-arch.h
googletest/include/gtest/internal/gtest-port-arch.h
+4
-0
googletest/include/gtest/internal/gtest-port.h
googletest/include/gtest/internal/gtest-port.h
+8
-3
googletest/src/gtest-port.cc
googletest/src/gtest-port.cc
+83
-0
googletest/test/googletest-port-test.cc
googletest/test/googletest-port-test.cc
+3
-1
No files found.
googletest/docs/advanced.md
View file @
54ec41f0
...
@@ -2430,7 +2430,7 @@ could generate this report:
...
@@ -2430,7 +2430,7 @@ could generate this report:
"failures"
:
1
,
"failures"
:
1
,
"errors"
:
0
,
"errors"
:
0
,
"time"
:
"0.035s"
,
"time"
:
"0.035s"
,
"timestamp"
:
"2011-10-31T18:52:42Z"
,
"timestamp"
:
"2011-10-31T18:52:42Z"
"name"
:
"AllTests"
,
"name"
:
"AllTests"
,
"testsuites"
:
[
"testsuites"
:
[
{
{
...
@@ -2447,11 +2447,11 @@ could generate this report:
...
@@ -2447,11 +2447,11 @@ could generate this report:
"classname"
:
""
,
"classname"
:
""
,
"failures"
:
[
"failures"
:
[
{
{
"message"
:
"Value of: add(1, 1)
\
n
Actual: 3
\
n
Expected: 2"
,
"message"
:
"Value of: add(1, 1)
\
x
0A
Actual: 3
\
x
0A
Expected: 2"
,
"type"
:
""
"type"
:
""
},
},
{
{
"message"
:
"Value of: add(1, -1)
\
n
Actual: 1
\
n
Expected: 0"
,
"message"
:
"Value of: add(1, -1)
\
x
0A
Actual: 1
\
x
0A
Expected: 0"
,
"type"
:
""
"type"
:
""
}
}
]
]
...
@@ -2463,7 +2463,7 @@ could generate this report:
...
@@ -2463,7 +2463,7 @@ could generate this report:
"classname"
:
""
"classname"
:
""
}
}
]
]
}
,
}
{
{
"name"
:
"LogicTest"
,
"name"
:
"LogicTest"
,
"tests"
:
1
,
"tests"
:
1
,
...
@@ -2517,3 +2517,4 @@ environment variable to `0`, or use the `--gtest_catch_exceptions=0` flag when
...
@@ -2517,3 +2517,4 @@ environment variable to `0`, or use the `--gtest_catch_exceptions=0` flag when
running the tests.
running the tests.
**Availability**
: Linux, Windows, Mac.
**Availability**
: Linux, Windows, Mac.
googletest/include/gtest/internal/gtest-port-arch.h
View file @
54ec41f0
...
@@ -71,10 +71,14 @@
...
@@ -71,10 +71,14 @@
# if TARGET_OS_IPHONE
# if TARGET_OS_IPHONE
# define GTEST_OS_IOS 1
# define GTEST_OS_IOS 1
# endif
# endif
#elif defined __DragonFly__
# define GTEST_OS_DRAGONFLY 1
#elif defined __FreeBSD__
#elif defined __FreeBSD__
# define GTEST_OS_FREEBSD 1
# define GTEST_OS_FREEBSD 1
#elif defined __Fuchsia__
#elif defined __Fuchsia__
# define GTEST_OS_FUCHSIA 1
# define GTEST_OS_FUCHSIA 1
#elif defined(__GLIBC__) && defined(__FreeBSD_kernel__)
# define GTEST_OS_GNU_KFREEBSD 1
#elif defined __linux__
#elif defined __linux__
# define GTEST_OS_LINUX 1
# define GTEST_OS_LINUX 1
# if defined __ANDROID__
# if defined __ANDROID__
...
...
googletest/include/gtest/internal/gtest-port.h
View file @
54ec41f0
...
@@ -117,8 +117,10 @@
...
@@ -117,8 +117,10 @@
//
//
// GTEST_OS_AIX - IBM AIX
// GTEST_OS_AIX - IBM AIX
// GTEST_OS_CYGWIN - Cygwin
// GTEST_OS_CYGWIN - Cygwin
// GTEST_OS_DRAGONFLY - DragonFlyBSD
// GTEST_OS_FREEBSD - FreeBSD
// GTEST_OS_FREEBSD - FreeBSD
// GTEST_OS_FUCHSIA - Fuchsia
// GTEST_OS_FUCHSIA - Fuchsia
// GTEST_OS_GNU_KFREEBSD - GNU/kFreeBSD
// GTEST_OS_HPUX - HP-UX
// GTEST_OS_HPUX - HP-UX
// GTEST_OS_LINUX - Linux
// GTEST_OS_LINUX - Linux
// GTEST_OS_LINUX_ANDROID - Google Android
// GTEST_OS_LINUX_ANDROID - Google Android
...
@@ -545,7 +547,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
...
@@ -545,7 +547,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
// to your compiler flags.
// to your compiler flags.
#define GTEST_HAS_PTHREAD \
#define GTEST_HAS_PTHREAD \
(GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX || GTEST_OS_QNX || \
(GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX || GTEST_OS_QNX || \
GTEST_OS_FREEBSD || GTEST_OS_NACL || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA)
GTEST_OS_FREEBSD || GTEST_OS_NACL || GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || \
GTEST_OS_DRAGONFLY || GTEST_OS_GNU_KFREEBSD || GTEST_OS_OPENBSD)
#endif // GTEST_HAS_PTHREAD
#endif // GTEST_HAS_PTHREAD
#if GTEST_HAS_PTHREAD
#if GTEST_HAS_PTHREAD
...
@@ -604,7 +607,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
...
@@ -604,7 +607,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER) || \
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER) || \
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || \
GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || \
GTEST_OS_NETBSD || GTEST_OS_FUCHSIA)
GTEST_OS_NETBSD || GTEST_OS_FUCHSIA || GTEST_OS_DRAGONFLY || \
GTEST_OS_GNU_KFREEBSD)
# define GTEST_HAS_DEATH_TEST 1
# define GTEST_HAS_DEATH_TEST 1
#endif
#endif
...
@@ -623,7 +627,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
...
@@ -623,7 +627,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
(GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_AIX || GTEST_OS_OS2)
(GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_AIX || GTEST_OS_OS2)
// Determines whether test results can be streamed to a socket.
// Determines whether test results can be streamed to a socket.
#if GTEST_OS_LINUX
#if GTEST_OS_LINUX || GTEST_OS_GNU_KFREEBSD || GTEST_OS_DRAGONFLY || \
GTEST_OS_FREEBSD || GTEST_OS_NETBSD || GTEST_OS_OPENBSD
# define GTEST_CAN_STREAM_RESULTS_ 1
# define GTEST_CAN_STREAM_RESULTS_ 1
#endif
#endif
...
...
googletest/src/gtest-port.cc
View file @
54ec41f0
...
@@ -55,6 +55,14 @@
...
@@ -55,6 +55,14 @@
# include <mach/vm_map.h>
# include <mach/vm_map.h>
#endif // GTEST_OS_MAC
#endif // GTEST_OS_MAC
#if GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
GTEST_OS_NETBSD || GTEST_OS_OPENBSD
# include <sys/sysctl.h>
# if GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD
# include <sys/user.h>
# endif
#endif
#if GTEST_OS_QNX
#if GTEST_OS_QNX
# include <devctl.h>
# include <devctl.h>
# include <fcntl.h>
# include <fcntl.h>
...
@@ -131,6 +139,81 @@ size_t GetThreadCount() {
...
@@ -131,6 +139,81 @@ size_t GetThreadCount() {
}
}
}
}
#elif GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
GTEST_OS_NETBSD
#if GTEST_OS_NETBSD
#undef KERN_PROC
#define KERN_PROC KERN_PROC2
#define kinfo_proc kinfo_proc2
#endif
#if GTEST_OS_DRAGONFLY
#define KP_NLWP(kp) (kp.kp_nthreads)
#elif GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD
#define KP_NLWP(kp) (kp.ki_numthreads)
#elif GTEST_OS_NETBSD
#define KP_NLWP(kp) (kp.p_nlwps)
#endif
// Returns the number of threads running in the process, or 0 to indicate that
// we cannot detect it.
size_t
GetThreadCount
()
{
int
mib
[]
=
{
CTL_KERN
,
KERN_PROC
,
KERN_PROC_PID
,
getpid
(),
#if GTEST_OS_NETBSD
sizeof
(
struct
kinfo_proc
),
1
,
#endif
};
u_int
miblen
=
sizeof
(
mib
)
/
sizeof
(
mib
[
0
]);
struct
kinfo_proc
info
;
size_t
size
=
sizeof
(
info
);
if
(
sysctl
(
mib
,
miblen
,
&
info
,
&
size
,
NULL
,
0
))
{
return
0
;
}
return
KP_NLWP
(
info
);
}
#elif GTEST_OS_OPENBSD
// Returns the number of threads running in the process, or 0 to indicate that
// we cannot detect it.
size_t
GetThreadCount
()
{
int
mib
[]
=
{
CTL_KERN
,
KERN_PROC
,
KERN_PROC_PID
|
KERN_PROC_SHOW_THREADS
,
getpid
(),
sizeof
(
struct
kinfo_proc
),
0
,
};
u_int
miblen
=
sizeof
(
mib
)
/
sizeof
(
mib
[
0
]);
// get number of structs
size_t
size
;
if
(
sysctl
(
mib
,
miblen
,
NULL
,
&
size
,
NULL
,
0
))
{
return
0
;
}
mib
[
5
]
=
size
/
mib
[
4
];
// populate array of structs
struct
kinfo_proc
info
[
mib
[
5
]];
if
(
sysctl
(
mib
,
miblen
,
&
info
,
&
size
,
NULL
,
0
))
{
return
0
;
}
// exclude empty members
int
nthreads
=
0
;
for
(
int
i
=
0
;
i
<
size
/
mib
[
4
];
i
++
)
{
if
(
info
[
i
].
p_tid
!=
-
1
)
nthreads
++
;
}
return
nthreads
;
}
#elif GTEST_OS_QNX
#elif GTEST_OS_QNX
// Returns the number of threads running in the process, or 0 to indicate that
// Returns the number of threads running in the process, or 0 to indicate that
...
...
googletest/test/googletest-port-test.cc
View file @
54ec41f0
...
@@ -286,7 +286,9 @@ TEST(FormatCompilerIndependentFileLocationTest, FormatsUknownFileAndLine) {
...
@@ -286,7 +286,9 @@ TEST(FormatCompilerIndependentFileLocationTest, FormatsUknownFileAndLine) {
EXPECT_EQ
(
"unknown file"
,
FormatCompilerIndependentFileLocation
(
nullptr
,
-
1
));
EXPECT_EQ
(
"unknown file"
,
FormatCompilerIndependentFileLocation
(
nullptr
,
-
1
));
}
}
#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA
#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA || \
GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
GTEST_OS_NETBSD || GTEST_OS_OPENBSD
void
*
ThreadFunc
(
void
*
data
)
{
void
*
ThreadFunc
(
void
*
data
)
{
internal
::
Mutex
*
mutex
=
static_cast
<
internal
::
Mutex
*>
(
data
);
internal
::
Mutex
*
mutex
=
static_cast
<
internal
::
Mutex
*>
(
data
);
mutex
->
Lock
();
mutex
->
Lock
();
...
...
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