summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2023-03-30 21:36:24 +0200
committerGitHub <noreply@github.com>2023-03-30 21:36:24 +0200
commitb8b29c856605c8d1f41df5b71279955dd764bb3f (patch)
tree1b8f65ae0f2cd380641097ffbb82333bb8638da9 /modules/gdscript/tests/scripts
parent19501f8eb19481b029f67ecf78e711d42f2fc431 (diff)
parent4323c8b78ba03c8fef6dfc580c1aa1010ed3096d (diff)
Merge pull request #75500 from YuriSizov/4.0-cherrypicks
Cherry-picks for the 4.0 branch (future 4.0.2) - 2nd batch
Diffstat (limited to 'modules/gdscript/tests/scripts')
-rw-r--r--modules/gdscript/tests/scripts/analyzer/features/warning_ignore_annotation.gd2
-rw-r--r--modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.gd53
-rw-r--r--modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.out37
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/await_without_coroutine.gd2
4 files changed, 92 insertions, 2 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/features/warning_ignore_annotation.gd b/modules/gdscript/tests/scripts/analyzer/features/warning_ignore_annotation.gd
index 4c02fd4b0d..292db30bcd 100644
--- a/modules/gdscript/tests/scripts/analyzer/features/warning_ignore_annotation.gd
+++ b/modules/gdscript/tests/scripts/analyzer/features/warning_ignore_annotation.gd
@@ -11,5 +11,5 @@ func test():
print("done")
-func regular_func():
+func regular_func() -> int:
return 0
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.gd b/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.gd
new file mode 100644
index 0000000000..f8844d66a7
--- /dev/null
+++ b/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.gd
@@ -0,0 +1,53 @@
+signal my_signal()
+
+# CI cannot test async things.
+func test_signals():
+ await my_signal
+ var t: Signal = my_signal
+ await t
+
+func coroutine() -> void:
+ @warning_ignore("redundant_await")
+ await 0
+
+func not_coroutine_variant():
+ pass
+
+func not_coroutine_void() -> void:
+ pass
+
+func test():
+ const CONST_NULL = null
+ var var_null = null
+ var var_int: int = 1
+ var var_variant: Variant = 1
+ var var_array: Array = [1]
+
+ await CONST_NULL
+ await var_null
+ await var_int
+ await var_variant
+ await var_array[0]
+
+ await coroutine
+ await coroutine()
+ await coroutine.call()
+ await self.coroutine()
+ await call(&"coroutine")
+
+ await not_coroutine_variant
+ await not_coroutine_variant()
+ await self.not_coroutine_variant()
+ await not_coroutine_variant.call()
+ await call(&"not_coroutine_variant")
+
+ await not_coroutine_void
+ await not_coroutine_void()
+ await self.not_coroutine_void()
+ await not_coroutine_void.call()
+ await call(&"not_coroutine_void")
+
+ var callable: Callable = coroutine
+ await callable
+ await callable.call()
+ await callable.get_method()
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.out b/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.out
new file mode 100644
index 0000000000..3d251c2906
--- /dev/null
+++ b/modules/gdscript/tests/scripts/analyzer/warnings/redundant_await.out
@@ -0,0 +1,37 @@
+GDTEST_OK
+>> WARNING
+>> Line: 26
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 28
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 32
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 38
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 44
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 45
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 46
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 51
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
+>> WARNING
+>> Line: 53
+>> REDUNDANT_AWAIT
+>> "await" keyword not needed in this case, because the expression isn't a coroutine nor a signal.
diff --git a/modules/gdscript/tests/scripts/runtime/features/await_without_coroutine.gd b/modules/gdscript/tests/scripts/runtime/features/await_without_coroutine.gd
index 9da61ab184..1c39073be9 100644
--- a/modules/gdscript/tests/scripts/runtime/features/await_without_coroutine.gd
+++ b/modules/gdscript/tests/scripts/runtime/features/await_without_coroutine.gd
@@ -4,5 +4,5 @@ func test():
print(await not_coroutine())
-func not_coroutine():
+func not_coroutine() -> String:
return "awaited"