mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-26 15:31:15 +02:00
28 lines
1.0 KiB
Lua
28 lines
1.0 KiB
Lua
-- A generated chunk that would loop if executed must be rejected as syntax.
|
|
package.path = "./?.lua;./?/init.lua;" .. package.path
|
|
local T = require("tests.modkit")
|
|
local Fixture = require("tests.modkit.dataset_view_fixture")
|
|
|
|
local files = {}
|
|
Fixture.cache(files, "red", {
|
|
pokemon = "while true do end; return {}",
|
|
})
|
|
local modPath = Fixture.addMod(files, "nontermination_probe", [[
|
|
local mod = ...
|
|
local view, reason = mod.datasets:open("red")
|
|
local value = view and view.content.pokemon:get("FIXMON")
|
|
local reopened, reopenedReason = mod.datasets:open("red")
|
|
mod.exports.result = {
|
|
first = view ~= nil, firstReason = reason, value = value,
|
|
reopened = reopened ~= nil, reason = reopenedReason,
|
|
}
|
|
]])
|
|
local run = T.sdk.loadMods({ modPath }, {
|
|
fs = T.sdk.memfs(files), data = { pokemon = {} }, generation = 1,
|
|
})
|
|
T.same(run.loader.exports.nontermination_probe.result,
|
|
{ first = true, reopened = false, reason = "invalid_cache" },
|
|
"generated code is never executed and invalidates on first root access")
|
|
run.release()
|
|
T.finish("dataset_views_nontermination")
|