Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
googletest
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
googletest
Commits
54ec41f0
Commit
54ec41f0
authored
Feb 13, 2019
by
Gennadiy Civil
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2121 from ngie-eign:add-dragonflybsd-and-kfreebsd-support
PiperOrigin-RevId: 233789488
parents
f73b2fb3
96826743
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
103 additions
and
8 deletions
+103
-8
advanced.md
googletest/docs/advanced.md
+5
-4
gtest-port-arch.h
googletest/include/gtest/internal/gtest-port-arch.h
+4
-0
gtest-port.h
googletest/include/gtest/internal/gtest-port.h
+8
-3
gtest-port.cc
googletest/src/gtest-port.cc
+83
-0
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:
"failures"
:
1
,
"errors"
:
0
,
"time"
:
"0.035s"
,
"timestamp"
:
"2011-10-31T18:52:42Z"
,
"timestamp"
:
"2011-10-31T18:52:42Z"
"name"
:
"AllTests"
,
"testsuites"
:
[
{
...
...
@@ -2447,11 +2447,11 @@ could generate this report:
"classname"
:
""
,
"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"
:
""
},
{
"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"
:
""
}
]
...
...
@@ -2463,7 +2463,7 @@ could generate this report:
"classname"
:
""
}
]
}
,
}
{
"name"
:
"LogicTest"
,
"tests"
:
1
,
...
...
@@ -2517,3 +2517,4 @@ environment variable to `0`, or use the `--gtest_catch_exceptions=0` flag when
running the tests.
**Availability**
: Linux, Windows, Mac.
googletest/include/gtest/internal/gtest-port-arch.h
View file @
54ec41f0
...
...
@@ -71,10 +71,14 @@
# if TARGET_OS_IPHONE
# define GTEST_OS_IOS 1
# endif
#elif defined __DragonFly__
# define GTEST_OS_DRAGONFLY 1
#elif defined __FreeBSD__
# define GTEST_OS_FREEBSD 1
#elif defined __Fuchsia__
# define GTEST_OS_FUCHSIA 1
#elif defined(__GLIBC__) && defined(__FreeBSD_kernel__)
# define GTEST_OS_GNU_KFREEBSD 1
#elif defined __linux__
# define GTEST_OS_LINUX 1
# if defined __ANDROID__
...
...
googletest/include/gtest/internal/gtest-port.h
View file @
54ec41f0
...
...
@@ -117,8 +117,10 @@
//
// GTEST_OS_AIX - IBM AIX
// GTEST_OS_CYGWIN - Cygwin
// GTEST_OS_DRAGONFLY - DragonFlyBSD
// GTEST_OS_FREEBSD - FreeBSD
// GTEST_OS_FUCHSIA - Fuchsia
// GTEST_OS_GNU_KFREEBSD - GNU/kFreeBSD
// GTEST_OS_HPUX - HP-UX
// GTEST_OS_LINUX - Linux
// GTEST_OS_LINUX_ANDROID - Google Android
...
...
@@ -545,7 +547,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
// to your compiler flags.
#define GTEST_HAS_PTHREAD \
(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
#if GTEST_HAS_PTHREAD
...
...
@@ -604,7 +607,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER) || \
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
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
#endif
...
...
@@ -623,7 +627,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
(GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_AIX || GTEST_OS_OS2)
// 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
#endif
...
...
googletest/src/gtest-port.cc
View file @
54ec41f0
...
...
@@ -55,6 +55,14 @@
# include <mach/vm_map.h>
#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
# include <devctl.h>
# include <fcntl.h>
...
...
@@ -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
// 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) {
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
)
{
internal
::
Mutex
*
mutex
=
static_cast
<
internal
::
Mutex
*>
(
data
);
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