YREA-SLS/SLS_C/tests/tests.c

45 lines
1.3 KiB
C

// Kyler Olsen
// YREA SLS
// SLS Tests
// November 2025
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "tests/tests.h"
const char *TEST_FILE_NAME = "TEST_FILE.SLS";
int main(void) {
TestsReport lexer_reports = run_lexer_tests();
for (size_t i = 0; i < lexer_reports.count; i++) {
switch (lexer_reports.tests[i].status) {
case TEST_ERROR:
// Bright Red
printf("\x1b[91mTest errored: %s\n\t%s\n\x1b[0m", lexer_reports.tests[i].name, lexer_reports.tests[i].error.message);
break;
case TEST_ERROR_FAIL:
// Magenta
printf("\x1b[35mTest failed (errored): %s\n\t%s\n\x1b[0m", lexer_reports.tests[i].name, lexer_reports.tests[i].error.message);
break;
case TEST_LOGIC_FAIL:
// Red
printf("\x1b[31mTest failed: %s\n\t%s\n\x1b[0m", lexer_reports.tests[i].name, lexer_reports.tests[i].message);
free(lexer_reports.tests[i].message);
break;
case TEST_PASS:
// Green
printf("\x1b[32mTest passed: %s\n\x1b[0m", lexer_reports.tests[i].name);
break;
case TEST_NOT_IMPLEMENTED:
// Blue
printf("\x1b[34mTest not implemented: %s\n\x1b[0m", lexer_reports.tests[i].name);
break;
}
}
return 0;
}