Commit graph

832 commits

Author SHA1 Message Date
Dominic Hamon da8cd74d85 Merge branch 'biojppm-test_usercounters' 2017-05-02 08:44:55 -07:00
Dominic Hamon 25af505d9f Merge branch 'test_usercounters' of git://github.com/biojppm/benchmark into biojppm-test_usercounters 2017-05-02 08:43:46 -07:00
Felix Duvallet feb69ae710 Ensure all the necessary keys are present before parsing JSON data (#380)
This prevents errors when additional non-timing data are present in
the JSON that is loaded, for example when complexity data has been
computed (see #379).
2017-05-02 08:19:35 -07:00
Joao Paulo Magalhaes eb2bf34524 Fix indentation.
[ci-skip]
2017-05-02 11:37:46 +01:00
Joao Paulo Magalhaes 77b9362b06 Add output_test.h to output_test_helper for VisualStudio editing. 2017-05-01 23:02:52 +01:00
Joao Paulo Magalhaes b57b2cfd77 Improve some comments. 2017-05-01 23:02:35 +01:00
Joao Paulo Magalhaes 64b5f3ff2d Make Results::GetTime() receive an enum. 2017-05-01 23:02:23 +01:00
Joao Paulo Magalhaes 62b1dd9c4a CHECK_BENCHMARK_RESULTS() was too inconspicuous. 2017-05-01 23:02:17 +01:00
Joao Paulo Magalhaes 3443ac2103 Fix brace formatting (Habits die hard!). 2017-05-01 23:02:11 +01:00
Joao Paulo Magalhaes 21600b966f Fix VS warning. 2017-05-01 23:01:57 +01:00
Joao Paulo Magalhaes 47226ccd56 CHECK(): rename EPS to FLOAT for consistency with googletest style. 2017-05-01 23:01:10 +01:00
Joao Paulo Magalhaes 2a2eb44b30 Fix VS2013 quirk. 2017-04-29 22:27:55 +01:00
Joao Paulo Magalhaes cdbcaaf2b6 Fix g++-4.8 compile errors. 2017-04-29 20:47:32 +01:00
Joao Paulo Magalhaes ef6b4fb857 Simplify printing of counters in console reporter. 2017-04-29 20:41:33 +01:00
Joao Paulo Magalhaes 8f69e4f6ce Remove whitespace. 2017-04-29 20:35:25 +01:00
Joao Paulo Magalhaes c16c8fffac CHECK_EPS: Use parentheses to wrap macro arguments. 2017-04-29 20:35:02 +01:00
Joao Paulo Magalhaes c81960a899 Add missing include of stringstream. 2017-04-29 20:31:44 +01:00
Joao Paulo Magalhaes b5effb30f9 Add missing include for providing std::function. 2017-04-29 20:24:26 +01:00
Joao Paulo Magalhaes 55876610f1 Remove unused prototype. 2017-04-29 20:02:19 +01:00
Joao Paulo Magalhaes 180719d0d6 Rename ResultsCheckerEntry to Results. 2017-04-29 20:01:18 +01:00
Joao Paulo Magalhaes f3b82a8eda Adopt standard style. 2017-04-29 19:44:13 +01:00
Joao Paulo Magalhaes 86249c57a5 Result checking: move some function definitions to source file. 2017-04-29 19:40:39 +01:00
Joao Paulo Magalhaes 03b0655d12 Fix expected values of user counters as rates in unit tests. 2017-04-29 19:35:43 +01:00
Joao Paulo Magalhaes 921a51abcf Console reporting of user counters: print rates like non-rates. 2017-04-29 19:34:37 +01:00
Joao Paulo Magalhaes 5ed1b1dea7 Merge branch 'master' of https://github.com/vladoovtcharov/benchmark into test_usercounters 2017-04-29 19:27:53 +01:00
Joao Paulo Magalhaes 78548f8c6e Add (currently failing) tests for user counters with threads. 2017-04-29 19:26:34 +01:00
Joao Paulo Magalhaes 2814e9d8dc Fix ResultsCheckerEntry::NumThreads() 2017-04-29 19:25:51 +01:00
Joao Paulo Magalhaes 92034a8b84 Make result checkers execute on all regex-matching benchmarks. 2017-04-29 19:02:07 +01:00
Joao Paulo Magalhaes 738fcd9e6a Add log of the benchmark name when checking results. 2017-04-29 18:30:28 +01:00
Joao Paulo Magalhaes 1ce286f632 Avoid compiler-specific pragmas in result check macros.
- Epsilon is now understood as relative to expected value.
- Improve error messages for epsilon checks.
2017-04-29 18:26:30 +01:00
Joao Paulo Magalhaes da69e5de45 User counters: add more tests. 2017-04-28 20:45:30 +01:00
Joao Paulo Magalhaes 8c757a3bb9 Results check: add checks with epsilon. 2017-04-28 20:44:27 +01:00
Joao Paulo Magalhaes 1826feb164 ResultsCheckerEntry: add more getter functions. 2017-04-28 20:43:44 +01:00
Joao Paulo Magalhaes 2a8d0dd1b1 Use const char* instead of std::string in entry name lookup. 2017-04-28 20:42:28 +01:00
Joao Paulo Magalhaes 8adf59d762 Add epsilon check macros for float comparison. 2017-04-28 20:40:21 +01:00
Joao Paulo Magalhaes e869e3749a Remove some whitespace. 2017-04-28 15:38:21 +01:00
Joao Paulo Magalhaes 6452883027 Unit testing: add facilities to check benchmark results.
This is needed for examining the values of user counters (needed
for #348). It is also needed for checking the values of standard
benchmark results like items_processed or complexities (for example,
checking the standard deviation is needed for unit testing #357
as discussed in #362).
2017-04-28 15:02:27 +01:00
Joao Paulo Magalhaes 693a43013d User counters: add more unit tests. ...
The tests are still missing a way to check actual validity of
numerical results; this will be done next. As they currently are,
the tests pass, but the problem detected with #378 is still
standing and the results with non-standard counters are wrong.
2017-04-27 22:11:40 +01:00
Joao Paulo Magalhaes 3c2d7f5348 User counter tests: first version. 2017-04-27 19:25:20 +01:00
Joao Paulo Magalhaes b273d9b7d5 Reporter tests: reuse csv header. 2017-04-27 19:24:06 +01:00
Joao Paulo Magalhaes 409f35da50 User counters: fix misplaced newline in console reporter header. 2017-04-27 19:22:36 +01:00
vladoovt 1295ce8f23 Fixes #378 coercion to double was causing counter to forget its flags, changed it so that its value is updated directly 2017-04-27 09:56:43 -06:00
Joao Paulo Magalhaes 2d1a34626f Fixes #378 (hopefully). Unit tests for counters to follow.
The problem was that the call to Finish() the user counters was
lost in a big merge. If I had already written the tests for the
user counters, this would probably have been catched earlier.
2017-04-27 13:16:49 +01:00
Joao Paulo Magalhaes 27b3bd4dc4 Merge branch 'master' of https://github.com/google/benchmark 2017-04-27 12:38:28 +01:00
Arkady Shapkin 3336ea00d8 Support VS2017 on AppVeyor (#376) 2017-04-24 10:45:24 -07:00
Dmitry Trifonov 7a74b74856 fix for android NDK r10e (#375) 2017-04-20 20:07:52 -06:00
Dmitry Trifonov 09b93ccc6a fix android compilation (#372)
* fix android compilation

* checking __GLIBCXX__ and __GLIBCPP__ macro in addition to __ANDROID__

* using vsnprintf instead of std::vsnprintf to compile on Android

* removed __GLIBCPP__ check on Android

* StringPrintF instead of std::to_string for Android
2017-04-18 09:48:07 -06:00
Eric Fiselier 46afd8e693 Don't limit benchmarks with manual timers to 5x the elapsed real time.
When using CPU time to determine the correct number of iterations the
library additionally checks if the benchmark has consumed 5x the minimum
required time according to the wall clock. This prevents benchmarks
with low CPU usage from running for much longer than actually intended.

However when a benchmark uses a manual timer this heuristic isn't helpful
and likely isn't correct since we don't know what the manual timer actually
measures.

This patch removes the above restriction when a benchmark specifies a manual
timer.
2017-04-18 00:13:18 -06:00
Eric 74b24058ad Add Benchmark::Iterations for explicit iteration count control - Fixes #370 (#373)
* Add Benchmark::Iterations for explicitly specifying the number of iterations to use.

* Document that benchmark::Iterations should not be used to limit benchmark runtimes
2017-04-17 21:29:28 -07:00
Eric Fiselier 7f87c98d36 Enable <cassert> by removing -DNDEBUG when running the tests.
In non-debug builds CMake automatically adds -DNDEBUG, this means
that uses of `assert` in the tests are disabled for non-debug builds.
Obviously we want these tests to run, regardless of configuration.

This patch strips -DNDEBUG during non-debug builds and adds
-UNDEBUG just to be sure.
2017-04-17 20:53:39 -06:00