Commit graph

16 commits

Author SHA1 Message Date
Eric 7db02be244
Add support for GTest based unit tests. (#485)
* Add support for GTest based unit tests.

As Dominic and I have previously discussed, there is some
need/desire to improve the testing situation in Google Benchmark.

One step to fixing this problem is to make it easier to write
unit tests by adding support for GTest, which is what this patch does.

By default it looks for an installed version of GTest. However the
user can specify -DBENCHMARK_BUILD_EXTERNAL_GTEST=ON to instead
download, build, and use copy of gtest from source. This is
quite useful when Benchmark is being built in non-standard configurations,
such as against libc++ or in 32 bit mode.
2017-12-13 16:26:47 -07:00
Arkady Shapkin 3336ea00d8 Support VS2017 on AppVeyor (#376) 2017-04-24 10:45:24 -07:00
Eric Fiselier 2314368cb5 Add another workaround for Appveyor warnings 2016-09-02 23:59:07 -06:00
Eric Fiselier a85f2a8e5b attempt to suppress apveyor warnings 2016-09-02 23:48:17 -06:00
Eric Fiselier 577baa0dbd Remove MinGW builder in preference of MinGW-w64.
The plain MinGW enviroment does not provide any threading supporting, including
in the C++ STL. The MinGW-w64 enviroment does not have this problem.

This patch removes the 32 bit bot since it's always going to fail.
2016-08-10 18:23:50 -06:00
Eric Fiselier c9d747e5e6 Test different Appveyor MinGW installation 2016-08-09 14:36:15 -06:00
Eric Fiselier 96a5965b6e Use pre-installed MinGW on Appveyor
Currently out Appveyor CI downloads and stashes a custom MinGW installation.
However the builder already provides both 64 and 32 bit installations of MinGW.
This patch changes our CI to use those instead.

I'm hoping this will fix issues where the g++ is broken due to the Appveyor
package caching semantics.
2016-08-09 12:09:37 -06:00
Eric Fiselier ee54a3f03e Rework Appveyor config
Currently the Appveyor bot is a PIT. It never passes and it often hangs
or gives very poor output. This patch rewrites the configuration.

This patch also attempts to fix a flaky complexity test as a drive-by.
2016-08-08 02:04:59 -06:00
Eric Fiselier cfd717e43b Increase Appveyor timeout and fix build warning 2016-08-08 01:41:01 -06:00
Eric Fiselier 9e13b95b72 fix Appveyor config and add timeout 2016-08-08 00:04:59 -06:00
Eric Fiselier 8228b3e8a7 Make Appveyor show test output on failure 2016-08-07 20:09:52 -06:00
Eric Fiselier c04f703ab4 Fix signed integer overflow UB in complexity computations.
Previously the FittingCurve functions for n^2 and n^3 did the calculation
using int types. This can overflow and cause UB. This patch changes the
calculations to use std::pow to prevent this.

Also re-enable VC 2013 appveyor bot since I *hope* this is what was causing
the failures.
2016-08-07 17:33:18 -06:00
Eric Fiselier 5121b8546b Temporarly disable VC 2013 appveyor build in order to test VC 2015 2016-08-07 17:09:31 -06:00
Arkadiy Shapkin 9e37d69b23 Support MSVC on appveyor 2016-02-12 23:12:29 +03:00
Eric Fiselier 8bb991d099 Remove BENCHMARK_ENABLE_SHARED and prefer BUILD_SHARED_LIBS 2015-04-01 11:34:38 -04:00
Matt Clarkson 36d7dc67c1 appveyor configuration file
This file provides scripting to build the benchmark library in the cloud
on the appveyor build system. It provides a matrix of configurations to
cover as many possibilities as it can. Eventually MSVC can be added to the
matrix to provide coverage of the Visual Studio solutions.
2015-03-31 11:24:41 +01:00