From 6f832cd67be361d01224b99f1705a62d7c1f7769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Sun, 17 May 2026 18:13:03 +0200 Subject: [PATCH] validation: cover nil/None return from lua_func/py_func MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two new steps per language: function returning nothing and function returning explicit nil/None. Both tagged $(test)_PASS — they would have failed before the lua nil fix (Lua side reported nil result as error). Python side already worked but is covered for parity. --- test/validation/items/lua_func/lua_func.lua | 8 ++++++++ test/validation/items/lua_func/test.tum | 12 ++++++++++++ test/validation/items/py_func/py_func.py | 7 +++++++ test/validation/items/py_func/test.tum | 12 ++++++++++++ 4 files changed, 39 insertions(+) diff --git a/test/validation/items/lua_func/lua_func.lua b/test/validation/items/lua_func/lua_func.lua index 29a8f94..a408bc8 100644 --- a/test/validation/items/lua_func/lua_func.lua +++ b/test/validation/items/lua_func/lua_func.lua @@ -49,4 +49,12 @@ function module.test_delgd() return 0 end +function module.return_nothing() + -- Returns no value: ret is nil but no error. +end + +function module.return_explicit_nil() + return nil +end + return module \ No newline at end of file diff --git a/test/validation/items/lua_func/test.tum b/test/validation/items/lua_func/test.tum index 6177dd4..e87128d 100644 --- a/test/validation/items/lua_func/test.tum +++ b/test/validation/items/lua_func/test.tum @@ -186,6 +186,18 @@ file: $(test_path)$(psep)lua_func.lua func_name: test_delgd +- lua_func: + name: function returning nothing should succeed + key: $(test)_PASS + file: $(test_path)$(psep)lua_func.lua + func_name: return_nothing + +- lua_func: + name: function returning explicit nil should succeed + key: $(test)_PASS + file: $(test_path)$(psep)lua_func.lua + func_name: return_explicit_nil + - group: name: context_id tests steps: diff --git a/test/validation/items/py_func/py_func.py b/test/validation/items/py_func/py_func.py index 9f0ab66..6b5ec50 100644 --- a/test/validation/items/py_func/py_func.py +++ b/test/validation/items/py_func/py_func.py @@ -54,3 +54,10 @@ def test_delgd(): tm.delgd("_py_delgd_test") assert tm.gd("_py_delgd_test", None) is None return 0 + +def return_nothing(): + # Falls off the end: implicit None return, no error. + pass + +def return_explicit_none(): + return None diff --git a/test/validation/items/py_func/test.tum b/test/validation/items/py_func/test.tum index ae77546..e67b564 100644 --- a/test/validation/items/py_func/test.tum +++ b/test/validation/items/py_func/test.tum @@ -196,6 +196,18 @@ file: $(test_path)$(psep)py_func.py func_name: test_delgd +- py_func: + name: function returning nothing should succeed + key: $(test)_PASS + file: $(test_path)$(psep)py_func.py + func_name: return_nothing + +- py_func: + name: function returning explicit None should succeed + key: $(test)_PASS + file: $(test_path)$(psep)py_func.py + func_name: return_explicit_none + - group: name: context_id tests steps: