unit tests in clang #2012
This commit is contained in:
parent
a1fe39b89d
commit
8540343d48
|
@ -47,7 +47,7 @@ GTEST_API_ int main(int argc, char **argv) {
|
||||||
printf("Success 20201203\r\n");
|
printf("Success 20201203\r\n");
|
||||||
printAllTriggers();
|
printAllTriggers();
|
||||||
if (focusOnTrigger != TT_UNUSED) {
|
if (focusOnTrigger != TT_UNUSED) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
testing::InitGoogleTest(&argc, argv);
|
testing::InitGoogleTest(&argc, argv);
|
||||||
|
|
|
@ -69,12 +69,12 @@ TEST(fuelControl, transitionIssue1592) {
|
||||||
// Check that the action is correct - we don't care about the timing necessarily
|
// Check that the action is correct - we don't care about the timing necessarily
|
||||||
auto sched_open = engine->executor.getForUnitTest(0);
|
auto sched_open = engine->executor.getForUnitTest(0);
|
||||||
ASSERT_EQ(sched_open->action.getArgument(), inj2);
|
ASSERT_EQ(sched_open->action.getArgument(), inj2);
|
||||||
ASSERT_EQ(sched_open->action.getCallback(), &turnInjectionPinHigh);
|
ASSERT_EQ(sched_open->action.getCallback(), (void(*)(void*))turnInjectionPinHigh);
|
||||||
|
|
||||||
auto sched_close = engine->executor.getForUnitTest(1);
|
auto sched_close = engine->executor.getForUnitTest(1);
|
||||||
// Next action should be closing the same injector
|
// Next action should be closing the same injector
|
||||||
ASSERT_EQ(sched_close->action.getArgument(), inj2);
|
ASSERT_EQ(sched_close->action.getArgument(), inj2);
|
||||||
ASSERT_EQ(sched_close->action.getCallback(), &turnInjectionPinLow);
|
ASSERT_EQ(sched_close->action.getCallback(), (void(*)(void*))turnInjectionPinLow);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run the engine for some revs
|
// Run the engine for some revs
|
||||||
|
|
|
@ -50,7 +50,7 @@ TEST(misc, cppPlainStructMemoryLayout) {
|
||||||
memcpy(&destimationInt, &c, 4);
|
memcpy(&destimationInt, &c, 4);
|
||||||
ASSERT_EQ(540, destimationInt);
|
ASSERT_EQ(540, destimationInt);
|
||||||
|
|
||||||
ASSERT_EQ(0, (int)&c.field0 - (int)&c);
|
ASSERT_EQ((uintptr_t)&c.field0, (uintptr_t)&c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int valueWePointAt;
|
static int valueWePointAt;
|
||||||
|
@ -58,13 +58,11 @@ static int valueWePointAt;
|
||||||
TEST(misc, cppVirtualStructMemoryLayout) {
|
TEST(misc, cppVirtualStructMemoryLayout) {
|
||||||
TestChildWithVirtual c;
|
TestChildWithVirtual c;
|
||||||
|
|
||||||
int * valuePointer = &valueWePointAt;
|
int pointerSize = sizeof(int*);
|
||||||
int pointerSize = sizeof(valuePointer);
|
|
||||||
|
|
||||||
|
|
||||||
// '4' in case of 32 bit target
|
// '4' in case of 32 bit target
|
||||||
// '8' in case of 64 bit target
|
// '8' in case of 64 bit target
|
||||||
// this '8' is totally compiler and platform dependent
|
|
||||||
int MAGIC_VTABLE_SIZE = pointerSize;
|
int MAGIC_VTABLE_SIZE = pointerSize;
|
||||||
|
|
||||||
// validate field initializers just for fun
|
// validate field initializers just for fun
|
||||||
|
@ -80,9 +78,9 @@ TEST(misc, cppVirtualStructMemoryLayout) {
|
||||||
|
|
||||||
// static_cast is smart to skip the vtable, we like static_cast
|
// static_cast is smart to skip the vtable, we like static_cast
|
||||||
TestParent *parent = static_cast<TestParent*>(&c);
|
TestParent *parent = static_cast<TestParent*>(&c);
|
||||||
ASSERT_EQ(0, (int)&c.field0 - (int)parent);
|
ASSERT_EQ((uintptr_t)&c.field0, (uintptr_t)parent);
|
||||||
|
|
||||||
ASSERT_EQ(MAGIC_VTABLE_SIZE, (int)&c.field0 - (int)&c);
|
ASSERT_EQ(MAGIC_VTABLE_SIZE, (uintptr_t)&c.field0 - (uintptr_t)&c);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -96,5 +94,5 @@ TEST(misc, cppPlainExtraFieldsStructMemoryLayout) {
|
||||||
// parent fields go first
|
// parent fields go first
|
||||||
memcpy(&destimationInt, &c, 4);
|
memcpy(&destimationInt, &c, 4);
|
||||||
ASSERT_EQ(540, destimationInt);
|
ASSERT_EQ(540, destimationInt);
|
||||||
ASSERT_EQ(0, (int)&c.field0 - (int)&c);
|
ASSERT_EQ(0, (uintptr_t)&c.field0 - (uintptr_t)&c);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
using ::testing::_;
|
using ::testing::_;
|
||||||
|
|
||||||
static int testchip_readPad(void *data, brain_pin_e pin)
|
static int testchip_readPad(void *data, unsigned int pin)
|
||||||
{
|
{
|
||||||
if (pin & 0x01)
|
if (pin & 0x01)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -19,7 +19,7 @@ static int testchip_readPad(void *data, brain_pin_e pin)
|
||||||
|
|
||||||
static int io_state = 0;
|
static int io_state = 0;
|
||||||
|
|
||||||
static int testchip_writePad(void *data, brain_pin_e pin, int value)
|
static int testchip_writePad(void *data, unsigned int pin, int value)
|
||||||
{
|
{
|
||||||
if (value)
|
if (value)
|
||||||
io_state |= (1 << value);
|
io_state |= (1 << value);
|
||||||
|
@ -39,7 +39,7 @@ static int testchip_init(void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int calls_to_failed_chip = 0;
|
static int calls_to_failed_chip = 0;
|
||||||
static int testchip_failed_writePad(void *data, brain_pin_e pin, int value)
|
static int testchip_failed_writePad(void *data, unsigned int pin, int value)
|
||||||
{
|
{
|
||||||
calls_to_failed_chip++;
|
calls_to_failed_chip++;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -13,9 +13,9 @@ TestParameters* TestParameters::put(string key, float value) {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
float TestParameters::get(string key) const {
|
float TestParameters::get(string key) {
|
||||||
// WAT? 'contains' method only defined in C++20?!
|
// WAT? 'contains' method only defined in C++20?!
|
||||||
std::unordered_map<std::string, float>::const_iterator got = values.find (key);
|
std::unordered_map<std::string, float>::const_iterator got = values.find(key);
|
||||||
if (got == values.end())
|
if (got == values.end())
|
||||||
throw "No value for this key: " + key;
|
throw "No value for this key: " + key;
|
||||||
return values[key];
|
return values[key];
|
||||||
|
|
|
@ -14,6 +14,6 @@ class TestParameters {
|
||||||
public:
|
public:
|
||||||
unordered_map<string, float> values;
|
unordered_map<string, float> values;
|
||||||
TestParameters* put(string key, float value);
|
TestParameters* put(string key, float value);
|
||||||
float get(string key) const;
|
float get(string key);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue