| auto end = std::chrono::high_resolution_clock::now(); | auto end = std::chrono::high_resolution_clock::now(); | ||||
| auto dur = std::chrono::duration_cast<std::chrono::microseconds>(end - start); | auto dur = std::chrono::duration_cast<std::chrono::microseconds>(end - start); | ||||
| if (res.okay()) { | if (res.okay()) { | ||||
| spdlog::info("{} - PASSED in {:>6n}μs", msg, dur.count()); | |||||
| spdlog::info("{} - PASSED - {:>9n}μs", msg, dur.count()); | |||||
| return std::nullopt; | return std::nullopt; | ||||
| } else { | } else { | ||||
| spdlog::error("{} - FAILED in {:>6n}μs [exitted {}]", msg, dur.count(), res.retc); | |||||
| spdlog::error("{} - FAILED - {:>9n}μs [exited {}]", msg, dur.count(), res.retc); | |||||
| test_failure f; | test_failure f; | ||||
| f.executable_path = exe_path; | f.executable_path = exe_path; | ||||
| f.output = res.output; | f.output = res.output; |