Re #2939: gtests added to cmake

This commit is contained in:
Damjan Adamic
2016-01-10 18:43:33 +01:00
parent 26469b8627
commit a76fc4c88c
4 changed files with 35 additions and 9 deletions
+1
View File
@@ -724,6 +724,7 @@ add_definitions(-DCORRECT_NEGATIVE_SHIFTS)
if(NOT WIN32)
add_subdirectory(targets/simu)
add_subdirectory(tests)
endif()
set(SRC ${SRC} ${FIRMWARE_SRC})
+24
View File
@@ -0,0 +1,24 @@
find_package(Qt4 4.8.1 REQUIRED)
include(${QT_USE_FILE})
set(GTEST_INCDIR /usr/include/gtest)
set(GTEST_SRCDIR /usr/src/gtest)
add_library(gtests-lib STATIC EXCLUDE_FROM_ALL ${GTEST_SRCDIR}/src/gtest-all.cc )
target_include_directories(gtests-lib PUBLIC ${GTEST_INCDIR} PUBLIC ${GTEST_SRCDIR})
add_definitions(-DSIMU)
set(TESTS_PATH ${RADIO_SRC_DIRECTORY})
configure_file(${RADIO_SRC_DIRECTORY}/tests/location.h.in ${RADIO_SRC_DIRECTORY}/tests/location.h @ONLY)
foreach(FILE ${SRC})
set(RADIO_SRC ${RADIO_SRC} ../${FILE})
endforeach()
file(GLOB TEST_SRC_FILES ${RADIO_SRC_DIRECTORY}/tests/*.cpp)
add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${RADIO_SRC} ../targets/simu/simpgmspace.cpp)
add_dependencies(gtests ${FIRMWARE_DEPENDENCIES} gtests-lib)
target_link_libraries(gtests gtests-lib ${QT_LIBRARIES} pthread)
+9 -9
View File
@@ -43,7 +43,7 @@
#define SWAP_DEFINED
#include "opentx.h"
#include "location.h"
void doPaint(QPainter & p)
{
@@ -103,7 +103,7 @@ bool checkScreenshot(const QString & test)
QFile screenshot("/tmp/" + filename);
if (!screenshot.open(QIODevice::ReadOnly))
return false;
QFile reference("./tests/" + filename);
QFile reference( TESTS_PATH "/tests/" + filename);
if (!reference.open(QIODevice::ReadOnly))
return false;
if (reference.readAll() != screenshot.readAll())
@@ -296,7 +296,7 @@ TEST(Lcd, BMPWrapping)
{
lcdClear();
uint8_t bitmap[2+40*40/2];
bmpLoad(bitmap, "./tests/plane.bmp", 40, 40);
bmpLoad(bitmap, TESTS_PATH "/tests/plane.bmp", 40, 40);
lcdDrawBitmap(200, 0, bitmap);
lcdDrawBitmap(200, 60, bitmap);
lcdDrawBitmap(240, 60, bitmap); // x too big
@@ -365,31 +365,31 @@ TEST(Lcd, lcdDrawBitmapLoadAndDisplay)
// Test proper BMP files, they should display correctly
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(7, 32));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/4b_7x32.bmp", 7, 32), (char *)0);
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/4b_7x32.bmp", 7, 32), (char *)0);
bitmap.leakCheck();
lcdDrawBitmap(10, 2, bitmap.buffer());
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(6, 32));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/1b_6x32.bmp", 6, 32), (char *)0);
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/1b_6x32.bmp", 6, 32), (char *)0);
bitmap.leakCheck();
lcdDrawBitmap(20, 2, bitmap.buffer());
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(31, 31));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/4b_31x31.bmp", 31, 31), (char *)0);
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/4b_31x31.bmp", 31, 31), (char *)0);
bitmap.leakCheck();
lcdDrawBitmap(30, 2, bitmap.buffer());
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(39, 32));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/1b_39x32.bmp", 39, 32), (char *)0);
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/1b_39x32.bmp", 39, 32), (char *)0);
bitmap.leakCheck();
lcdDrawBitmap(70, 2, bitmap.buffer());
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(20, 20));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/4b_20x20.bmp", 20, 20), (char *)0);
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/4b_20x20.bmp", 20, 20), (char *)0);
bitmap.leakCheck();
lcdDrawBitmap(120, 2, bitmap.buffer());
}
@@ -403,7 +403,7 @@ TEST(Lcd, lcdDrawBitmapLoadAndDisplay)
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(10, 10));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/1b_39x32.bmp", 10, 10), STR_INCOMPATIBLE) << "to small buffer";
EXPECT_EQ(bmpLoad(bitmap.buffer(), TESTS_PATH "/tests/1b_39x32.bmp", 10, 10), STR_INCOMPATIBLE) << "to small buffer";
bitmap.leakCheck();
}
}
+1
View File
@@ -0,0 +1 @@
#define TESTS_PATH "@TESTS_PATH@"