54 lines
1.8 KiB
C
54 lines
1.8 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[35mLexing errored: %s\n\t%s\n\x1b[0m", lexer_reports.tests[i].name, lexer_reports.tests[i].error.message);
|
|
break;
|
|
case TEST_LOGIC_ERROR_FAIL:
|
|
// Red
|
|
printf("\x1b[31mTest failed with error: %s\n\t%s\n\x1b[0m", lexer_reports.tests[i].name, lexer_reports.tests[i].error.message);
|
|
free(lexer_reports.tests[i].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;
|
|
default:
|
|
// Bright Red
|
|
printf("\x1b[91mTest errored: %s\n\tUnknown test result status.\n\x1b[0m", lexer_reports.tests[i].name);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|