Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | #include "pch.h" | |||
2 | #include "rusefi_lua.h" | |||
3 | ||||
4 | 4 | TEST(LuaBasic, ReturnsNumber) { | ||
5 | 1 | auto script = R"( | ||
6 | function testFunc() | |||
7 | return 5.5 | |||
8 | end | |||
9 | )"; | |||
10 | ||||
11 | 1 | float result = testLuaReturnsNumber(script); | ||
12 | ||||
13 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result, 5.5f); | |
14 | 1 | } | ||
15 | ||||
16 | 4 | TEST(LuaBasic, MathLib) { | ||
17 | 1 | auto script = R"( | ||
18 | function testFunc() | |||
19 | return math.min(3, 1, 2) | |||
20 | end | |||
21 | )"; | |||
22 | ||||
23 | 1 | float result = testLuaReturnsNumber(script); | ||
24 | ||||
25 |
2/6✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
|
1 | EXPECT_FLOAT_EQ(result, 1.0f); | |
26 | 1 | } | ||
27 | ||||
28 | 4 | TEST(LuaBasic, MathLibFloor) { | ||
29 | 1 | auto script = R"( | ||
30 | function testFunc() | |||
31 | return math.floor(3.2) | |||
32 | end | |||
33 | )"; | |||
34 | ||||
35 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
|
1 | EXPECT_FLOAT_EQ(testLuaReturnsNumber(script), 3.0f); | |
36 | 1 | } | ||
37 | ||||
38 | 4 | TEST(LuaBasic, ReturnsInteger) { | ||
39 | 1 | auto script = R"( | ||
40 | function testFunc() | |||
41 | return 33 | |||
42 | end | |||
43 | )"; | |||
44 | ||||
45 |
1/1✓ Branch 2 taken 1 time.
|
1 | int result = testLuaReturnsInteger(script); | |
46 | ||||
47 |
2/6✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_EQ(result, 33); | |
48 | 1 | } | ||
49 | ||||
50 | 4 | TEST(LuaBasic, InvalidScript) { | ||
51 |
4/11✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_ANY_THROW(testLuaReturnsInteger("ggg")); | |
52 | 1 | } | ||
53 | ||||
54 | 4 | TEST(LuaBasic, NoFunction) { | ||
55 |
4/11✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_ANY_THROW(testLuaReturnsInteger(R"( | |
56 | function testFuncccccc() | |||
57 | return 3 | |||
58 | end | |||
59 | )")); | |||
60 | 1 | } | ||
61 | ||||
62 | 4 | TEST(LuaBasic, WrongReturnTypeExpectIntegerReturnsNothing) { | ||
63 |
4/11✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_ANY_THROW(testLuaReturnsInteger(R"( | |
64 | function testFunc() | |||
65 | end | |||
66 | )")); | |||
67 | 1 | } | ||
68 | ||||
69 | 4 | TEST(LuaBasic, WrongReturnTypeExpectIntegerReturnsNil) { | ||
70 |
4/11✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_ANY_THROW(testLuaReturnsInteger(R"( | |
71 | function testFunc() | |||
72 | return nil | |||
73 | end | |||
74 | )")); | |||
75 | 1 | } | ||
76 | ||||
77 | 4 | TEST(LuaBasic, ExpectNumOrNilReturnsNil) { | ||
78 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_EQ(testLuaReturnsNumberOrNil(R"( | |
79 | function testFunc() | |||
80 | return nil | |||
81 | end | |||
82 | 1 | )"), unexpected); | ||
83 | 1 | } | ||
84 | ||||
85 | 4 | TEST(LuaBasic, ExpectNumOrNilReturnsNumber) { | ||
86 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_FLOAT_EQ(56.3f, testLuaReturnsNumberOrNil(R"( | |
87 | function testFunc() | |||
88 | return 56.3 | |||
89 | end | |||
90 | 1 | )").value_or(0)); | ||
91 | 1 | } | ||
92 | ||||
93 | 4 | TEST(LuaPid, Offset) { | ||
94 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_FLOAT_EQ(18.0f, testLuaReturnsNumberOrNil(R"( | |
95 | function testFunc() | |||
96 | pid = Pid.new(2, 0, 0, -100, 100) | |||
97 | pid:setOffset(20) | |||
98 | return pid:get(20, 21) | |||
99 | end | |||
100 | 1 | )").value_or(0)); | ||
101 | 1 | } | ||
102 | ||||
103 | 4 | TEST(LuaBasic, ExpectNumOrNilReturnsNothing) { | ||
104 | // Returning nothing is generally functionally equivalent to returning nil | |||
105 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 time.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_EQ(testLuaReturnsNumberOrNil(R"( | |
106 | function testFunc() | |||
107 | return | |||
108 | end | |||
109 | 1 | )"), unexpected); | ||
110 | 1 | } | ||
111 | ||||
112 | 4 | TEST(LuaSensor, Timeout) { | ||
113 |
3/7✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_FLOAT_EQ(0.0f, testLuaReturnsNumberOrNil(R"( | |
114 | function testFunc() | |||
115 | cltSensor = Sensor.new("clt") | |||
116 | cltSensor:setTimeout(3000) | |||
117 | end | |||
118 | 1 | )").value_or(0)); | ||
119 | 1 | } | ||
120 | ||||
121 | 4 | TEST(SystemLua, ScriptLoads) { | ||
122 | 1 | startLua(); | ||
123 | 1 | } | ||
124 |