diff --git a/unit_tests/tests/lua/test_lua_vag.cpp b/unit_tests/tests/lua/test_lua_vag.cpp new file mode 100644 index 0000000000..ec465b6ac3 --- /dev/null +++ b/unit_tests/tests/lua/test_lua_vag.cpp @@ -0,0 +1,19 @@ +#include "pch.h" +#include "rusefi_lua.h" + +#define VAG_CHECKSUM "function xorChecksum(data) \ + return data[1] ~ data[2] ~ data[3] ~ data[4] ~ data[5] ~ data[6] ~ data[7] \ + end" + + +TEST(LuaVag, Checksum) { + const char* realdata = VAG_CHECKSUM R"( + + function testFunc() + data = { 0xE0, 0x20, 0x20, 0x7E, 0xFE, 0xFF, 0xFF, 0x60 } + return xorChecksum(data) + end + )"; + + EXPECT_NEAR_M3(testLuaReturnsNumberOrNil(realdata).value_or(0), 0x60); +} diff --git a/unit_tests/tests/tests.mk b/unit_tests/tests/tests.mk index c4c1b8e851..c08f55a29a 100644 --- a/unit_tests/tests/tests.mk +++ b/unit_tests/tests/tests.mk @@ -31,6 +31,7 @@ TESTS_SRC_CPP = \ tests/lua/test_lua_basic.cpp \ tests/lua/test_lookup.cpp \ tests/lua/test_lua_e65.cpp \ + tests/lua/test_lua_vag.cpp \ tests/lua/test_lua_with_engine.cpp \ tests/lua/test_lua_hooks.cpp \ tests/sensor/test_cj125.cpp \