Code for logging and replay (doesn't work because of nondet in lua)

This commit is contained in:
2022-03-11 18:35:51 -05:00
parent cfeeb2eaf3
commit 377f913aa7
12 changed files with 698 additions and 79 deletions

View File

@@ -16,17 +16,18 @@ DrivenEngineReg::DrivenEngineReg(const char *n, DrivenEngineMaker fn) {
All = this;
}
void DrivenEngine::print_usage(std::ostream &strm, const char *progname) {
void DrivenEngine::print_usage(std::ostream &strm, std::string_view progname) {
strm << "Usage: " << progname << " <mode>" << std::endl;
for (auto reg = DrivenEngineReg::All; reg != nullptr; reg=reg->next) {
strm << " Mode can be: " << reg->name << std::endl;
}
}
UniqueDrivenEngine DrivenEngine::make(const char *kind) {
UniqueDrivenEngine DrivenEngine::make(std::string_view kind) {
for (auto reg = DrivenEngineReg::All; reg != nullptr; reg=reg->next) {
if (strcmp(reg->name, kind) == 0) {
return reg->maker();
if (kind == std::string_view(reg->name)) {
UniqueDrivenEngine result = reg->maker();
return result;
}
}
return nullptr;