From 6014b6fdbfe8b72d0372c639e8fb0b3ab67a2817 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 19 Nov 2012 16:38:33 +0000 Subject: [PATCH] [all] Google tests now again all OK --- src/Makefile | 6 +++--- src/gtests.cpp | 44 +++++++++++++++++++++++++++++--------------- src/lcd.cpp | 6 +++--- src/logs.cpp | 4 ++-- src/simpgmspace.h | 6 +++--- 5 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/Makefile b/src/Makefile index bb8811ed5..2a132fa52 100644 --- a/src/Makefile +++ b/src/Makefile @@ -851,7 +851,7 @@ FOXLIB=-L/usr/local/lib \ -Wl,-rpath,$(FOXPATH)/src/.libs simu: stamp_header $(BOARDSRC) $(CPPSRC) Makefile simu.cpp simpgmspace.cpp *.h *.lbm eeprom.bin - g++ $(CPPFLAGS) simu.cpp $(BOARDSRC) $(CPPSRC) simpgmspace.cpp $(ARCH) -MD -DSIMU -o simu $(FOXINC) $(FOXLIB) -pthread + g++ $(CPPFLAGS) simu.cpp $(BOARDSRC) $(CPPSRC) simpgmspace.cpp -MD -DSIMU -O1 -o simu $(FOXINC) $(FOXLIB) -pthread eeprom.bin: dd if=/dev/zero of=$@ bs=1 count=2048 @@ -1029,5 +1029,5 @@ gtest_main.a : gtest-all.o gtest_main.o # gtest_main.a, depending on whether it defines its own main() # function. -gtests: $(CPPSRC) gtests.cpp simpgmspace.cpp *.h gtest_main.a - g++ $(CPPSRC) gtests.cpp simpgmspace.cpp $(CPPFLAGS) -I$(GTEST_DIR) $(ARCH) -o gtests -lpthread -MD -DSIMU gtest_main.a +gtests: $(BOARDSRC) $(CPPSRC) gtests.cpp simpgmspace.cpp *.h gtest_main.a + g++ -std=gnu++0x $(CPPFLAGS) $(BOARDSRC) $(CPPSRC) gtests.cpp simpgmspace.cpp -I$(GTEST_DIR) -o gtests -lpthread -MD -DSIMU gtest_main.a diff --git a/src/gtests.cpp b/src/gtests.cpp index 61f7df4c5..25cb544c3 100644 --- a/src/gtests.cpp +++ b/src/gtests.cpp @@ -44,7 +44,7 @@ TEST(trims, greaterTrimLink) memset(&g_model, 0, sizeof(g_model)); setTrimValue(1, 0, TRIM_EXTENDED_MAX+3); // link to FP3 trim setTrimValue(3, 0, 32); - EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, 1), 0), 32); + EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(1, 0), 0), 32); } TEST(trims, chainedTrims) @@ -66,7 +66,8 @@ TEST(trims, infiniteChainedTrims) EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, 2), 0), 32); } -TEST(outdezNAtt, test_unsigned) { +TEST(outdezNAtt, test_unsigned) +{ uint16_t altitude = 65530; uint8_t refBuf[sizeof(displayBuf)]; @@ -84,7 +85,8 @@ TEST(outdezNAtt, test_unsigned) { EXPECT_EQ(memcmp(refBuf, displayBuf, sizeof(displayBuf)), 0) << "Unsigned numbers will be bad displayed"; } -TEST(EEPROM, 1000_random_writes) { +TEST(EEPROM, 1000_random_writes) +{ eepromFile = NULL; // in memory RlcFile f; uint8_t buf[1000]; @@ -106,7 +108,8 @@ TEST(EEPROM, 1000_random_writes) { } } -TEST(EEPROM, test2) { +TEST(EEPROM, test2) +{ eepromFile = NULL; // in memory RlcFile f; uint8_t buf[1000]; @@ -128,7 +131,8 @@ TEST(EEPROM, test2) { EXPECT_EQ(sz, 300); } -TEST(EEPROM, eeCheckImmediately) { +TEST(EEPROM, eeCheckImmediately) +{ eepromFile = NULL; // in memory // RlcFile f; uint8_t buf[1000]; @@ -152,7 +156,8 @@ TEST(EEPROM, eeCheckImmediately) { EXPECT_EQ(sz, 300); } -TEST(EEPROM, copy) { +TEST(EEPROM, copy) +{ eepromFile = NULL; // in memory uint8_t buf[1000]; @@ -176,7 +181,8 @@ TEST(EEPROM, copy) { EXPECT_EQ(sz, 300); } -TEST(EEPROM, rm) { +TEST(EEPROM, rm) +{ eepromFile = NULL; // in memory uint8_t buf[1000]; @@ -206,7 +212,8 @@ TEST(EEPROM, rm) { extern void processFrskyPacket(uint8_t *packet); -TEST(FrSky, gpsNfuel) { +TEST(FrSky, gpsNfuel) +{ g_model.frsky.usrProto = 1; frskyData.hub.gpsFix = 1; @@ -234,7 +241,8 @@ TEST(FrSky, gpsNfuel) { EXPECT_EQ(frskyData.hub.fuelLevel, 100); } -TEST(FrSky, dateNtime) { +TEST(FrSky, dateNtime) +{ uint8_t pkt1[] = { 0xfd, 0x07, 0x00, 0x5e, 0x15, 0x0f, 0x07, 0x5e, 0x16, 0x0b }; uint8_t pkt2[] = { 0xfd, 0x07, 0x00, 0x00, 0x5e, 0x17, 0x06, 0x12, 0x5e, 0x18 }; uint8_t pkt3[] = { 0xfd, 0x03, 0x00, 0x32, 0x00, 0x5e }; @@ -249,13 +257,15 @@ TEST(FrSky, dateNtime) { EXPECT_EQ(frskyData.hub.sec, 50); } -TEST(getSwitch, undefCSW) { +TEST(getSwitch, undefCSW) +{ memset(&g_model, 0, sizeof(g_model)); - EXPECT_EQ(getSwitch(MAX_SWITCH-NUM_CSW, 0), false); - EXPECT_EQ(getSwitch(-(MAX_SWITCH-NUM_CSW), 0), false); + EXPECT_EQ(getSwitch(MAX_PSWITCH, 0), false); + EXPECT_EQ(getSwitch(-MAX_PSWITCH, 0), true); // no good answer there! } -TEST(getSwitch, circularCSW) { +TEST(getSwitch, circularCSW) +{ memset(&g_model, 0, sizeof(g_model)); g_model.customSw[0] = { MAX_SWITCH-NUM_CSW, MAX_SWITCH-NUM_CSW, CS_OR }; g_model.customSw[1] = { MAX_SWITCH-NUM_CSW, MAX_SWITCH-NUM_CSW, CS_AND }; @@ -265,14 +275,16 @@ TEST(getSwitch, circularCSW) { EXPECT_EQ(getSwitch(-(1+MAX_SWITCH-NUM_CSW), 0), true); } -TEST(getSwitch, nullSW) { +TEST(getSwitch, nullSW) +{ memset(&g_model, 0, sizeof(g_model)); EXPECT_EQ(getSwitch(0, 0), false); EXPECT_EQ(getSwitch(0, true), true); EXPECT_EQ(getSwitch(0, 0), false); } -TEST(phases, nullFadeOut_posFadeIn) { +TEST(phases, nullFadeOut_posFadeIn) +{ memset(&g_model, 0, sizeof(g_model)); g_model.phaseData[1].swtch = DSW_ID1; g_model.phaseData[1].fadeIn = 15; @@ -283,6 +295,8 @@ TEST(phases, nullFadeOut_posFadeIn) { int main(int argc, char **argv) { StartEepromThread(NULL); + g_menuStackPtr = 0; + g_menuStack[0] = menuMainView; ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } diff --git a/src/lcd.cpp b/src/lcd.cpp index d8dc46342..567caf188 100644 --- a/src/lcd.cpp +++ b/src/lcd.cpp @@ -288,12 +288,12 @@ void lcd_outdezNAtt(xcoord_t x, uint8_t y, int16_t val, LcdFlags flags, uint8_t x -= fw + 1; for (uint8_t i=1; i<=len; i++) { - div_t qr = div(val, 10); + div_t qr = div((uint16_t)val, 10); char c = qr.rem + '0'; uint8_t f = flags; if (dblsize) { if (c=='1' && i==len && xn>x+10) { x+=2; f|=CONDENSED; } - if (val >= 1000) { x+=FWNUM; f&=~DBLSIZE; } + if ((uint16_t)val >= 1000) { x+=FWNUM; f&=~DBLSIZE; } } lcd_putcAtt(x, y, c, f); if (mode==i) { @@ -315,7 +315,7 @@ void lcd_outdezNAtt(xcoord_t x, uint8_t y, int16_t val, LcdFlags flags, uint8_t x--; } } - if (dblsize && val >= 1000 && val < 10000) x-=2; + if (dblsize && (uint16_t)val >= 1000 && (uint16_t)val < 10000) x-=2; val = qr.quot; x-=fw; } diff --git a/src/logs.cpp b/src/logs.cpp index 0c6a2a654..855cb36c9 100644 --- a/src/logs.cpp +++ b/src/logs.cpp @@ -34,7 +34,7 @@ #include "open9x.h" #include "FatFs/ff.h" -static FIL g_oLogFile = {0}; +FIL g_oLogFile = {0}; const pm_char * g_logError = NULL; uint8_t logDelay; @@ -130,7 +130,7 @@ void closeLogs() lastLogTime = 0; } -// when disk full +// TODO test when disk full void writeLogs() { static const pm_char * error_displayed = NULL; diff --git a/src/simpgmspace.h b/src/simpgmspace.h index e5b8cf777..28297deb6 100644 --- a/src/simpgmspace.h +++ b/src/simpgmspace.h @@ -185,19 +185,19 @@ extern void rxPdcUsart( void (*pChProcess)(uint8_t x) ); #define RXCIE0 dummyport #define OCR0A dummyport #define OCR1A dummyport16 +#define OCR1B dummyport16 +#define OCR1C dummyport16 +#define OCR2 dummyport #define OCR3A dummyport16 #define OCR3B dummyport16 #define OCR4A dummyport #define OCR5A dummyport -#define OCR1B dummyport16 -#define OCR1C dummyport16 #define TCCR0A dummyport #define TCCR1A dummyport #define TCCR1B dummyport #define TCCR1C dummyport #define COM1B0 dummyport #define COM0A0 dummyport - #define TCNT1 dummyport16 #define TCNT5 dummyport16 #define ICR1 dummyport16