From e99730340baed0208e513a8584637de4776d2ec0 Mon Sep 17 00:00:00 2001 From: ThreeRhinosInAnElephantCostume Date: Sat, 11 Sep 2021 20:38:15 +0200 Subject: Fix error on parsing statement-less GDScript files, add an empty file warning, add relevant tests. --- modules/gdscript/tests/gdscript_test_runner.cpp | 5 ++++- modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.gd | 1 + modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.out | 4 ++++ .../tests/scripts/parser/warnings/empty_file_comment.notest.gd | 1 + .../tests/scripts/parser/warnings/empty_file_comment.notest.out | 4 ++++ .../tests/scripts/parser/warnings/empty_file_newline.notest.gd | 3 +++ .../tests/scripts/parser/warnings/empty_file_newline.notest.out | 4 ++++ .../scripts/parser/warnings/empty_file_newline_comment.notest.gd | 4 ++++ .../scripts/parser/warnings/empty_file_newline_comment.notest.out | 4 ++++ 9 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.gd create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.out create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.gd create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.out create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.gd create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.out create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.gd create mode 100644 modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.out (limited to 'modules/gdscript/tests') diff --git a/modules/gdscript/tests/gdscript_test_runner.cpp b/modules/gdscript/tests/gdscript_test_runner.cpp index 03a48bf071..2664ee0d09 100644 --- a/modules/gdscript/tests/gdscript_test_runner.cpp +++ b/modules/gdscript/tests/gdscript_test_runner.cpp @@ -496,7 +496,10 @@ GDScriptTest::TestResult GDScriptTest::execute_test_code(bool p_is_generating) { } return result; } - + // Script files matching this pattern are allowed to not contain a test() function. + if (source_file.match("*.notest.gd")) { + return result; + } // Test running. const Map::Element *test_function_element = script->get_member_functions().find(GDScriptTestRunner::test_function_name); if (test_function_element == nullptr) { diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.gd b/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.gd new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.gd @@ -0,0 +1 @@ + diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.out b/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.out new file mode 100644 index 0000000000..20eec212ba --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file.notest.out @@ -0,0 +1,4 @@ +>> WARNING +>> Line: 1 +>> EMPTY_FILE +>> Empty script file. diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.gd b/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.gd new file mode 100644 index 0000000000..15cd95ff2b --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.gd @@ -0,0 +1 @@ +#a comment diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.out b/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.out new file mode 100644 index 0000000000..20eec212ba --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_comment.notest.out @@ -0,0 +1,4 @@ +>> WARNING +>> Line: 1 +>> EMPTY_FILE +>> Empty script file. diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.gd b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.gd new file mode 100644 index 0000000000..b28b04f643 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.gd @@ -0,0 +1,3 @@ + + + diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.out b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.out new file mode 100644 index 0000000000..20eec212ba --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline.notest.out @@ -0,0 +1,4 @@ +>> WARNING +>> Line: 1 +>> EMPTY_FILE +>> Empty script file. diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.gd b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.gd new file mode 100644 index 0000000000..ecdba44d21 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.gd @@ -0,0 +1,4 @@ +#a comment, followed by a bunch of newlines + + + diff --git a/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.out b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.out new file mode 100644 index 0000000000..20eec212ba --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment.notest.out @@ -0,0 +1,4 @@ +>> WARNING +>> Line: 1 +>> EMPTY_FILE +>> Empty script file. -- cgit v1.2.3