making warning codes more unit testable

This commit is contained in:
rusefi 2019-01-12 08:34:38 -05:00
parent e0a284a7fc
commit b7917800c8
4 changed files with 12 additions and 7 deletions

View File

@ -37,9 +37,14 @@ extern TunerStudioOutputChannels tsOutputChannels;
#endif /* EFI_TUNER_STUDIO */
WarningCodeState::WarningCodeState() {
clear();
}
void WarningCodeState::clear() {
warningCounter = 0;
lastErrorCode = 0;
timeOfPreviousWarning = -10;
recentWarninig.clear();
}
void WarningCodeState::addWarningCode(obd_code_e code) {

View File

@ -96,7 +96,7 @@ static void printWarning(const char *fmt, va_list ap) {
}
#else
int unitTestWarningCounter = 0;
WarningCodeState unitTestWarningCodeState;
#endif /* EFI_SIMULATOR || EFI_PROD_CODE */
@ -131,7 +131,7 @@ bool warning(obd_code_e code, const char *fmt, ...) {
printWarning(fmt, ap);
va_end(ap);
#else
unitTestWarningCounter++;
unitTestWarningCodeState.addWarningCode(code);
printf("unit_test_warning: ");
va_list ap;
va_start(ap, fmt);

View File

@ -17,12 +17,12 @@
extern int timeNowUs;
extern EnginePins enginePins;
extern int unitTestWarningCounter;
extern WarningCodeState unitTestWarningCodeState;
extern float testMafValue;
extern engine_configuration_s activeConfiguration;
EngineTestHelper::EngineTestHelper(engine_type_e engineType) : engine (&persistentConfig) {
unitTestWarningCounter = 0;
unitTestWarningCodeState.clear();
// todo: make this not a global variable, we need currentTimeProvider interface on engine
timeNowUs = 0;

View File

@ -34,7 +34,7 @@
extern int timeNowUs;
extern float mockMapValue;
extern float testMafValue;
extern int unitTestWarningCounter;
extern WarningCodeState unitTestWarningCodeState;
extern bool printTriggerDebug;
extern float actualSynchGap;
@ -1248,7 +1248,7 @@ TEST(big, testMissedSpark299) {
engineConfiguration->isIgnitionEnabled = true;
engineConfiguration->isInjectionEnabled = false;
assertEqualsM("warningCounter#0", 4, unitTestWarningCounter);
assertEqualsM("warningCounter#0", 4, unitTestWarningCodeState.warningCounter);
eth.fireRise(20);
@ -1318,5 +1318,5 @@ TEST(big, testMissedSpark299) {
eth.fireFall(20);
eth.executeActions();
assertEqualsM("warningCounter#1", 5, unitTestWarningCounter);
assertEqualsM("warningCounter#1", 5, unitTestWarningCodeState.warningCounter);
}