mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Tests are running again
Revised Readme.md Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Needed for testing non-public components
|
||||
# Needed for testing non-public components
|
||||
include_directories(../libsrc)
|
||||
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
@@ -10,7 +10,7 @@ ENDMACRO()
|
||||
if(ENABLE_SPIDEV)
|
||||
# Add the simple test executable 'TestSpi'
|
||||
add_executable(test_spi TestSpi.cpp)
|
||||
link_to_hyperion(test_spi)
|
||||
target_link_libraries( test_spi leddevice hyperion-utils hyperion )
|
||||
add_executable(spidev_test spidev_test.c)
|
||||
add_executable(gpio2spi switchPinCtrl.c)
|
||||
endif(ENABLE_SPIDEV)
|
||||
@@ -21,19 +21,9 @@ link_to_hyperion(test_configfile)
|
||||
add_executable(test_ImageRgb TestRgbImage.cpp)
|
||||
link_to_hyperion(test_ImageRgb)
|
||||
|
||||
add_executable(test_image2ledsmap TestImage2LedsMap.cpp)
|
||||
link_to_hyperion(test_image2ledsmap)
|
||||
|
||||
if (ENABLE_DISPMANX)
|
||||
add_subdirectory(dispmanx2png)
|
||||
endif (ENABLE_DISPMANX)
|
||||
|
||||
add_executable(test_blackborderdetector TestBlackBorderDetector.cpp)
|
||||
link_to_hyperion(test_blackborderdetector)
|
||||
|
||||
add_executable(test_blackborderprocessor TestBlackBorderProcessor.cpp)
|
||||
link_to_hyperion(test_blackborderprocessor)
|
||||
|
||||
add_executable(test_qregexp TestQRegExp.cpp)
|
||||
target_link_libraries(test_qregexp Qt5::Widgets)
|
||||
|
||||
@@ -45,3 +35,17 @@ if(ENABLE_X11)
|
||||
add_executable(test_x11performance TestX11Performance.cpp)
|
||||
target_link_libraries(test_x11performance ${X11_LIBRARIES} Qt5::Widgets)
|
||||
endif(ENABLE_X11)
|
||||
|
||||
######### These tests are broken. May they fix someone ##########
|
||||
|
||||
# add_executable(test_image2ledsmap TestImage2LedsMap.cpp)
|
||||
# link_to_hyperion(test_image2ledsmap)
|
||||
|
||||
# if (ENABLE_DISPMANX)
|
||||
# add_subdirectory(dispmanx2png)
|
||||
# endif (ENABLE_DISPMANX)
|
||||
|
||||
# add_executable(test_blackborderprocessor TestBlackBorderProcessor.cpp)
|
||||
# link_to_hyperion(test_blackborderprocessor)
|
||||
|
||||
###################################################
|
||||
|
@@ -53,6 +53,7 @@ int TC_NO_BORDER()
|
||||
std::cerr << "Failed to correctly detect no border" << std::endl;
|
||||
result = -1;
|
||||
}
|
||||
else std::cout << "Correctly detected no border" << std::endl;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -67,11 +68,12 @@ int TC_TOP_BORDER()
|
||||
{
|
||||
Image<ColorRgb> image = createImage(64, 64, 12, 0);
|
||||
BlackBorder border = detector.process(image);
|
||||
if (border.unknown != false && border.horizontalSize != 12 && border.verticalSize != 0)
|
||||
if (border.unknown != false && border.horizontalSize == 12 && border.verticalSize != 0)
|
||||
{
|
||||
std::cerr << "Failed to correctly detect horizontal border with correct size" << std::endl;
|
||||
result = -1;
|
||||
}
|
||||
else std::cout << "Correctly detected horizontal border with correct size" << std::endl;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -86,11 +88,12 @@ int TC_LEFT_BORDER()
|
||||
{
|
||||
Image<ColorRgb> image = createImage(64, 64, 0, 12);
|
||||
BlackBorder border = detector.process(image);
|
||||
if (border.unknown != false && border.horizontalSize != 0 && border.verticalSize != 12)
|
||||
if (border.unknown != false && border.horizontalSize != 0 && border.verticalSize == 12)
|
||||
{
|
||||
std::cerr << "Failed to detected vertical border with correct size" << std::endl;
|
||||
std::cerr << "Failed to correctly detect vertical border with correct size" << std::endl;
|
||||
result = -1;
|
||||
}
|
||||
else std::cout << "Correctly detected vertical border with correct size" << std::endl;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -105,11 +108,12 @@ int TC_DUAL_BORDER()
|
||||
{
|
||||
Image<ColorRgb> image = createImage(64, 64, 12, 12);
|
||||
BlackBorder border = detector.process(image);
|
||||
if (border.unknown != false && border.horizontalSize != 12 && border.verticalSize != 12)
|
||||
if (border.unknown != false && border.horizontalSize == 12 && border.verticalSize == 12)
|
||||
{
|
||||
std::cerr << "Failed to detected two-sided border" << std::endl;
|
||||
std::cerr << "Failed to correctly detect two-sided border" << std::endl;
|
||||
result = -1;
|
||||
}
|
||||
else std::cout << "Correctly detected two-sided border" << std::endl;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -125,9 +129,10 @@ int TC_UNKNOWN_BORDER()
|
||||
BlackBorder border = detector.process(image);
|
||||
if (border.unknown != true)
|
||||
{
|
||||
std::cerr << "Failed to detected unknown border" << std::endl;
|
||||
std::cerr << "Failed to correctly detect unknown border" << std::endl;
|
||||
result = -1;
|
||||
}
|
||||
else std::cout << "Correctly detected unknown border" << std::endl;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@@ -19,7 +19,7 @@ bool loadConfig(const QString & configFile, bool correct, bool ignore)
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
QJsonObject schemaJson;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
schemaJson = QJsonFactory::readSchema(":/hyperion-schema");
|
||||
@@ -28,14 +28,14 @@ bool loadConfig(const QString & configFile, bool correct, bool ignore)
|
||||
{
|
||||
throw std::runtime_error(error.what());
|
||||
}
|
||||
|
||||
|
||||
QJsonSchemaChecker schemaChecker;
|
||||
schemaChecker.setSchema(schemaJson);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
// read and validate the configuration file from the command line
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
QJsonObject jsonConfig = QJsonFactory::readConfig(configFile);
|
||||
|
||||
if (!correct)
|
||||
@@ -47,7 +47,7 @@ bool loadConfig(const QString & configFile, bool correct, bool ignore)
|
||||
{
|
||||
qDebug() << "config write validation: " << schemaError;
|
||||
}
|
||||
|
||||
|
||||
qDebug() << "FAILED";
|
||||
exit(1);
|
||||
return false;
|
||||
@@ -82,7 +82,8 @@ int main(int argc, char** argv)
|
||||
QString option = argv[1];
|
||||
QString configFile;
|
||||
|
||||
if (option == "--ac" || option == "--ac-ignore-required")
|
||||
if (option == "--ac" || option == "--ac-ignore-required")
|
||||
{
|
||||
if (argc > 2)
|
||||
configFile = argv[2];
|
||||
else
|
||||
@@ -90,8 +91,8 @@ int main(int argc, char** argv)
|
||||
usage();
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
configFile = argv[1];
|
||||
}
|
||||
else configFile = argv[1];
|
||||
|
||||
qDebug() << "Configuration file selected: " << configFile;
|
||||
qDebug() << "Attemp to load...";
|
||||
|
@@ -8,6 +8,7 @@
|
||||
#include <QPixmap>
|
||||
#include <QFile>
|
||||
#include <QRgb>
|
||||
#include <QScreen>
|
||||
|
||||
#include <QElapsedTimer>
|
||||
|
||||
@@ -21,7 +22,8 @@ void createScreenshot(const int cropHorizontal, const int cropVertical, const in
|
||||
const QRect screenSize = QApplication::desktop()->screenGeometry();
|
||||
const int croppedWidth = screenSize.width() - 2*cropVertical;
|
||||
const int croppedHeight = screenSize.height() - 2*cropHorizontal;
|
||||
const QPixmap fullSizeScreenshot = QPixmap::grabWindow(QApplication::desktop()->winId(), cropVertical, cropHorizontal, croppedWidth, croppedHeight);
|
||||
QScreen *screen = QApplication::primaryScreen();
|
||||
const QPixmap fullSizeScreenshot = screen->grabWindow(QApplication::desktop()->winId(), cropVertical, cropHorizontal, croppedWidth, croppedHeight);
|
||||
|
||||
// Scale the screenshot to the required size
|
||||
const int width = fullSizeScreenshot.width()/decimation;
|
||||
|
@@ -3,6 +3,9 @@ IF ( "${PLATFORM}" MATCHES rpi)
|
||||
# Find the BCM-package (VC control)
|
||||
find_package(Qt5Widgets REQUIRED)
|
||||
|
||||
find_package(BCM REQUIRED)
|
||||
include_directories(${BCM_INCLUDE_DIRS})
|
||||
|
||||
add_definitions(${QT_DEFINITIONS})
|
||||
link_directories(${CMAKE_FIND_ROOT_PATH}/lib/arm-linux-gnueabihf)
|
||||
|
||||
|
@@ -1,11 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
[ "${BUILD_TYPE}" == "Release" ] && exit 0
|
||||
|
||||
STATS_FAILED=0
|
||||
STATS_SUCCESS=0
|
||||
STATS_SKIPPED=0
|
||||
STATS_TOTAL=0
|
||||
|
||||
|
||||
# exec_test "test name" test_exec --with --args
|
||||
function exec_test()
|
||||
{
|
||||
@@ -33,7 +34,9 @@ function exec_test()
|
||||
}
|
||||
|
||||
######################################
|
||||
## EXEC TESTS
|
||||
############# EXEC TESTS #############
|
||||
######################################
|
||||
|
||||
cd build || exit 1
|
||||
|
||||
echo
|
||||
@@ -41,7 +44,7 @@ echo "Hyperion test execution"
|
||||
echo
|
||||
exec_test "hyperiond is executable and show version" bin/hyperiond --version
|
||||
|
||||
for cfg in ../config/*json*
|
||||
for cfg in ../config/*json.default
|
||||
do
|
||||
exec_test "test $(basename $cfg)" bin/test_configfile $cfg
|
||||
done
|
||||
@@ -50,10 +53,10 @@ echo
|
||||
echo
|
||||
echo "TEST SUMMARY"
|
||||
echo "============"
|
||||
echo " total: $STATS_TOTAL"
|
||||
echo " success: $STATS_SUCCESS"
|
||||
echo " skipped: $STATS_SKIPPED"
|
||||
echo " failed: $STATS_FAILED"
|
||||
echo " total: $STATS_TOTAL"
|
||||
echo "success: $STATS_SUCCESS"
|
||||
echo "skipped: $STATS_SKIPPED"
|
||||
echo " failed: $STATS_FAILED"
|
||||
|
||||
sleep 2
|
||||
|
||||
|
Reference in New Issue
Block a user