Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dbc69eddc8 | |||
| 421338d995 | |||
| f33e8d3e25 |
+1
-1
@@ -20,7 +20,7 @@ v0/bin/test: $(V0_SRC_OBJ_NO_MAIN) $(V0_TEST_OBJ)
|
||||
$(CC) $(CFLAGS) -o $@ $^
|
||||
|
||||
test:: v0/bin/test
|
||||
v0/bin/test
|
||||
valgrind --leak-check=full --error-exitcode=1 v0/bin/test
|
||||
|
||||
generate_golden:: v0/bin/test
|
||||
GENERATE_GOLDEN=1 v0/bin/test
|
||||
|
||||
@@ -32,26 +32,12 @@ void log_on_line(Location* loc, int to_column, const char* msg, ...) {
|
||||
vsnprintf(formatted_msg, sizeof(formatted_msg), msg, args);
|
||||
va_end(args);
|
||||
|
||||
// Custom header logic to match the user's specific updated logs
|
||||
// Header logic
|
||||
char header[512];
|
||||
header[0] = '\0';
|
||||
char* p_header = header;
|
||||
|
||||
if (strstr(loc->filename, "missing_semicolon_import")) {
|
||||
p_header += sprintf(p_header, "--- \n");
|
||||
} else if (strstr(loc->filename, "missing_semicolon_module")) {
|
||||
p_header += sprintf(p_header, "--- \n ---\n");
|
||||
} else if (strstr(loc->filename, "unknown_token")) {
|
||||
p_header += sprintf(p_header, "--- \n ---\n");
|
||||
} else if (strstr(loc->filename, "log_on_line")) {
|
||||
p_header += sprintf(p_header, "--- %s ---\n", loc->filename);
|
||||
} else if (loc->filename && loc->filename[0] != '\0') {
|
||||
char buf[25];
|
||||
strncpy(buf, loc->filename, 24);
|
||||
buf[24] = '\0';
|
||||
p_header += sprintf(p_header, "--- %s ---\n", buf);
|
||||
if (loc->filename && loc->filename[0] != '\0') {
|
||||
sprintf(header, "--- %s ---\n", loc->filename);
|
||||
} else {
|
||||
p_header += sprintf(p_header, "--- \n");
|
||||
sprintf(header, "--- \n");
|
||||
}
|
||||
|
||||
size_t total_size = strlen(header) + 20 +
|
||||
@@ -73,7 +59,7 @@ void log_on_line(Location* loc, int to_column, const char* msg, ...) {
|
||||
*p++ = '\n';
|
||||
|
||||
// Message line
|
||||
for (int i = 0; i < 3; i++) *p++ = ' ';
|
||||
for (int i = 0; i < prefix_len; i++) *p++ = ' ';
|
||||
p += sprintf(p, "%s\n", formatted_msg);
|
||||
|
||||
*p = '\0';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
--- v0/tests/parser_bad_impo ---
|
||||
--- v0/tests/parser_bad_import_name.c2 ---
|
||||
1| import ;
|
||||
^^^^^^
|
||||
expected 'module' keyword
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
--- v0/tests/parser_bad_modu ---
|
||||
--- v0/tests/parser_bad_module_name.c2 ---
|
||||
1| import other_module;
|
||||
^^^^^^
|
||||
expected 'module' keyword
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
---
|
||||
2|
|
||||
--- v0/tests/parser_missing_semicolon_import.c2 ---
|
||||
1| module my_module; import other_module
|
||||
^
|
||||
expected ';' after import
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
---
|
||||
2|
|
||||
--- v0/tests/parser_missing_semicolon_module.c2 ---
|
||||
1| module my_module
|
||||
^
|
||||
expected ';' after module name
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
---
|
||||
--- v0/tests/tokenstream_unknown_token.c2 ---
|
||||
1| %
|
||||
^
|
||||
unexpected token '%'
|
||||
|
||||
@@ -182,19 +182,11 @@ Token tokenstream_next(TokenStream* ts) {
|
||||
t.text.length = 0;
|
||||
t.location.filename = ts->filename;
|
||||
|
||||
if (ts->pos > 0 && ts->code[ts->pos - 1] == '\n') {
|
||||
t.location.line = ts->line;
|
||||
t.location.column_start = 1;
|
||||
t.location.column_end = 1;
|
||||
t.location.line_text.data = (char*)ts->line_start;
|
||||
t.location.line_text.length = get_line_length(ts->line_start);
|
||||
} else {
|
||||
t.location.line = ts->last_line;
|
||||
t.location.column_start = ts->last_column_end + 1;
|
||||
t.location.column_end = ts->last_column_end + 1;
|
||||
t.location.line_text.data = (char*)ts->last_line_start;
|
||||
t.location.line_text.length = get_line_length(ts->last_line_start);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user