GDScript: Further restrict test error output for C++ errors

MSVC and GCC/Clang also have different function names...
This commit is contained in:
Rémi Verschelde 2023-06-14 13:28:04 +02:00
parent 824c139f6b
commit 72b8d397d0
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 9 additions and 10 deletions

View file

@ -392,9 +392,9 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
StringBuilder builder;
builder.append(">> ");
// Only include the file path and line for script errors, otherwise the test
// outputs include arbitrary data which can change when we edit engine code.
bool include_path = false;
// Only include the function, file and line for script errors, otherwise the
// test outputs changes based on the platform/compiler.
bool include_source_info = false;
switch (p_type) {
case ERR_HANDLER_ERROR:
builder.append("ERROR");
@ -404,7 +404,7 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
break;
case ERR_HANDLER_SCRIPT:
builder.append("SCRIPT ERROR");
include_path = true;
include_source_info = true;
break;
case ERR_HANDLER_SHADER:
builder.append("SHADER ERROR");
@ -414,15 +414,15 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
break;
}
builder.append("\n>> on function: ");
builder.append(String::utf8(p_function));
builder.append("()\n>> ");
if (include_path) {
if (include_source_info) {
builder.append("\n>> on function: ");
builder.append(String::utf8(p_function));
builder.append("()\n>> ");
builder.append(String::utf8(p_file).trim_prefix(self->base_dir).replace("\\", "/"));
builder.append("\n>> ");
builder.append(itos(p_line));
builder.append("\n>> ");
}
builder.append("\n>> ");
builder.append(String::utf8(p_error));
if (strlen(p_explanation) > 0) {
builder.append("\n>> ");

View file

@ -1,5 +1,4 @@
GDTEST_RUNTIME_ERROR
>> ERROR
>> on function: assign()
>> Method/function failed.
not ok