constant number of assertions in unittests
All checks were successful
fsfw/fsfw/pipeline/head This commit looks good

This commit is contained in:
Ulrich Mohr 2023-01-26 13:26:11 +01:00
parent 70fd9ff3e5
commit 941bf61f28

View File

@ -45,9 +45,16 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED) { while (result != CommandExecutor::EXECUTION_FINISHED) {
limitIdx++; limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead); 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); usleep(500);
REQUIRE(limitIdx < 500); // same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
} }
limitIdx = 0; limitIdx = 0;
@ -75,10 +82,17 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED) { while (result != CommandExecutor::EXECUTION_FINISHED) {
limitIdx++; limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead); 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 // This ensures that the tests do not block indefinitely
usleep(500); usleep(500);
REQUIRE(limitIdx < 500); // same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
} }
limitIdx = 0; limitIdx = 0;
CHECK(bytesHaveBeenRead == true); CHECK(bytesHaveBeenRead == true);
@ -116,10 +130,17 @@ TEST_CASE("Command Executor", "[hal][linux]") {
while (result != CommandExecutor::EXECUTION_FINISHED and result != returnvalue::FAILED) { while (result != CommandExecutor::EXECUTION_FINISHED and result != returnvalue::FAILED) {
limitIdx++; limitIdx++;
result = cmdExecutor.check(bytesHaveBeenRead); 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 // This ensures that the tests do not block indefinitely
usleep(500); usleep(500);
REQUIRE(limitIdx < 500); // same as above
if (limitIdx >= 500) {
REQUIRE(limitIdx < 500);
}
} }
REQUIRE(result == returnvalue::FAILED); REQUIRE(result == returnvalue::FAILED);
REQUIRE(cmdExecutor.getLastError() == 1); REQUIRE(cmdExecutor.getLastError() == 1);