Dominic Hamon
4b184d47a4
update actions/checkout to v4
2024-07-17 16:47:54 +01:00
Roman Lebedev
1e96bb0ab5
Support windows MSYS2 environments ( #1704 )
...
* [CI] Attempt to add windows MSYS2-based coverage
* Mark decl of `State::KeepRunningInternal()` as `inline`
Maybe helps with
```
D:\a\_temp\msys64\ucrt64\bin\g++.exe -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DTEST_BENCHMARK_LIBRARY_HAS_NO_ASSERTIONS -ID:/a/benchmark/benchmark/include -Wall -Wextra -Wshadow -Wfloat-equal -Wold-style-cast -Werror -pedantic -pedantic-errors -fstrict-aliasing -Wno-deprecated-declarations -Wno-deprecated -Wstrict-aliasing -Wno-unused-variable -std=c++11 -fvisibility=hidden -fno-keep-inline-dllexport -UNDEBUG -MD -MT test/CMakeFiles/benchmark_test.dir/benchmark_test.cc.obj -MF test\CMakeFiles\benchmark_test.dir\benchmark_test.cc.obj.d -o test/CMakeFiles/benchmark_test.dir/benchmark_test.cc.obj -c D:/a/benchmark/benchmark/test/benchmark_test.cc
In file included from D:/a/benchmark/benchmark/test/benchmark_test.cc:1:
D:/a/benchmark/benchmark/include/benchmark/benchmark.h:1007:37: error: 'bool benchmark::State::KeepRunningInternal(benchmark::IterationCount, bool)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror]
1007 | inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunningInternal(IterationCount n,
| ^~~~~
```
* Mark more `State`'s member function decls as `inline`
```
[27/110] Building CXX object test/CMakeFiles/spec_arg_verbosity_test.dir/spec_arg_verbosity_test.cc.obj
FAILED: test/CMakeFiles/spec_arg_verbosity_test.dir/spec_arg_verbosity_test.cc.obj
D:\a\_temp\msys64\clang32\bin\clang++.exe -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DHAVE_THREAD_SAFETY_ATTRIBUTES -DTEST_BENCHMARK_LIBRARY_HAS_NO_ASSERTIONS -ID:/a/benchmark/benchmark/include -Wall -Wextra -Wshadow -Wfloat-equal -Wold-style-cast -Werror -pedantic -pedantic-errors -Wshorten-64-to-32 -fstrict-aliasing -Wno-deprecated-declarations -Wno-deprecated -Wstrict-aliasing -Wthread-safety -Wno-unused-variable -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -UNDEBUG -MD -MT test/CMakeFiles/spec_arg_verbosity_test.dir/spec_arg_verbosity_test.cc.obj -MF test\CMakeFiles\spec_arg_verbosity_test.dir\spec_arg_verbosity_test.cc.obj.d -o test/CMakeFiles/spec_arg_verbosity_test.dir/spec_arg_verbosity_test.cc.obj -c D:/a/benchmark/benchmark/test/spec_arg_verbosity_test.cc
In file included from D:/a/benchmark/benchmark/test/spec_arg_verbosity_test.cc:5:
D:/a/benchmark/benchmark/include/benchmark/benchmark.h:999:44: error: 'benchmark::State::KeepRunning' redeclared inline; 'dllimport' attribute ignored [-Werror,-Wignored-attributes]
999 | inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunning() {
| ^
D:/a/benchmark/benchmark/include/benchmark/benchmark.h:1003:44: error: 'benchmark::State::KeepRunningBatch' redeclared inline; 'dllimport' attribute ignored [-Werror,-Wignored-attributes]
1003 | inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunningBatch(IterationCount n) {
| ^
D:/a/benchmark/benchmark/include/benchmark/benchmark.h:1075:60: error: 'benchmark::State::begin' redeclared inline; 'dllimport' attribute ignored [-Werror,-Wignored-attributes]
1075 | inline BENCHMARK_ALWAYS_INLINE State::StateIterator State::begin() {
| ^
D:/a/benchmark/benchmark/include/benchmark/benchmark.h:1078:60: error: 'benchmark::State::end' redeclared inline; 'dllimport' attribute ignored [-Werror,-Wignored-attributes]
1078 | inline BENCHMARK_ALWAYS_INLINE State::StateIterator State::end() {
| ^
```
* StatisticsTest.CV: don't require precise FP match, tolerate some abs error
We get ever so slightly different results on windows with GCC.
```
71: Test command: D:\a\benchmark\benchmark\_build\test\statistics_gtest.exe
71: Working Directory: D:/a/benchmark/benchmark/_build/test
71: Test timeout computed to be: 10000000
71: Running main() from gmock_main.cc
71: [==========] Running 4 tests from 1 test suite.
71: [----------] Global test environment set-up.
71: [----------] 4 tests from StatisticsTest
71: [ RUN ] StatisticsTest.Mean
71: [ OK ] StatisticsTest.Mean (0 ms)
71: [ RUN ] StatisticsTest.Median
71: [ OK ] StatisticsTest.Median (0 ms)
71: [ RUN ] StatisticsTest.StdDev
71: [ OK ] StatisticsTest.StdDev (0 ms)
71: [ RUN ] StatisticsTest.CV
71: D:/a/benchmark/benchmark/test/statistics_gtest.cc:31: Failure
71: Expected equality of these values:
71: benchmark::StatisticsCV({2.5, 2.4, 3.3, 4.2, 5.1})
71: Which is: 0.32888184094918088
71: 0.32888184094918121
71: [ FAILED ] StatisticsTest.CV (0 ms)
71: [----------] 4 tests from StatisticsTest (0 ms total)
```
* Fix DLL path discovery for tests
2023-11-23 17:47:04 +03:00
dominic
c71d040549
add compiler to build-and-test and create min-cmake CI bot ( #1550 )
...
* add compiler to build-and-test and create min-cmake CI bot
* fix CXX env var
* downgrade msvc generator for cmake-3.10
* assume windows users have the latest cmake
2023-02-28 12:40:40 +00:00
dominic
0ce66c00f5
update github actions to latest versions ( #1541 )
2023-02-09 15:52:03 +00:00
dominic
94083ca441
remove best effort support for ubuntu 18.04 ( #1537 )
...
* remove deprecated ubuntu-18.04 target
* update docs
* force an apt update for perfcounters
2023-02-06 15:37:26 +00:00
Dominic Hamon
49aa374da9
bump cmake dep and docs ( #1468 )
...
* bump cmake dep and docs
2022-09-14 15:11:37 +01:00
Sergiu Deitsch
9e47d070fe
annotate and export public symbols ( #1321 )
2022-02-14 10:48:53 +00:00
Dominic Hamon
da01c5e662
use docker container for ubuntu-16.04 builds ( #1265 )
...
* use docker container for ubuntu-16.04 builds
* install some bits
* no sudo in docker container
* cmake, not cmake3
* include perfcounters
* still no sudo in docker containers
* yes please, apt
2021-10-27 16:29:37 +01:00
Dominic Hamon
4ff734960c
Run build-and-test on all branches
2021-06-01 15:48:44 +01:00
Roman Lebedev
f10b9c0cb3
Un-disable github actions :]
2021-06-01 13:04:32 +03:00
Dominic Hamon
604112c2d5
Run build-and-test on all branches
2021-06-01 11:00:37 +01:00
Dominic Hamon
0852c79f35
remove done TODOs
2021-05-07 14:24:00 +01:00
Dominic Hamon
551a21bad0
add g++-6 to ubuntu-14.04 ( #1144 )
...
* add g++-6 to ubuntu-14.04
* fix syntax
* fix yamllint errors for build-and-test
* fix 'add-apt-repository' command not found
* make 'run tests' explicit
* enable testing and run both release and debug
* oops
2021-05-07 14:23:05 +01:00
Dominic Hamon
a53b8853aa
Add ubuntu-14.04 build and test workflow ( #1131 )
...
* Add ubuntu-14.04 build and test workflow
* avoid '.' in job name
* no need for fail fast
* fix workflow syntax
* install some stuff
* better compiler installations
* update before install
* just say yes
* trying to match up some paths
* Difference between runner and github context in container?
* Try some judicious logging
* cmake 3.5+ required
* specific compiler versions
* need git for googletest
* Disable testing on old compilers
* disable testing properly
2021-05-07 12:39:04 +01:00
Dominic Hamon
ba9a763def
Add multiple compiler support to build-and-test workflow ( #1128 )
...
* Add 32-bit build support to build-and-test
* attempt different yaml multiline string format
* syntax fixes to yaml
* switch to getting alternative compilers working
* remove done TODO
* trying to separate out windows
* oops, typo.
* add TODOs for missing builds wrt travis
2021-04-30 14:22:15 +01:00
Dominic Hamon
86da5ec294
Add verbosity to CI logs ( #1122 )
2021-04-26 18:26:33 +01:00
Dominic Hamon
beb360d03e
Create pylint.yml ( #1039 )
...
* Create pylint.yml
* improve file matching
* fix some pylint issues
* run on PR and push (force on master only)
* more pylint fixes
* suppress noisy exit code and filter to fatals
* add conan as a dep so the module is importable
* fix lint error on unreachable branch
2020-09-09 09:43:26 +01:00
Dominic Hamon
4986d0b2ea
Create build-and-test.yml ( #1013 )
...
First attempt at a non-travis/non appveyor CI solution
2020-08-18 08:53:21 +01:00