[ox] Make tests more consistent

This commit is contained in:
2023-12-04 00:22:00 -06:00
parent 775efbddc8
commit b61f81abf0
7 changed files with 157 additions and 151 deletions

View File

@ -8,11 +8,7 @@
#undef NDEBUG
#include <cassert>
#include <iostream>
#include <map>
#include <memory>
#include <string>
#include <ox/claw/format.hpp>
#include <ox/claw/read.hpp>
#include <ox/claw/write.hpp>
@ -107,7 +103,7 @@ constexpr ox::Error model(T *io, ox::CommonPtrWith<TestStruct> auto *obj) {
return OxError(0);
}
static std::map<std::string_view, ox::Error(*)()> tests = {
static std::map<ox::StringView, ox::Error(*)()> tests = {
{
{
"ClawHeaderReader",
@ -192,14 +188,14 @@ static std::map<std::string_view, ox::Error(*)()> tests = {
};
int main(int argc, const char **args) {
int retval = -1;
if (argc > 0) {
auto testName = args[1];
if (tests.find(testName) != tests.end()) {
retval = static_cast<int>(tests[testName]());
} else {
retval = 1;
}
if (argc < 2) {
oxError("Must specify test to run");
}
return retval;
auto const testName = args[1];
auto const func = tests.find(testName);
if (func != tests.end()) {
oxAssert(func->second(), "Test returned Error");
return 0;
}
return -1;
}