cross-platform / dspatch

The Refreshingly Simple Cross-Platform C++ Dataflow / Patching / Pipelining / Graph Processing / Stream Processing / Reactive Programming Framework
https://flowbasedprogramming.com/
BSD 2-Clause "Simplified" License
220 stars 44 forks source link

Tests failing on head #25

Closed nyue closed 3 years ago

nyue commented 3 years ago

0x Buffer Efficiency (Series Mode): 24% 1x Buffer Efficiency (Series Mode): 24% 2x Buffer Efficiency (Series Mode): 48% 3x Buffer Efficiency (Series Mode): 72% 4x Buffer Efficiency (Series Mode): 91% 0x Buffer Efficiency (Parallel Mode): 55%


DSPatchTests is a Catch v1.9.3 host application.
Run with -? for options

-------------------------------------------------------------------------------
ThreadPerformanceTest2
-------------------------------------------------------------------------------
/home/nicholas/projects/DSPatch/dspatch/dspatch_git/tests/main.cpp:799
...............................................................................

/home/nicholas/projects/DSPatch/dspatch/dspatch_git/tests/main.cpp:835: FAILED:
  REQUIRE( count / 10 >= efficiencyThreshold * 0.8 )
with expansion:
  55 >= 64.0

===============================================================================
test cases:     26 |     25 passed | 1 failed
assertions: 357317 | 357316 passed | 1 failed

+++++++++++++++++++++++++++++++++++++++++

Test on both:
OS : CentOS 7 and default GCC (4.8.5)
OS : CentOS 7 and GCC (6.3.0)
MarcusTomlinson commented 3 years ago

Hi @nyue, yeah those efficiency tests can be rather flaky. Running the test a few times usually fixes it.

CI looks happy at least: https://travis-ci.org/github/cross-platform/dspatch/builds/745146073

MarcusTomlinson commented 3 years ago

Oh yes, another thing. Those tests should be run against the release build, not debug.

nyue commented 3 years ago

Thanks for the heads up. I was building release.

MarcusTomlinson commented 3 years ago

I've made these tests a little more lenient now. Hopefully that helps.