Skip to content
Snippets Groups Projects
Commit 06c618f4 authored by René Fritze's avatar René Fritze
Browse files

[tests] allow 10% error on busywait test

parent 20274306
No related branches found
No related tags found
No related merge requests found
...@@ -13,13 +13,18 @@ void scoped_busywait(const std::string& name, int ms) ...@@ -13,13 +13,18 @@ void scoped_busywait(const std::string& name, int ms)
busywait(ms); busywait(ms);
} }
static double confidence_margin()
{
return 0.90f;
}
TEST(ProfilerTest, Timing) TEST(ProfilerTest, Timing)
{ {
for (auto i : valueRange(1, 4)) { for (auto i : valueRange(1, 4)) {
DSC_PROFILER.startTiming("ProfilerTest.Timing"); DSC_PROFILER.startTiming("ProfilerTest.Timing");
busywait(wait_ms); busywait(wait_ms);
DSC_PROFILER.stopTiming("ProfilerTest.Timing"); DSC_PROFILER.stopTiming("ProfilerTest.Timing");
EXPECT_GE(DSC_PROFILER.getTiming("ProfilerTest.Timing"), i * wait_ms); EXPECT_GE(DSC_PROFILER.getTiming("ProfilerTest.Timing"), i * wait_ms * confidence_margin());
} }
} }
...@@ -41,10 +46,10 @@ TEST(ProfilerTest, MultiRuns) ...@@ -41,10 +46,10 @@ TEST(ProfilerTest, MultiRuns)
scoped_busywait("ProfilerTest.MultiRuns", i * wait_ms); scoped_busywait("ProfilerTest.MultiRuns", i * wait_ms);
DSC_PROFILER.nextRun(); DSC_PROFILER.nextRun();
} }
const double confidence_margin = 0.95f;
for (auto i : dvalueRange) { for (auto i : dvalueRange) {
// i-1 cause runs have 0-based index // i-1 cause runs have 0-based index
EXPECT_GE(DSC_PROFILER.getTimingIdx("ProfilerTest.MultiRuns", i - 1), i * wait_ms * confidence_margin); EXPECT_GE(DSC_PROFILER.getTimingIdx("ProfilerTest.MultiRuns", i - 1), i * wait_ms * confidence_margin());
} }
} }
...@@ -61,7 +66,7 @@ TEST(ProfilerTest, ExpectedFailures) ...@@ -61,7 +66,7 @@ TEST(ProfilerTest, ExpectedFailures)
{ {
EXPECT_THROW(DSC_PROFILER.reset(0), Dune::RangeError); EXPECT_THROW(DSC_PROFILER.reset(0), Dune::RangeError);
EXPECT_THROW(DSC_PROFILER.reset(-1), Dune::RangeError); EXPECT_THROW(DSC_PROFILER.reset(-1), Dune::RangeError);
EXPECT_THROW(DSC_PROFILER.stopTiming("This_section_was_never_start"), Dune::RangeError); EXPECT_THROW(DSC_PROFILER.stopTiming("This_section_was_never_started"), Dune::RangeError);
} }
TEST(ProfilerTest, NestedTiming) TEST(ProfilerTest, NestedTiming)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment