diff options
-rw-r--r-- | BUILD.bazel | 13 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | appveyor.yml | 71 | ||||
-rw-r--r-- | googletest/README.md | 2 | ||||
-rw-r--r-- | googletest/docs/advanced.md | 11 |
5 files changed, 81 insertions, 17 deletions
diff --git a/BUILD.bazel b/BUILD.bazel index 4dbaa27..8d2f6bd 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -104,12 +104,20 @@ cc_library( ], "//conditions:default": [], }), + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }) ) cc_library( name = "gtest_main", srcs = ["googlemock/src/gmock_main.cc"], deps = [":gtest"], + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }) ) # The following rules build samples of how to use gTest. @@ -127,6 +135,10 @@ cc_library( "googletest/samples/sample3-inl.h", "googletest/samples/sample4.h", ], + features = select({ + ":windows": ["windows_export_all_symbols"], + "//conditions:default": [], + }) ) cc_test( @@ -149,6 +161,7 @@ cc_test( "gtest_sample_lib", ":gtest_main", ], + linkstatic = 0, ) cc_test( @@ -56,7 +56,6 @@ Google test has been used on a variety of platforms: * MinGW * Windows Mobile * Symbian - * PlatformIO ## Who Is Using Google Test? ## diff --git a/appveyor.yml b/appveyor.yml index f734a0c..6ef08fd 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,21 +6,31 @@ environment: matrix: - compiler: msvc-15-seh generator: "Visual Studio 15 2017" + build_system: cmake APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - compiler: msvc-15-seh 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 enabled_on_pr: yes - compiler: msvc-14-seh + build_system: cmake generator: "Visual Studio 14 2015" enabled_on_pr: yes - compiler: msvc-14-seh + build_system: cmake generator: "Visual Studio 14 2015 Win64" - compiler: gcc-6.3.0-posix + build_system: cmake generator: "MinGW Makefiles" cxx_path: 'C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin' enabled_on_pr: yes @@ -46,20 +56,44 @@ install: } } - # 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" + # install Bazel + if ($env:build_system -eq "bazel") { + 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: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: - ps: | # 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")) { 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 cd _build @@ -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")) { return } - if ($env:generator -eq "MinGW Makefiles") { - return # No test available for MinGW + if ($env:build_system -eq "bazel") { + # 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 ($LastExitCode -ne 0) { - throw "Exec: $ErrorMessage" + if ($env:build_system -eq "cmake") { + # built with CMake - test with CTest + 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: @@ -101,3 +148,7 @@ artifacts: name: logs - path: '_build/Testing/**/*.xml' name: test_results + - path: 'bazel-testlogs/**/test.log' + name: test_logs + - path: 'bazel-testlogs/**/test.xml' + name: test_results diff --git a/googletest/README.md b/googletest/README.md index 23f67c3..747e7cf 100644 --- a/googletest/README.md +++ b/googletest/README.md @@ -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. 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 diff --git a/googletest/docs/advanced.md b/googletest/docs/advanced.md index ea9b80f..dbe6694 100644 --- a/googletest/docs/advanced.md +++ b/googletest/docs/advanced.md @@ -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 member variables, optionally giving them initial values. 1. In the same test fixture class, define a `static void SetUpTestSuite()` - function (remember not to spell it as **`SetupTestSuite`** with a small `u`!) + function (remember not to spell it as **`SetUpTestSuite`** with a small `u`!) to set up the shared resources and a `static void TearDownTestSuite()` function to tear them down. @@ -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\nExpected: 2", + "message": "Value of: add(1, 1)\x0A Actual: 3\x0AExpected: 2", "type": "" }, { - "message": "Value of: add(1, -1)\n Actual: 1\nExpected: 0", + "message": "Value of: add(1, -1)\x0A Actual: 1\x0AExpected: 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. + |