From 19cd42124f84edef91e2c220ec8a82b926075652 Mon Sep 17 00:00:00 2001 From: David Given Date: Fri, 8 Jun 2018 15:59:04 +0900 Subject: [PATCH] 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). --- plat/linux68k/tests/build.lua | 1 + plat/pc86/tests/build.lua | 1 + tests/plat/build.lua | 25 ++++++++++++++---------- tests/plat/{ => core}/_dummy_e.c | 0 tests/plat/{ => core}/brk_c.c | 0 tests/plat/{ => core}/bss_e.c | 0 tests/plat/{ => core}/calloc_c.c | 0 tests/plat/{ => core}/csa_e.c | 0 tests/plat/{ => core}/csb_e.c | 0 tests/plat/{ => core}/dup_e.e | 0 tests/plat/{ => core}/exg_e.e | 0 tests/plat/{ => core}/inn_e.e | 0 tests/plat/{ => core}/intadd_e.c | 0 tests/plat/{ => core}/intcmp_e.c | 0 tests/plat/{ => core}/intdiv_e.c | 0 tests/plat/{ => core}/intrem_e.c | 0 tests/plat/{ => core}/intshift_e.c | 0 tests/plat/{ => core}/intsub_e.c | 0 tests/plat/{ => core}/newdispose_p.p | 0 tests/plat/{ => core}/pascalsets_p.p | 0 tests/plat/{ => core}/rck_e.e | 0 tests/plat/{ => core}/rotate_e.e | 0 tests/plat/{ => core}/setjmp_c.c | 0 tests/plat/{ => core}/structcopy_e.c | 0 tests/plat/{ => floats}/doublecmp_e.c | 0 tests/plat/{ => floats}/from_d_to_si_e.c | 0 tests/plat/{ => floats}/from_d_to_ui_e.c | 0 tests/plat/{ => floats}/from_si_to_d_e.c | 0 tests/plat/{ => floats}/from_ui_to_d_e.c | 0 29 files changed, 17 insertions(+), 10 deletions(-) rename tests/plat/{ => core}/_dummy_e.c (100%) rename tests/plat/{ => core}/brk_c.c (100%) rename tests/plat/{ => core}/bss_e.c (100%) rename tests/plat/{ => core}/calloc_c.c (100%) rename tests/plat/{ => core}/csa_e.c (100%) rename tests/plat/{ => core}/csb_e.c (100%) rename tests/plat/{ => core}/dup_e.e (100%) rename tests/plat/{ => core}/exg_e.e (100%) rename tests/plat/{ => core}/inn_e.e (100%) rename tests/plat/{ => core}/intadd_e.c (100%) rename tests/plat/{ => core}/intcmp_e.c (100%) rename tests/plat/{ => core}/intdiv_e.c (100%) rename tests/plat/{ => core}/intrem_e.c (100%) rename tests/plat/{ => core}/intshift_e.c (100%) rename tests/plat/{ => core}/intsub_e.c (100%) rename tests/plat/{ => core}/newdispose_p.p (100%) rename tests/plat/{ => core}/pascalsets_p.p (100%) rename tests/plat/{ => core}/rck_e.e (100%) rename tests/plat/{ => core}/rotate_e.e (100%) rename tests/plat/{ => core}/setjmp_c.c (100%) rename tests/plat/{ => core}/structcopy_e.c (100%) rename tests/plat/{ => floats}/doublecmp_e.c (100%) rename tests/plat/{ => floats}/from_d_to_si_e.c (100%) rename tests/plat/{ => floats}/from_d_to_ui_e.c (100%) rename tests/plat/{ => floats}/from_si_to_d_e.c (100%) rename tests/plat/{ => floats}/from_ui_to_d_e.c (100%) diff --git a/plat/linux68k/tests/build.lua b/plat/linux68k/tests/build.lua index dd6d0fc63..6a4b847c8 100644 --- a/plat/linux68k/tests/build.lua +++ b/plat/linux68k/tests/build.lua @@ -4,4 +4,5 @@ plat_testsuite { name = "tests", plat = "linux68k", method = "plat/linux68k/emu+emu68k", + skipsets = {"floats"}, -- FPU instructions not supported by emulator } diff --git a/plat/pc86/tests/build.lua b/plat/pc86/tests/build.lua index 4550c817c..84b70a171 100644 --- a/plat/pc86/tests/build.lua +++ b/plat/pc86/tests/build.lua @@ -4,4 +4,5 @@ plat_testsuite { name = "tests", plat = "pc86", method = "plat/pc86/emu+pc86emu", + skipsets = {"floats"}, -- FPU instructions not supported by emulator } diff --git a/tests/plat/build.lua b/tests/plat/build.lua index 813a298ba..c35bd2d96 100644 --- a/tests/plat/build.lua +++ b/tests/plat/build.lua @@ -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", diff --git a/tests/plat/_dummy_e.c b/tests/plat/core/_dummy_e.c similarity index 100% rename from tests/plat/_dummy_e.c rename to tests/plat/core/_dummy_e.c diff --git a/tests/plat/brk_c.c b/tests/plat/core/brk_c.c similarity index 100% rename from tests/plat/brk_c.c rename to tests/plat/core/brk_c.c diff --git a/tests/plat/bss_e.c b/tests/plat/core/bss_e.c similarity index 100% rename from tests/plat/bss_e.c rename to tests/plat/core/bss_e.c diff --git a/tests/plat/calloc_c.c b/tests/plat/core/calloc_c.c similarity index 100% rename from tests/plat/calloc_c.c rename to tests/plat/core/calloc_c.c diff --git a/tests/plat/csa_e.c b/tests/plat/core/csa_e.c similarity index 100% rename from tests/plat/csa_e.c rename to tests/plat/core/csa_e.c diff --git a/tests/plat/csb_e.c b/tests/plat/core/csb_e.c similarity index 100% rename from tests/plat/csb_e.c rename to tests/plat/core/csb_e.c diff --git a/tests/plat/dup_e.e b/tests/plat/core/dup_e.e similarity index 100% rename from tests/plat/dup_e.e rename to tests/plat/core/dup_e.e diff --git a/tests/plat/exg_e.e b/tests/plat/core/exg_e.e similarity index 100% rename from tests/plat/exg_e.e rename to tests/plat/core/exg_e.e diff --git a/tests/plat/inn_e.e b/tests/plat/core/inn_e.e similarity index 100% rename from tests/plat/inn_e.e rename to tests/plat/core/inn_e.e diff --git a/tests/plat/intadd_e.c b/tests/plat/core/intadd_e.c similarity index 100% rename from tests/plat/intadd_e.c rename to tests/plat/core/intadd_e.c diff --git a/tests/plat/intcmp_e.c b/tests/plat/core/intcmp_e.c similarity index 100% rename from tests/plat/intcmp_e.c rename to tests/plat/core/intcmp_e.c diff --git a/tests/plat/intdiv_e.c b/tests/plat/core/intdiv_e.c similarity index 100% rename from tests/plat/intdiv_e.c rename to tests/plat/core/intdiv_e.c diff --git a/tests/plat/intrem_e.c b/tests/plat/core/intrem_e.c similarity index 100% rename from tests/plat/intrem_e.c rename to tests/plat/core/intrem_e.c diff --git a/tests/plat/intshift_e.c b/tests/plat/core/intshift_e.c similarity index 100% rename from tests/plat/intshift_e.c rename to tests/plat/core/intshift_e.c diff --git a/tests/plat/intsub_e.c b/tests/plat/core/intsub_e.c similarity index 100% rename from tests/plat/intsub_e.c rename to tests/plat/core/intsub_e.c diff --git a/tests/plat/newdispose_p.p b/tests/plat/core/newdispose_p.p similarity index 100% rename from tests/plat/newdispose_p.p rename to tests/plat/core/newdispose_p.p diff --git a/tests/plat/pascalsets_p.p b/tests/plat/core/pascalsets_p.p similarity index 100% rename from tests/plat/pascalsets_p.p rename to tests/plat/core/pascalsets_p.p diff --git a/tests/plat/rck_e.e b/tests/plat/core/rck_e.e similarity index 100% rename from tests/plat/rck_e.e rename to tests/plat/core/rck_e.e diff --git a/tests/plat/rotate_e.e b/tests/plat/core/rotate_e.e similarity index 100% rename from tests/plat/rotate_e.e rename to tests/plat/core/rotate_e.e diff --git a/tests/plat/setjmp_c.c b/tests/plat/core/setjmp_c.c similarity index 100% rename from tests/plat/setjmp_c.c rename to tests/plat/core/setjmp_c.c diff --git a/tests/plat/structcopy_e.c b/tests/plat/core/structcopy_e.c similarity index 100% rename from tests/plat/structcopy_e.c rename to tests/plat/core/structcopy_e.c diff --git a/tests/plat/doublecmp_e.c b/tests/plat/floats/doublecmp_e.c similarity index 100% rename from tests/plat/doublecmp_e.c rename to tests/plat/floats/doublecmp_e.c diff --git a/tests/plat/from_d_to_si_e.c b/tests/plat/floats/from_d_to_si_e.c similarity index 100% rename from tests/plat/from_d_to_si_e.c rename to tests/plat/floats/from_d_to_si_e.c diff --git a/tests/plat/from_d_to_ui_e.c b/tests/plat/floats/from_d_to_ui_e.c similarity index 100% rename from tests/plat/from_d_to_ui_e.c rename to tests/plat/floats/from_d_to_ui_e.c diff --git a/tests/plat/from_si_to_d_e.c b/tests/plat/floats/from_si_to_d_e.c similarity index 100% rename from tests/plat/from_si_to_d_e.c rename to tests/plat/floats/from_si_to_d_e.c diff --git a/tests/plat/from_ui_to_d_e.c b/tests/plat/floats/from_ui_to_d_e.c similarity index 100% rename from tests/plat/from_ui_to_d_e.c rename to tests/plat/floats/from_ui_to_d_e.c -- 2.34.1