-- Kør: luajit tests/test_noStrayGlobals.lua (fra repo-roden) -- Fanger lokale navne der ved en fejl bruges som globale (fx 'implement' uden for sin closure — v1.49 gjorde -- egne tømmevogne ubrugelige under høst). Læser luajit-bytecode: GGET/GSET af typiske lokale navne. local SUSPECT = {implement = true, candidate = true, vehicle = true, rig = true, pair = true, assignment = true, tractor = true, loan = true, field = true, info = true, marker = true, job = true, owner = true, order = true} local failures = 0 local files = io.popen("ls FS25_ADSmartPickup/*.lua FS25_ADSmartPickup/gui/*.lua"):read("*a") for file in files:gmatch("[^\n]+") do local listing = io.popen("luajit -bl " .. file .. " 2>&1"):read("*a") for op, name in listing:gmatch("(G[GS]ET)%s+%d+%s+%d+%s+; \"([%w_]+)\"") do if SUSPECT[name] then failures = failures + 1 print(string.format("FAIL %s: %s af global '%s'", file, op, name)) end end end print(failures == 0 and "\nALLE TESTS OK" or ("\n" .. failures .. " FEJL")) os.exit(failures == 0 and 0 or 1)