GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/lua/test_lua_debounce.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 5 0 5
Functions: 100.0% 3 0 3
Branches: 42.9% 3 0 7
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #include "pch.h"
2 #include "rusefi_lua.h"
3
4
5 4 TEST(LuaDebounce, DebounceSignal) {
6
7 static const char code[] = R"(
8 button = SignalDebounce.new(0.1)
9
10 function delay(seconds)
11 advanceTimeUs(seconds*1000000)
12 end
13
14 function testFunc()
15 -- fast changes should be ignored
16 local startVal = button:get()
17 for i=0,10 do
18 button:set(i % 2 == 1)
19 if button:get() ~= startVal then
20 return 1
21 end
22 delay(0.05)
23 end
24
25 -- slow changes - should be ok
26 button:set(true)
27 delay(0.15)
28 button:set(true)
29 if not button:get() then
30 return 2
31 end
32
33 -- release button
34 button:set(false)
35 delay(0.15)
36 button:set(false)
37 if button:get() then
38 return 3
39 end
40
41 return 0
42 end
43
44 )";
45
46
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(testLuaReturnsInteger(code), 0);
47 1 }
48