对齐c层与cj层错误码,修改测试以配合c层更新

This commit is contained in:
2026-03-25 14:52:36 +08:00
parent c16de88385
commit c3109ddad4
2 changed files with 20 additions and 16 deletions

View File

@ -72,7 +72,7 @@ public class LuaError <: Exception {
match (code) { match (code) {
case 5001 => "JSON file load failed" case 5001 => "JSON file load failed"
case 5002 => "Memory allocation failed" case 5002 => "Memory allocation failed"
case 5003 => "File load error (permission or path issue)" case 5003 => "File load error (path, permission, or compile-time syntax issue)"
case 5004 => "Script runner initialization failed" case 5004 => "Script runner initialization failed"
case 5005 => "Lua state machine initialization failed or corrupted" case 5005 => "Lua state machine initialization failed or corrupted"
case 5006 => "JSON parse error (format issue)" case 5006 => "JSON parse error (format issue)"
@ -91,7 +91,7 @@ public class LuaError <: Exception {
case 5019 => "Reset input file failed, may cause input pollution" case 5019 => "Reset input file failed, may cause input pollution"
case 5020 => "Error in callback functions" case 5020 => "Error in callback functions"
case 5021 => "change workdir error" case 5021 => "change workdir error"
case 5022 => "Calling func no found" case 5022 => "No callable chunk found"
case _ => "Unknown error" case _ => "Unknown error"
} }
} }
@ -192,9 +192,9 @@ public class LuaRunner {
/// 运行Lua脚本 /// 运行Lua脚本
/// ///
/// @param path 脚本路径 /// @param path 脚本路径
/// @param arg 传递给脚本的参数 /// @param arg 传递给脚本的单参数;管道模式下由底层按栈布局自动计算调用参数数量
/// @return 脚本执行结果字符串 /// @return 脚本执行结果字符串
/// @throws LuaError 当脚本运行出错时抛出 /// @throws LuaError 当脚本编译或运行出错时抛出
public func runScript(path: String, arg: String): String { public func runScript(path: String, arg: String): String {
let pathPtr = toCStr(path) let pathPtr = toCStr(path)
let argPtr = toCStr(arg) let argPtr = toCStr(arg)

View File

@ -1,21 +1,23 @@
package luarunner package luarunner
import std.unittest.* import std.unittest.* // cjlint-ignore G.PKG.01
import std.fs.* import std.fs.* // cjlint-ignore G.PKG.01
let scriptsDir = "./test/scripts" // cjlint-ignore G.NAM.05
let generatedScriptsDir = "./test/generated_scripts" let SCRIPTS_DIR = "./test/scripts"
// cjlint-ignore G.NAM.05
let GENERATED_SCRIPTS_DIR = "./test/generated_scripts"
func scriptPath(name: String): String { func scriptPath(name: String): String {
scriptsDir + "/" + name SCRIPTS_DIR + "/" + name
} }
func generatedScriptPath(name: String): String { func generatedScriptPath(name: String): String {
generatedScriptsDir + "/" + name GENERATED_SCRIPTS_DIR + "/" + name
} }
func ensureGeneratedScriptsDir(): Unit { func ensureGeneratedScriptsDir(): Unit {
let dir = Path(generatedScriptsDir) let dir = Path(GENERATED_SCRIPTS_DIR)
if (!exists(dir)) { if (!exists(dir)) {
Directory.create(dir, recursive: true) Directory.create(dir, recursive: true)
} }
@ -53,7 +55,7 @@ func testRunScriptSyntaxError(): Unit {
runner.runScript(path, "") runner.runScript(path, "")
fail("Should throw syntax error") fail("Should throw syntax error")
} catch (e: LuaError) { } catch (e: LuaError) {
@Expect(e.code, 5010) @Expect(e.code, 5003)
} }
} }
@ -203,16 +205,16 @@ func testLoadLibOverflow(): Unit {
@Test @Test
func testPackagePathConfig(): Unit { func testPackagePathConfig(): Unit {
let runner = LuaRunner(pkgpath: scriptsDir + "/pkgmods/?.lua") let runner = LuaRunner(pkgpath: SCRIPTS_DIR + "/pkgmods/?.lua")
let res = runner.runScript(scriptPath("pkgpath_require_mylib.lua"), "") let res = runner.runScript(scriptPath("pkgpath_require_mylib.lua"), "")
@Expect(res, "LoadedViaPkgPath") @Expect(res, SCRIPTS_DIR + "/pkgmods/mylib.lua")
} }
@Test @Test
func testPackagePathInitLuaPattern(): Unit { func testPackagePathInitLuaPattern(): Unit {
let runner = LuaRunner(pkgpath: scriptsDir + "/pkgmods_init/?/init.lua") let runner = LuaRunner(pkgpath: SCRIPTS_DIR + "/pkgmods_init/?/init.lua")
let res = runner.runScript(scriptPath("pkgpath_require_nested.lua"), "") let res = runner.runScript(scriptPath("pkgpath_require_nested.lua"), "")
@Expect(res, "LoadedViaInit") @Expect(res, SCRIPTS_DIR + "/pkgmods_init/nestedpkg/init.lua")
} }
// ==================== // ====================
@ -259,7 +261,9 @@ func testRedirectIoRead(): Unit {
func testErrorCodesMapping(): Unit { func testErrorCodesMapping(): Unit {
@Expect(LuaError.getErrorMessage(5001), "JSON file load failed") @Expect(LuaError.getErrorMessage(5001), "JSON file load failed")
@Expect(LuaError.getErrorMessage(5002), "Memory allocation failed") @Expect(LuaError.getErrorMessage(5002), "Memory allocation failed")
@Expect(LuaError.getErrorMessage(5003), "File load error (path, permission, or compile-time syntax issue)")
@Expect(LuaError.getErrorMessage(5010), "Script internal error, check result for details") @Expect(LuaError.getErrorMessage(5010), "Script internal error, check result for details")
@Expect(LuaError.getErrorMessage(5022), "No callable chunk found")
@Expect(LuaError.getErrorMessage(9999), "Unknown error") @Expect(LuaError.getErrorMessage(9999), "Unknown error")
} }