Browse Source

Merge pull request #78223 from akien-mga/gdscript-test-no-function

GDScript: Further restrict test error output for C++ errors
Rémi Verschelde 2 years ago
parent
commit
01453ab7f3

+ 9 - 9
modules/gdscript/tests/gdscript_test_runner.cpp

@@ -392,9 +392,9 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
 
 
 	StringBuilder builder;
 	StringBuilder builder;
 	builder.append(">> ");
 	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) {
 	switch (p_type) {
 		case ERR_HANDLER_ERROR:
 		case ERR_HANDLER_ERROR:
 			builder.append("ERROR");
 			builder.append("ERROR");
@@ -404,7 +404,7 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
 			break;
 			break;
 		case ERR_HANDLER_SCRIPT:
 		case ERR_HANDLER_SCRIPT:
 			builder.append("SCRIPT ERROR");
 			builder.append("SCRIPT ERROR");
-			include_path = true;
+			include_source_info = true;
 			break;
 			break;
 		case ERR_HANDLER_SHADER:
 		case ERR_HANDLER_SHADER:
 			builder.append("SHADER ERROR");
 			builder.append("SHADER ERROR");
@@ -414,15 +414,15 @@ void GDScriptTest::error_handler(void *p_this, const char *p_function, const cha
 			break;
 			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(String::utf8(p_file).trim_prefix(self->base_dir).replace("\\", "/"));
 		builder.append("\n>> ");
 		builder.append("\n>> ");
 		builder.append(itos(p_line));
 		builder.append(itos(p_line));
-		builder.append("\n>> ");
 	}
 	}
+	builder.append("\n>> ");
 	builder.append(String::utf8(p_error));
 	builder.append(String::utf8(p_error));
 	if (strlen(p_explanation) > 0) {
 	if (strlen(p_explanation) > 0) {
 		builder.append("\n>> ");
 		builder.append("\n>> ");

+ 0 - 1
modules/gdscript/tests/scripts/runtime/errors/typed_array_assign_wrong_to_typed.out

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