44 lines
921 B
C++
44 lines
921 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include <filesystem>
|
|
|
|
#define BOOST_PROCESS_USE_STD_FS
|
|
|
|
namespace elna
|
|
{
|
|
enum class test_status
|
|
{
|
|
successful,
|
|
compile_failed,
|
|
build_failed,
|
|
expectation_failed,
|
|
};
|
|
|
|
struct test_result final
|
|
{
|
|
test_status status{ test_status::successful };
|
|
int code{ 0 };
|
|
std::string output;
|
|
};
|
|
|
|
class test_results final
|
|
{
|
|
std::uint32_t m_total{ 0 };
|
|
std::uint32_t m_passed{ 0 };
|
|
|
|
public:
|
|
test_results() = default;
|
|
|
|
std::uint32_t total() const noexcept;
|
|
std::uint32_t passed() const noexcept;
|
|
std::uint32_t failed() const noexcept;
|
|
|
|
int exit_code() const noexcept;
|
|
void add_exit_code(const test_status result) noexcept;
|
|
};
|
|
|
|
void print_result(const std::filesystem::directory_entry& test_entry, const test_result& result);
|
|
}
|