Commit Graph

9 Commits

Author SHA1 Message Date
Eric Wasylishen 04604b18cd
tests: replace doctest with googletest (#431)
* tests: replace doctest with googletest

- googletest command-line output lists a nice summary of failed tests at the end, doctest's doesn't
- string test case names in doctest make IDE file structure view useless
- googletest has VS support
- doctest development stalled

other changes:
- get rid of doctest::skip(), all tests run now.
(was only applied to 3 tests: "winding", "mountain", "base1")

* check for test failure

* Revert "check for test failure"

This reverts commit a71d020c5a.

* fix test names to comply with gtest rules
2024-06-23 21:31:02 -06:00
Eric Wasylishen 05ae8b0d19 tests: remove unneeded may_fail() 2023-12-03 14:31:11 -07:00
Eric Wasylishen a9838d9fc1 tests: fix build 2023-11-08 00:28:14 -07:00
Eric Wasylishen e9532346c7 vis: partly fix perf regression of Oct 2021
- drops usage of winding_storage_hybrid
- makes pstack_t trivially default initializable again (like the C
  original)
- we weren't making use of the unlimited size of winding_storage_hybrid;
  the original vis already has an allowance for if a winding exceeds
  the fixed stack allocation size (24) and we were still applying that
  limit

before:

cmake-build-release\tests\tests.exe -r=xml -sf=*benchmark.cc
Testing started at 1:53 PM ...

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               45.15 |       22,149,002.06 |    0.1% |      0.01 | `create pstack_t`
|               47.04 |       21,256,429.80 |    0.1% |      0.01 | `create pstack_t + 1x AllocStackWinding`
|               48.28 |       20,710,594.32 |    0.2% |      0.01 | `create pstack_t + 2x AllocStackWinding`
|              128.52 |        7,780,603.30 |    0.3% |      0.01 | `setup + ClipStackWinding`

Benchmark from: https://www.quaddicted.com/tools/vis_benchmark

cmake-build-release\vis\vis.exe -nostate -nopercent gmsp3v2.bsp

153.31s elapsed

after:

cmake-build-release\tests\tests.exe -r=xml -sf=*benchmark.cc
Testing started at 1:46 PM ...

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                1.64 |      610,528,630.06 |    0.3% |      0.01 | `create pstack_t`
|                3.29 |      303,895,535.45 |    0.6% |      0.01 | `create pstack_t + 1x AllocStackWinding`
|                5.20 |      192,172,148.84 |    0.2% |      0.01 | `create pstack_t + 2x AllocStackWinding`
|               66.84 |       14,960,818.66 |    1.0% |      0.01 | `setup + ClipStackWinding`

Benchmark from: https://www.quaddicted.com/tools/vis_benchmark

cmake-build-release\vis\vis.exe -nostate -nopercent gmsp3v2.bsp

141.42s elapsed
2023-11-05 13:58:36 -07:00
Eric Wasylishen 7cb6c6553b tests: add ClipStackWinding benchmark, qvec benchmark 2023-11-03 21:27:29 -06:00
Eric Wasylishen 505efbf885 tests: standardize map naming convention 2023-02-25 12:46:22 -07:00
Eric Wasylishen 8438232d99 tests: add a first test case for vis 2023-02-20 16:37:04 -07:00
Eric Wasylishen d9d4ee99ad include only needed catch2 headers 2022-09-29 19:49:53 -06:00
Eric Wasylishen 050886f32c tests: unify tests under one target
to ease sharing code. vis/light tests are going to need the testqbsp infrastructure.
2022-07-10 16:36:15 -06:00