constant number of assertions in unittests
fsfw/fsfw/pipeline/head This commit looks good Details

This commit is contained in:
Ulrich Mohr 2023-01-26 13:26:11 +01:00
parent 70fd9ff3e5
commit 941bf61f28
1 changed files with 27 additions and 6 deletions

View File

@ -45,9 +45,16 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED) {
limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead);
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
// to have constant assertion count, we first check condition
// and then force a failed assertion
if (result == CommandExecutor::COMMAND_ERROR) {
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
}
usleep(500);
REQUIRE(limitIdx < 500);
// same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
}
limitIdx = 0;
@ -75,10 +82,17 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED) {
limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead);
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
// to have constant assertion count, we first check condition
// and then force a failed assertion
if (result == CommandExecutor::COMMAND_ERROR) {
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
}
// This ensures that the tests do not block indefinitely
usleep(500);
REQUIRE(limitIdx < 500);
// same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
}
limitIdx = 0;
CHECK(bytesHaveBeenRead == true);
@ -116,10 +130,17 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED and result != returnvalue::FAILED) {
limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead);
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
// to have constant assertion count, we first check condition
// and then force a failed assertion
if (result == CommandExecutor::COMMAND_ERROR) {
REQUIRE(result != CommandExecutor::COMMAND_ERROR);
}
// This ensures that the tests do not block indefinitely
usleep(500);
REQUIRE(limitIdx < 500);
// same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
}
REQUIRE(result == returnvalue::FAILED);
REQUIRE(cmdExecutor.getLastError() == 1);