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
1411d27a
Commit
1411d27a
authored
Feb 20, 2019
by
Gennadiy Civil
Browse files
Merge pull request #2061 from samolisov:building-with-bazel-as-a-dll-on-windows
PiperOrigin-RevId: 234845565
parents
c5a792d1
91bfc082
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
81 additions
and
17 deletions
+81
-17
BUILD.bazel
BUILD.bazel
+13
-0
README.md
README.md
+0
-1
appveyor.yml
appveyor.yml
+61
-10
googletest/README.md
googletest/README.md
+1
-1
googletest/docs/advanced.md
googletest/docs/advanced.md
+6
-5
No files found.
BUILD.bazel
View file @
1411d27a
...
@@ -104,12 +104,20 @@ cc_library(
...
@@ -104,12 +104,20 @@ cc_library(
],
],
"//conditions:default"
:
[],
"//conditions:default"
:
[],
}),
}),
features
=
select
({
":windows"
:
[
"windows_export_all_symbols"
],
"//conditions:default"
:
[],
})
)
)
cc_library
(
cc_library
(
name
=
"gtest_main"
,
name
=
"gtest_main"
,
srcs
=
[
"googlemock/src/gmock_main.cc"
],
srcs
=
[
"googlemock/src/gmock_main.cc"
],
deps
=
[
":gtest"
],
deps
=
[
":gtest"
],
features
=
select
({
":windows"
:
[
"windows_export_all_symbols"
],
"//conditions:default"
:
[],
})
)
)
# The following rules build samples of how to use gTest.
# The following rules build samples of how to use gTest.
...
@@ -127,6 +135,10 @@ cc_library(
...
@@ -127,6 +135,10 @@ cc_library(
"googletest/samples/sample3-inl.h"
,
"googletest/samples/sample3-inl.h"
,
"googletest/samples/sample4.h"
,
"googletest/samples/sample4.h"
,
],
],
features
=
select
({
":windows"
:
[
"windows_export_all_symbols"
],
"//conditions:default"
:
[],
})
)
)
cc_test
(
cc_test
(
...
@@ -149,6 +161,7 @@ cc_test(
...
@@ -149,6 +161,7 @@ cc_test(
"gtest_sample_lib"
,
"gtest_sample_lib"
,
":gtest_main"
,
":gtest_main"
,
],
],
linkstatic
=
0
,
)
)
cc_test
(
cc_test
(
...
...
README.md
View file @
1411d27a
...
@@ -56,7 +56,6 @@ Google test has been used on a variety of platforms:
...
@@ -56,7 +56,6 @@ Google test has been used on a variety of platforms:
*
MinGW
*
MinGW
*
Windows Mobile
*
Windows Mobile
*
Symbian
*
Symbian
*
PlatformIO
## Who Is Using Google Test? ##
## Who Is Using Google Test? ##
...
...
appveyor.yml
View file @
1411d27a
...
@@ -6,21 +6,31 @@ environment:
...
@@ -6,21 +6,31 @@ environment:
matrix
:
matrix
:
-
compiler
:
msvc-15-seh
-
compiler
:
msvc-15-seh
generator
:
"
Visual
Studio
15
2017"
generator
:
"
Visual
Studio
15
2017"
build_system
:
cmake
APPVEYOR_BUILD_WORKER_IMAGE
:
Visual Studio
2017
APPVEYOR_BUILD_WORKER_IMAGE
:
Visual Studio
2017
-
compiler
:
msvc-15-seh
-
compiler
:
msvc-15-seh
generator
:
"
Visual
Studio
15
2017
Win64"
generator
:
"
Visual
Studio
15
2017
Win64"
build_system
:
cmake
APPVEYOR_BUILD_WORKER_IMAGE
:
Visual Studio
2017
enabled_on_pr
:
yes
-
compiler
:
msvc-15-seh
build_system
:
bazel
APPVEYOR_BUILD_WORKER_IMAGE
:
Visual Studio
2017
APPVEYOR_BUILD_WORKER_IMAGE
:
Visual Studio
2017
enabled_on_pr
:
yes
enabled_on_pr
:
yes
-
compiler
:
msvc-14-seh
-
compiler
:
msvc-14-seh
build_system
:
cmake
generator
:
"
Visual
Studio
14
2015"
generator
:
"
Visual
Studio
14
2015"
enabled_on_pr
:
yes
enabled_on_pr
:
yes
-
compiler
:
msvc-14-seh
-
compiler
:
msvc-14-seh
build_system
:
cmake
generator
:
"
Visual
Studio
14
2015
Win64"
generator
:
"
Visual
Studio
14
2015
Win64"
-
compiler
:
gcc-6.3.0-posix
-
compiler
:
gcc-6.3.0-posix
build_system
:
cmake
generator
:
"
MinGW
Makefiles"
generator
:
"
MinGW
Makefiles"
cxx_path
:
'
C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
cxx_path
:
'
C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin'
enabled_on_pr
:
yes
enabled_on_pr
:
yes
...
@@ -46,20 +56,44 @@ install:
...
@@ -46,20 +56,44 @@ install:
}
}
}
}
# git bash conflicts with MinGW makefiles
# install Bazel
if ($env:generator -eq "MinGW Makefiles") {
if ($env:build_system -eq "bazel") {
$env:path = $env:path.replace("C:\Program Files\Git\usr\bin;", "")
appveyor DownloadFile https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-windows-x86_64.exe -FileName bazel.exe
if ($env:cxx_path -ne "") {
}
$env:path += ";$env:cxx_path"
if ($env:build_system -eq "cmake") {
# git bash conflicts with MinGW makefiles
if ($env:generator -eq "MinGW Makefiles") {
$env:path = $env:path.replace("C:\Program Files\Git\usr\bin;", "")
if ($env:cxx_path -ne "") {
$env:path += ";$env:cxx_path"
}
}
}
}
}
before_build
:
-
ps
:
|
$env:root=$env:APPVEYOR_BUILD_FOLDER
Write-Output "env:root: $env:root"
build_script
:
build_script
:
-
ps
:
|
-
ps
:
|
# Only enable some builds for pull requests, the AppVeyor queue is too long.
# Only enable some builds for pull requests, the AppVeyor queue is too long.
if ((Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER) -And (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes")) {
if ((Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER) -And (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes")) {
return
return
} else {
# special case - build with Bazel
if ($env:build_system -eq "bazel") {
& $env:root\bazel.exe build -c opt //:gtest_samples
if ($LastExitCode -eq 0) { # bazel writes to StdErr and PowerShell interprets it as an error
$host.SetShouldExit(0)
} else { # a real error
throw "Exec: $ErrorMessage"
}
return
}
}
}
# by default build with CMake
md _build -Force | Out-Null
md _build -Force | Out-Null
cd _build
cd _build
...
@@ -88,12 +122,25 @@ test_script:
...
@@ -88,12 +122,25 @@ test_script:
if ((Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER) -And (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes")) {
if ((Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER) -And (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes")) {
return
return
}
}
if ($env:generator -eq "MinGW Makefiles") {
if ($env:build_system -eq "bazel") {
return # No test available for MinGW
# special case - testing with Bazel
& $env:root\bazel.exe test //:gtest_samples
if ($LastExitCode -eq 0) { # bazel writes to StdErr and PowerShell interprets it as an error
$host.SetShouldExit(0)
} else { # a real error
throw "Exec: $ErrorMessage"
}
}
}
& ctest -C $env:configuration --timeout 600 --output-on-failure
if ($env:build_system -eq "cmake") {
if ($LastExitCode -ne 0) {
# built with CMake - test with CTest
throw "Exec: $ErrorMessage"
if ($env:generator -eq "MinGW Makefiles") {
return # No test available for MinGW
}
& ctest -C $env:configuration --timeout 600 --output-on-failure
if ($LastExitCode -ne 0) {
throw "Exec: $ErrorMessage"
}
}
}
artifacts
:
artifacts
:
...
@@ -101,3 +148,7 @@ artifacts:
...
@@ -101,3 +148,7 @@ artifacts:
name
:
logs
name
:
logs
-
path
:
'
_build/Testing/**/*.xml'
-
path
:
'
_build/Testing/**/*.xml'
name
:
test_results
name
:
test_results
-
path
:
'
bazel-testlogs/**/test.log'
name
:
test_logs
-
path
:
'
bazel-testlogs/**/test.xml'
name
:
test_results
googletest/README.md
View file @
1411d27a
...
@@ -252,7 +252,7 @@ command line. Generally, these macros are named like `GTEST_XYZ` and you define
...
@@ -252,7 +252,7 @@ command line. Generally, these macros are named like `GTEST_XYZ` and you define
them to either 1 or 0 to enable or disable a certain feature.
them to either 1 or 0 to enable or disable a certain feature.
We list the most frequently used macros below. For a complete list, see file
We list the most frequently used macros below. For a complete list, see file
[
include/gtest/internal/gtest-port.h
](
https://github.com/google/googletest/blob/master/
googletest/
include/gtest/internal/gtest-port.h
)
.
[
include/gtest/internal/gtest-port.h
](
https://github.com/google/googletest/blob/master/include/gtest/internal/gtest-port.h
)
.
### Multi-threaded Tests
### Multi-threaded Tests
...
...
googletest/docs/advanced.md
View file @
1411d27a
...
@@ -1198,7 +1198,7 @@ also supports per-test-suite set-up/tear-down. To use it:
...
@@ -1198,7 +1198,7 @@ also supports per-test-suite set-up/tear-down. To use it:
1.
Outside your test fixture class (typically just below it), define those
1.
Outside your test fixture class (typically just below it), define those
member variables, optionally giving them initial values.
member variables, optionally giving them initial values.
1.
In the same test fixture class, define a
`static void SetUpTestSuite()`
1.
In the same test fixture class, define a
`static void SetUpTestSuite()`
function (remember not to spell it as
**`Set
u
pTestSuite`**
with a small
`u`
!)
function (remember not to spell it as
**`Set
U
pTestSuite`**
with a small
`u`
!)
to set up the shared resources and a
`static void TearDownTestSuite()`
to set up the shared resources and a
`static void TearDownTestSuite()`
function to tear them down.
function to tear them down.
...
@@ -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.
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