~ test reset
This commit is contained in:
parent
300cf1ac28
commit
5e97100181
@ -39,4 +39,13 @@ target_link_libraries(UnitTests Catch2::Catch2)
|
|||||||
|
|
||||||
include(CTest)
|
include(CTest)
|
||||||
include(Catch)
|
include(Catch)
|
||||||
catch_discover_tests(UnitTests)
|
catch_discover_tests(UnitTests)
|
||||||
|
|
||||||
|
if (ENABLE_COVERAGE)
|
||||||
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../external/codecov/cmake" ${CMAKE_MODULE_PATH})
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMake")
|
||||||
|
find_package(codecov)
|
||||||
|
add_coverage(UnitTests)
|
||||||
|
list(APPEND LCOV_REMOVE_PATTERNS "/usr/")
|
||||||
|
coverage_evaluate()
|
||||||
|
endif()
|
||||||
|
@ -8,6 +8,24 @@ namespace vkvm {
|
|||||||
|
|
||||||
Impl impl;
|
Impl impl;
|
||||||
|
|
||||||
|
auto setDefaultValues() -> void {
|
||||||
|
impl.localMemoryWarn = false;
|
||||||
|
if (getSharedMemory() != nullptr) {
|
||||||
|
setMode(GraphicMode::RGB);
|
||||||
|
setCharactersPerRow(60);
|
||||||
|
setCharactersPerColumn(20);
|
||||||
|
setHeight(600);
|
||||||
|
setWidth(800);
|
||||||
|
setMousePosition(42, 42);
|
||||||
|
setBackgroundColor(black);
|
||||||
|
setForegroundColor(white);
|
||||||
|
setRedrawInterval(20);
|
||||||
|
setTimerInterruptInterval(10);
|
||||||
|
setFont(FontType(3, "", 0, 0));
|
||||||
|
}
|
||||||
|
impl.localMemoryWarn = true;
|
||||||
|
}
|
||||||
|
|
||||||
auto sendSignal(pid_t pid, int signalNumber) -> void {
|
auto sendSignal(pid_t pid, int signalNumber) -> void {
|
||||||
kill(pid, signalNumber);
|
kill(pid, signalNumber);
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,9 @@ constexpr int keyboardBufferSize = 16;
|
|||||||
|
|
||||||
extern Impl impl;
|
extern Impl impl;
|
||||||
|
|
||||||
|
|
||||||
|
auto setDefaultValues() -> void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* send a signal to a process
|
* send a signal to a process
|
||||||
* @param pid of the process to which the signal is send
|
* @param pid of the process to which the signal is send
|
||||||
|
20
src/vkvm.cpp
20
src/vkvm.cpp
@ -15,24 +15,6 @@ namespace vkvm {
|
|||||||
setDefaultValues();
|
setDefaultValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto setDefaultValues() -> void {
|
|
||||||
impl.localMemoryWarn = false;
|
|
||||||
if (getSharedMemory() != nullptr) {
|
|
||||||
setMode(GraphicMode::RGB);
|
|
||||||
setCharactersPerRow(60);
|
|
||||||
setCharactersPerColumn(20);
|
|
||||||
setHeight(600);
|
|
||||||
setWidth(800);
|
|
||||||
setMousePosition(42, 42);
|
|
||||||
setBackgroundColor(black);
|
|
||||||
setForegroundColor(white);
|
|
||||||
setRedrawInterval(20);
|
|
||||||
setTimerInterruptInterval(10);
|
|
||||||
setFont(FontType(3, "", 0, 0));
|
|
||||||
}
|
|
||||||
impl.localMemoryWarn = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto registerEvent(EventType type, const std::function<void()> &handler) -> bool {
|
auto registerEvent(EventType type, const std::function<void()> &handler) -> bool {
|
||||||
int signum = SIGUSR1 + impl.eventTable.size();
|
int signum = SIGUSR1 + impl.eventTable.size();
|
||||||
auto ivt = getInterruptTable();
|
auto ivt = getInterruptTable();
|
||||||
@ -205,7 +187,7 @@ namespace vkvm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto reset() -> void {
|
auto reset() -> void {
|
||||||
//TODO(julian): reset
|
setDefaultValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto getWidth() -> int {
|
auto getWidth() -> int {
|
||||||
|
@ -28,7 +28,6 @@ namespace vkvm {
|
|||||||
*/
|
*/
|
||||||
auto initialize(int pid) -> void;
|
auto initialize(int pid) -> void;
|
||||||
|
|
||||||
auto setDefaultValues() -> void;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set pixel at a x,y position to a certain color.
|
* set pixel at a x,y position to a certain color.
|
||||||
|
70
test/default_test.cpp
Normal file
70
test/default_test.cpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#include "../src/internal.hpp"
|
||||||
|
#include "../src/vkvm.hpp"
|
||||||
|
#include <catch2/catch.hpp>
|
||||||
|
|
||||||
|
TEST_CASE("Default values") {
|
||||||
|
vkvm::initialize(0);
|
||||||
|
|
||||||
|
SECTION("before") {
|
||||||
|
REQUIRE(vkvm::getMode() == vkvm::RGB);
|
||||||
|
REQUIRE(vkvm::getCharactersPerRow() == 60);
|
||||||
|
REQUIRE(vkvm::getCharactersPerColumn() == 20);
|
||||||
|
REQUIRE(vkvm::getHeight() == 600);
|
||||||
|
REQUIRE(vkvm::getWidth() == 800);
|
||||||
|
REQUIRE(vkvm::getMousePosition().x == 42);
|
||||||
|
REQUIRE(vkvm::getMousePosition().y == 42);
|
||||||
|
REQUIRE(vkvm::getBackgroundColor() == vkvm::black);
|
||||||
|
REQUIRE(vkvm::getForegroundColor() == vkvm::white);
|
||||||
|
REQUIRE(vkvm::getRedrawInterval() == 20);
|
||||||
|
REQUIRE(vkvm::getTimerInterruptInterval() == 10);
|
||||||
|
REQUIRE(vkvm::getFont().getId() == 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("change") {
|
||||||
|
vkvm::setMode(vkvm::TwoColors);
|
||||||
|
vkvm::setCharactersPerRow(100);
|
||||||
|
vkvm::setCharactersPerColumn(100);
|
||||||
|
vkvm::setHeight(40);
|
||||||
|
vkvm::setWidth(40);
|
||||||
|
vkvm::setMousePosition(41, 43);
|
||||||
|
vkvm::setBackgroundColor(vkvm::red);
|
||||||
|
vkvm::setForegroundColor(vkvm::blue);
|
||||||
|
vkvm::setRedrawInterval(1);
|
||||||
|
vkvm::setTimerInterruptInterval(2);
|
||||||
|
vkvm::setFont(vkvm::FontType(5, "", 5, 5));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
REQUIRE(vkvm::getMode() == vkvm::TwoColors);
|
||||||
|
REQUIRE(vkvm::getCharactersPerRow() == 100);
|
||||||
|
REQUIRE(vkvm::getCharactersPerColumn() == 100);
|
||||||
|
REQUIRE(vkvm::getHeight() == 40);
|
||||||
|
REQUIRE(vkvm::getWidth() == 40);
|
||||||
|
REQUIRE(vkvm::getMousePosition().x == 41);
|
||||||
|
REQUIRE(vkvm::getMousePosition().y == 43);
|
||||||
|
REQUIRE(vkvm::getBackgroundColor() == vkvm::red);
|
||||||
|
REQUIRE(vkvm::getForegroundColor() == vkvm::blue);
|
||||||
|
REQUIRE(vkvm::getRedrawInterval() == 1);
|
||||||
|
REQUIRE(vkvm::getTimerInterruptInterval() == 2);
|
||||||
|
REQUIRE(vkvm::getFont().getId() == 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SECTION("after") {
|
||||||
|
vkvm::reset();
|
||||||
|
REQUIRE(vkvm::getMode() == vkvm::RGB);
|
||||||
|
REQUIRE(vkvm::getCharactersPerRow() == 60);
|
||||||
|
REQUIRE(vkvm::getCharactersPerColumn() == 20);
|
||||||
|
REQUIRE(vkvm::getHeight() == 600);
|
||||||
|
REQUIRE(vkvm::getWidth() == 800);
|
||||||
|
REQUIRE(vkvm::getMousePosition().x == 42);
|
||||||
|
REQUIRE(vkvm::getMousePosition().y == 42);
|
||||||
|
REQUIRE(vkvm::getBackgroundColor() == vkvm::black);
|
||||||
|
REQUIRE(vkvm::getForegroundColor() == vkvm::white);
|
||||||
|
REQUIRE(vkvm::getRedrawInterval() == 20);
|
||||||
|
REQUIRE(vkvm::getTimerInterruptInterval() == 10);
|
||||||
|
REQUIRE(vkvm::getFont().getId() == 3);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user