Rearrange the tests into sets; allow plats to skip sets; pc86 and linux68k now

skip the tests which use floating point instructions (as their emulators don't
support them).
This commit is contained in:
David Given 2018-06-08 15:59:04 +09:00
parent 1d4ddb939d
commit 19cd42124f
29 changed files with 17 additions and 10 deletions

View file

@ -4,4 +4,5 @@ plat_testsuite {
name = "tests",
plat = "linux68k",
method = "plat/linux68k/emu+emu68k",
skipsets = {"floats"}, -- FPU instructions not supported by emulator
}

View file

@ -4,4 +4,5 @@ plat_testsuite {
name = "tests",
plat = "pc86",
method = "plat/pc86/emu+pc86emu",
skipsets = {"floats"}, -- FPU instructions not supported by emulator
}

View file

@ -4,20 +4,25 @@ definerule("plat_testsuite",
{
plat = { type="string" },
method = { type="string" },
sets = { type="table", default={"core", "b", "bugs", "m2", "floats"}},
skipsets = { type="table", default={}},
},
function(e)
-- Remember this is executed from the caller's directory; local
-- target names will resolve there.
local testfiles = filenamesof(
-- added structcopy_e.c
"tests/plat/*.c",
"tests/plat/*.e",
"tests/plat/*.p",
"tests/plat/b/*.b",
"tests/plat/bugs/*.c",
"tests/plat/bugs/*.mod",
"tests/plat/m2/*.mod"
)
local testfiles = {}
local skipsets = {}
for _, set in ipairs(e.skipsets) do
skipsets[set] = true
end
for _, set in ipairs(e.sets) do
if not skipsets[set] then
local fs = filenamesof("tests/plat/"..set.."/*")
for _, f in ipairs(fs) do
testfiles[#testfiles+1] = f
end
end
end
acklibrary {
name = "lib",