Mercurial > molko
changeset 408:0ea90751a62d
tests: disable entirely automatic registration
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 08 Apr 2022 15:59:08 +0200 |
parents | e6f972e04519 |
children | 6011ad866e99 |
files | extern/librexo/CMakeLists.txt extern/librexo/rexo.h tests/test-action-script.c tests/test-action.c tests/test-alloc.c tests/test-character.c tests/test-color.c tests/test-drawable.c tests/test-error.c tests/test-map.c tests/test-save-quest.c tests/test-save.c tests/test-state.c tests/test-tileset.c tests/test-util.c tests/test-vfs-directory.c tests/test-vfs-zip.c tests/test.h |
diffstat | 18 files changed, 218 insertions(+), 175 deletions(-) [+] |
line wrap: on
line diff
--- a/extern/librexo/CMakeLists.txt Wed Apr 06 12:09:25 2022 +0200 +++ b/extern/librexo/CMakeLists.txt Fri Apr 08 15:59:08 2022 +0200 @@ -26,4 +26,8 @@ ) set_target_properties(libmlk-rexo PROPERTIES FOLDER extern) +if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(libmlk-rexo INTERFACE -Wno-format) +endif () + source_group("" FILES ${libmlk-rexo_SOURCE_DIR}/rexo.h)
--- a/extern/librexo/rexo.h Wed Apr 06 12:09:25 2022 +0200 +++ b/extern/librexo/rexo.h Fri Apr 08 15:59:08 2022 +0200 @@ -258,7 +258,7 @@ rx_main(rx_size test_case_count, const struct rx_test_case *test_cases, int argc, - const char **argv); + const char * const *argv); #if defined(__cplusplus) } @@ -4698,7 +4698,16 @@ anything registered in these sections. */ -#if defined(_MSC_VER) +#if !defined(RX_DISABLE_TEST_DISCOVERY) \ + && (defined(_MSC_VER) || defined(__GNUC__)) + #define RX__TEST_DISCOVERY 1 +#else + #define RX__TEST_DISCOVERY 0 +#endif + +#if !RX__TEST_DISCOVERY + #define RX__TEST_SUITE_REGISTER(name) RX__REQUIRE_SEMICOLON +#elif defined(_MSC_VER) __pragma(section("rxsuite$a", read)) __pragma(section("rxsuite$b", read)) __pragma(section("rxsuite$c", read)) @@ -4719,7 +4728,7 @@ #define RX__TEST_SUITE_SECTION_BEGIN (&rx__test_suite_section_begin + 1) #define RX__TEST_SUITE_SECTION_END (&rx__test_suite_section_end) -#else +#elif defined(__GNUC__) #if defined(RX__PLATFORM_DARWIN) extern const struct rx__test_suite_desc * const __start_rxsuite \ __asm("section$start$__DATA$rxsuite"); @@ -4749,7 +4758,9 @@ #define RX__TEST_SUITE_SECTION_END (&__stop_rxsuite) #endif -#if defined(_MSC_VER) +#if !RX__TEST_DISCOVERY + #define RX__TEST_CASE_REGISTER(suite_name, name) RX__REQUIRE_SEMICOLON +#elif defined(_MSC_VER) __pragma(section("rxcase$a", read)) __pragma(section("rxcase$b", read)) __pragma(section("rxcase$c", read)) @@ -4770,7 +4781,7 @@ #define RX__TEST_CASE_SECTION_BEGIN (&rx__test_case_section_begin + 1) #define RX__TEST_CASE_SECTION_END (&rx__test_case_section_end) -#else +#elif defined(__GNUC__) #if defined(RX__PLATFORM_DARWIN) extern const struct rx__test_case_desc * const __start_rxcase \ __asm("section$start$__DATA$rxcase"); @@ -4866,7 +4877,7 @@ }; #define RX__TEST_SUITE_(id, config_desc) \ - static const struct rx__test_suite_desc \ + RX__MAYBE_UNUSED static const struct rx__test_suite_desc \ RX__TEST_SUITE_DESC_GET_ID(id) \ = {#id, config_desc}; \ \ @@ -4893,7 +4904,7 @@ static void \ suite_id##_##id(RX__DEFINE_PARAMS(void)); \ \ - static const struct rx__test_case_desc \ + RX__MAYBE_UNUSED static const struct rx__test_case_desc \ RX__TEST_CASE_DESC_GET_ID(suite_id, id) \ = {#suite_id, \ #id, \ @@ -5172,7 +5183,7 @@ /* Implementation: Helpers O-(''Q) -------------------------------------------------------------------------- */ -static int +RX__MAYBE_UNUSED static int rx__compare_test_cases(const void *a, const void *b) { int out; @@ -6052,8 +6063,8 @@ RX__PRINTF_CHECK(10, 0) RX__MAYBE_UNUSED static void rx__ptr_assess_comparison(struct rx_context *context, - void *x1, - void *x2, + const void *x1, + const void *x2, enum rx__op op, const char *expr1, const char *expr2, @@ -6152,7 +6163,7 @@ RX__PRINTF_CHECK(8, 0) RX__MAYBE_UNUSED static void rx__ptr_assess_alignment(struct rx_context *context, - void *x, + const void *x, size_t alignment, const char *expr, const char *file, @@ -6588,6 +6599,14 @@ RX_ASSERT(test_case_count != NULL); +#if !RX__TEST_DISCOVERY + RX__UNUSED(test_cases); + RX__UNUSED(i); + RX__UNUSED(c_it); + + *test_case_count = 0; + return; +#else if (test_cases == NULL) { *test_case_count = 0; for (c_it = RX__TEST_CASE_SECTION_BEGIN; @@ -6668,6 +6687,7 @@ *test_case_count, sizeof *test_cases, rx__compare_test_cases); +#endif } RX__MAYBE_UNUSED RX__STORAGE enum rx_status @@ -6686,7 +6706,7 @@ rx_main(rx_size test_case_count, const struct rx_test_case *test_cases, int argc, - const char **argv) + const char * const *argv) { RX__UNUSED(argc); RX__UNUSED(argv);
--- a/tests/test-action-script.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-action-script.c Fri Apr 08 15:59:08 2022 +0200 @@ -85,7 +85,7 @@ ((struct invokes *)act->data)->finish++; } -TEST_DECL(basics_init) +RX_TEST_CASE(basics, init) { struct script sc; @@ -95,7 +95,7 @@ RX_UINT_REQUIRE_EQUAL(sc.cur, 0U); } -TEST_DECL(basics_append) +RX_TEST_CASE(basics, append) { struct action act[3] = {0}; struct script sc = {0}; @@ -121,7 +121,7 @@ script_finish(&sc); } -TEST_DECL(basics_handle) +RX_TEST_CASE(basics, handle) { struct { struct invokes inv; @@ -197,7 +197,7 @@ RX_INT_REQUIRE_EQUAL(table[2].inv.finish, 0); } -TEST_DECL(basics_update) +RX_TEST_CASE(basics, update) { struct { struct invokes inv; @@ -290,7 +290,7 @@ RX_INT_REQUIRE_EQUAL(table[2].inv.finish, 0); } -TEST_DECL(basics_draw) +RX_TEST_CASE(basics, draw) { struct { struct invokes inv; @@ -366,7 +366,7 @@ RX_INT_REQUIRE_EQUAL(table[2].inv.finish, 0); } -TEST_DECL(basics_finish) +RX_TEST_CASE(basics, finish) { struct { struct invokes inv; @@ -405,7 +405,7 @@ RX_INT_REQUIRE_EQUAL(table[2].inv.finish, 1); } -TEST_DECL(action_simple) +RX_TEST_CASE(action, simple) { struct { struct invokes inv; @@ -530,17 +530,17 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "init", basics_init), - TEST_DEF("basics", "append", basics_append), - TEST_DEF("basics", "handle", basics_handle), - TEST_DEF("basics", "update", basics_update), - TEST_DEF("basics", "draw", basics_draw), - TEST_DEF("basics", "finish", basics_finish), - TEST_DEF("action", "simple", action_simple) + TEST(basics, init), + TEST(basics, append), + TEST(basics, handle), + TEST(basics, update), + TEST(basics, draw), + TEST(basics, finish), + TEST(action, simple) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-action.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-action.c Fri Apr 08 15:59:08 2022 +0200 @@ -87,7 +87,7 @@ ((struct invokes *)act->data)->finish = 1; } -TEST_DECL(basics_handle) +RX_TEST_CASE(basics, handle) { struct invokes inv = {0}; struct action act = INIT(&inv, my_update_true); @@ -101,7 +101,7 @@ RX_REQUIRE(!inv.finish); } -TEST_DECL(basics_update) +RX_TEST_CASE(basics, update) { struct { struct invokes inv; @@ -128,7 +128,7 @@ RX_REQUIRE(!table[1].inv.finish); } -TEST_DECL(basics_draw) +RX_TEST_CASE(basics, draw) { struct invokes inv = {0}; struct action act = INIT(&inv, my_update_true); @@ -142,7 +142,7 @@ RX_REQUIRE(!inv.finish); } -TEST_DECL(basics_end) +RX_TEST_CASE(basics, end) { struct invokes inv = {0}; struct action act = INIT(&inv, my_update_true); @@ -156,7 +156,7 @@ RX_REQUIRE(!inv.finish); } -TEST_DECL(basics_finish) +RX_TEST_CASE(basics, finish) { struct invokes inv = {0}; struct action act = INIT(&inv, my_update_true); @@ -170,7 +170,7 @@ RX_REQUIRE(inv.finish); } -TEST_DECL(stack_add) +RX_TEST_CASE(stack, add) { struct action *actions[10]; struct action_stack st = {0}; @@ -188,7 +188,7 @@ RX_INT_REQUIRE_EQUAL(action_stack_add(&st, &act), -1); } -TEST_DECL(stack_handle) +RX_TEST_CASE(stack, handle) { struct { int called; @@ -213,7 +213,7 @@ RX_REQUIRE(table[2].called); } -TEST_DECL(stack_update) +RX_TEST_CASE(stack, update) { struct { struct invokes inv; @@ -311,7 +311,7 @@ RX_PTR_REQUIRE_EQUAL(st.actions[6], NULL); } -TEST_DECL(stack_draw) +RX_TEST_CASE(stack, draw) { struct { struct invokes inv; @@ -380,7 +380,7 @@ RX_REQUIRE(!table[6].inv.finish); } -TEST_DECL(stack_finish) +RX_TEST_CASE(stack, finish) { struct { struct invokes inv; @@ -412,20 +412,20 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "handle", basics_handle), - TEST_DEF("basics", "update", basics_update), - TEST_DEF("basics", "draw", basics_draw), - TEST_DEF("basics", "end", basics_end), - TEST_DEF("basics", "finish", basics_finish), - TEST_DEF("stack", "add", stack_add), - TEST_DEF("stack", "handle", stack_handle), - TEST_DEF("stack", "update", stack_update), - TEST_DEF("stack", "draw", stack_draw), - TEST_DEF("stack", "finish", stack_finish) + TEST(basics, handle), + TEST(basics, update), + TEST(basics, draw), + TEST(basics, end), + TEST(basics, finish), + TEST(stack, add), + TEST(stack, handle), + TEST(stack, update), + TEST(stack, draw), + TEST(stack, finish) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-alloc.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-alloc.c Fri Apr 08 15:59:08 2022 +0200 @@ -16,9 +16,9 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <rexo.h> +#include <core/alloc.h> -#include <core/alloc.h> +#include "test.h" struct point { int x; @@ -68,23 +68,29 @@ .free = my_free }; -RX_SET_UP(standard_setup) +RX_SET_UP(basics_set_up) { alloc_set(&standard_funcs); return RX_SUCCESS; } -RX_SET_UP(my_setup) +RX_TEAR_DOWN(basics_tear_down) +{ +} + +RX_SET_UP(custom_set_up) { alloc_set(&my_funcs); return RX_SUCCESS; } -RX_FIXTURE(standard_fixture, void *, .set_up = standard_setup); +RX_TEAR_DOWN(custom_tear_down) +{ +} -RX_TEST_CASE(test, array_simple, .fixture = standard_fixture) +RX_TEST_CASE(basics, array_simple) { struct point *points; @@ -110,7 +116,7 @@ RX_INT_REQUIRE_EQUAL(points[3].y, 0); } -RX_TEST_CASE(test, pool_simple, .fixture = standard_fixture) +RX_TEST_CASE(basics, pool_simple) { struct alloc_pool pool; struct point *p, *data; @@ -162,7 +168,7 @@ RX_UINT_REQUIRE_EQUAL(pool.elemsize, 0); } -RX_TEST_CASE(test, sdupf, .fixture = standard_fixture) +RX_TEST_CASE(basics, sdupf) { char *str = alloc_sdupf("Hello %s", "David"); @@ -170,9 +176,7 @@ free(str); } -RX_FIXTURE(my_fixture, void *, .set_up = my_setup); - -RX_TEST_CASE(test, custom, .fixture = my_fixture) +RX_TEST_CASE(custom, count) { alloc_free(alloc_new(10)); alloc_free(alloc_new0(20)); @@ -183,8 +187,15 @@ RX_INT_REQUIRE_EQUAL(my_stats.free_count, 3U); } +static const struct rx_test_case tests[] = { + TEST_FIXTURE(basics, array_simple, void *), + TEST_FIXTURE(basics, pool_simple, void *), + TEST_FIXTURE(basics, sdupf, void *), + TEST_FIXTURE(custom, count, void *) +}; + int main(int argc, char **argv) { - return rx_main(0, NULL, argc, (const char **)argv) == RX_SUCCESS ? 0 : 1; + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-character.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-character.c Fri Apr 08 15:59:08 2022 +0200 @@ -24,19 +24,19 @@ #include "test.h" -RX_SET_UP(basics_setup) +RX_SET_UP(basics_set_up) { remove("test.db"); return RX_SUCCESS; } -RX_TEAR_DOWN(basics_teardown) +RX_TEAR_DOWN(basics_tear_down) { remove("test.db"); } -TEST_DECL(basics_load) +RX_TEST_CASE(basics, load) { struct save db; struct character ch = { @@ -74,11 +74,11 @@ } static const struct rx_test_case tests[] = { - TEST_DEF_FIX("basics", "load", basics_load, void *, basics_setup, basics_teardown) + TEST_FIXTURE(basics, load, void *) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-color.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-color.c Fri Apr 08 15:59:08 2022 +0200 @@ -20,41 +20,41 @@ #include "test.h" -TEST_DECL(basics_red) +RX_TEST_CASE(basics, red) { RX_INT_REQUIRE_EQUAL(COLOR_R(0xa3000000), 163); } -TEST_DECL(basics_green) +RX_TEST_CASE(basics, green) { RX_INT_REQUIRE_EQUAL(COLOR_G(0x00130000), 19); } -TEST_DECL(basics_blue) +RX_TEST_CASE(basics, blue) { RX_INT_REQUIRE_EQUAL(COLOR_B(0x0000ee00), 238); } -TEST_DECL(basics_alpha) +RX_TEST_CASE(basics, alpha) { RX_INT_REQUIRE_EQUAL(COLOR_A(0x000000ff), 255); } -TEST_DECL(basics_simple) +RX_TEST_CASE(basics, simple) { RX_UINT_REQUIRE_EQUAL(COLOR_HEX(170, 187, 204, 238), 0xaabbccee); } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "red", basics_red), - TEST_DEF("basics", "green", basics_green), - TEST_DEF("basics", "blue", basics_blue), - TEST_DEF("basics", "alpha", basics_alpha), - TEST_DEF("basics", "simple", basics_simple) + TEST(basics, red), + TEST(basics, green), + TEST(basics, blue), + TEST(basics, alpha), + TEST(basics, simple), }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-drawable.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-drawable.c Fri Apr 08 15:59:08 2022 +0200 @@ -75,7 +75,7 @@ ((struct invokes *)dw->data)->finish = 1; } -TEST_DECL(basics_update) +RX_TEST_CASE(basics, update) { struct { struct invokes inv; @@ -100,7 +100,7 @@ RX_REQUIRE(!table[1].inv.finish); } -TEST_DECL(basics_draw) +RX_TEST_CASE(basics, draw) { struct invokes inv = {0}; struct drawable dw = INIT(&inv, my_update_true); @@ -113,7 +113,7 @@ RX_REQUIRE(!inv.finish); } -TEST_DECL(basics_end) +RX_TEST_CASE(basics, end) { struct invokes inv = {0}; struct drawable dw = INIT(&inv, my_update_true); @@ -126,7 +126,7 @@ RX_REQUIRE(!inv.finish); } -TEST_DECL(basics_finish) +RX_TEST_CASE(basics, finish) { struct invokes inv = {0}; struct drawable dw = INIT(&inv, my_update_true); @@ -139,7 +139,7 @@ RX_REQUIRE(inv.finish); } -TEST_DECL(stack_add) +RX_TEST_CASE(stack, add) { struct drawable *drawables[10]; struct drawable_stack st = {0}; @@ -157,7 +157,7 @@ RX_INT_REQUIRE_EQUAL(drawable_stack_add(&st, &dw), -1); } -TEST_DECL(stack_update) +RX_TEST_CASE(stack, update) { struct { struct invokes inv; @@ -247,7 +247,7 @@ RX_PTR_REQUIRE_EQUAL(st.objects[6], NULL); } -TEST_DECL(stack_draw) +RX_TEST_CASE(stack, draw) { struct { struct invokes inv; @@ -308,7 +308,7 @@ RX_REQUIRE(!table[6].inv.finish); } -TEST_DECL(stack_finish) +RX_TEST_CASE(stack, finish) { struct { struct invokes inv; @@ -338,18 +338,18 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "update", basics_update), - TEST_DEF("basics", "draw", basics_draw), - TEST_DEF("basics", "end", basics_end), - TEST_DEF("basics", "finish", basics_finish), - TEST_DEF("stack", "add", stack_add), - TEST_DEF("stack", "update", stack_update), - TEST_DEF("stack", "draw", stack_draw), - TEST_DEF("stack", "finish", stack_finish) + TEST(basics, update), + TEST(basics, draw), + TEST(basics, end), + TEST(basics, finish), + TEST(stack, add), + TEST(stack, update), + TEST(stack, draw), + TEST(stack, finish), }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-error.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-error.c Fri Apr 08 15:59:08 2022 +0200 @@ -20,18 +20,18 @@ #include "test.h" -TEST_DECL(basics_simple) +RX_TEST_CASE(basics, simple) { errorf("Failed: %d", 123); RX_STR_REQUIRE_EQUAL("Failed: 123", error()); } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "simple", basics_simple) + TEST(basics, simple) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-map.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-map.c Fri Apr 08 15:59:08 2022 +0200 @@ -27,7 +27,7 @@ #include "test.h" -TEST_DECL(basics_sample) +RX_TEST_CASE(basics, sample) { struct map_file loader = {0}; struct map map = {0}; @@ -88,7 +88,7 @@ map_file_finish(&loader); } -TEST_DECL(error_title) +RX_TEST_CASE(error, title) { struct map_file loader = {0}; struct map map = {0}; @@ -99,7 +99,7 @@ map_file_finish(&loader); } -TEST_DECL(error_columns) +RX_TEST_CASE(error, columns) { struct map_file loader = {0}; struct map map = {0}; @@ -110,7 +110,7 @@ map_file_finish(&loader); } -TEST_DECL(error_rows) +RX_TEST_CASE(error, rows) { struct map_file loader = {0}; struct map map = {0}; @@ -122,10 +122,10 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "sample", basics_sample), - TEST_DEF("error", "title", error_title), - TEST_DEF("error", "columns", error_columns), - TEST_DEF("error", "rows", error_rows) + TEST(basics, sample), + TEST(error, title), + TEST(error, columns), + TEST(error, rows) }; int @@ -140,5 +140,5 @@ if (core_init("fr.malikania", "test") < 0 || window_open("test-map", 100, 100) < 0) return 1; - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-save-quest.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-save-quest.c Fri Apr 08 15:59:08 2022 +0200 @@ -23,7 +23,7 @@ #include "test.h" -RX_SET_UP(basics_setup) +RX_SET_UP(basics_set_up) { if (save_open_path(RX_DATA, "quest.db", SAVE_MODE_WRITE) < 0) return RX_ERROR; @@ -31,13 +31,13 @@ return RX_SUCCESS; } -RX_TEAR_DOWN(basics_teardown) +RX_TEAR_DOWN(basics_tear_down) { save_finish(RX_DATA); remove("quest.db"); } -TEST_DECL(basics_load) +RX_TEST_CASE(basics, load) { struct quest_step steps[] = { { @@ -69,11 +69,11 @@ } static const struct rx_test_case tests[] = { - TEST_DEF_FIX("basics", "load", basics_load, struct save, basics_setup, basics_teardown) + TEST_FIXTURE(basics, load, struct save) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-save.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-save.c Fri Apr 08 15:59:08 2022 +0200 @@ -23,13 +23,18 @@ #include "test.h" -RX_TEAR_DOWN(basics_teardown) +RX_SET_UP(basics_set_up) +{ + return RX_SUCCESS; +} + +RX_TEAR_DOWN(basics_tear_down) { remove("1.db"); remove("2.db"); } -TEST_DECL(basics_read) +RX_TEST_CASE(basics, read) { struct save db; @@ -38,7 +43,7 @@ save_finish(&db); } -TEST_DECL(basics_write) +RX_TEST_CASE(basics, write) { struct save db[2] = {0}; @@ -131,12 +136,12 @@ #endif static const struct rx_test_case tests[] = { - TEST_DEF_FIX("basics", "read", basics_read, void *, NULL, basics_teardown), - TEST_DEF_FIX("basics", "write", basics_write, void *, NULL, basics_teardown) + TEST_FIXTURE(basics, read, void *), + TEST_FIXTURE(basics, write, void *) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv) + return TEST_RUN_ALL(tests, argc, argv) }
--- a/tests/test-state.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-state.c Fri Apr 08 15:59:08 2022 +0200 @@ -38,14 +38,14 @@ static struct state *states[16]; -RX_SET_UP(basics_setup) +RX_SET_UP(basics_set_up) { game_init(states, UTIL_SIZE(states)); return RX_SUCCESS; } -RX_TEAR_DOWN(basics_teardown) +RX_TEAR_DOWN(basics_tear_down) { game_quit(); } @@ -114,7 +114,7 @@ .finish = my_finish \ } -TEST_DECL(basics_start) +RX_TEST_CASE(basics, start) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -128,7 +128,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 0U); } -TEST_DECL(basics_handle) +RX_TEST_CASE(basics, handle) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -142,7 +142,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 0U); } -TEST_DECL(basics_update) +RX_TEST_CASE(basics, update) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -156,7 +156,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 0U); } -TEST_DECL(basics_draw) +RX_TEST_CASE(basics, draw) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -170,7 +170,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 0U); } -TEST_DECL(basics_end) +RX_TEST_CASE(basics, end) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -184,7 +184,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 0U); } -TEST_DECL(basics_finish) +RX_TEST_CASE(basics, finish) { struct invokes inv = {0}; struct state state = INIT(&inv); @@ -198,7 +198,7 @@ RX_UINT_REQUIRE_EQUAL(inv.finish, 1U); } -TEST_DECL(basics_game) +RX_TEST_CASE(basics, game) { static struct { struct invokes inv; @@ -322,17 +322,17 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "start", basics_start), - TEST_DEF("basics", "handle", basics_handle), - TEST_DEF("basics", "update", basics_update), - TEST_DEF("basics", "draw", basics_draw), - TEST_DEF("basics", "end", basics_end), - TEST_DEF("basics", "finish", basics_finish), - TEST_DEF_FIX("basics", "game", basics_game, void *, basics_setup, basics_teardown) + TEST(basics, start), + TEST(basics, handle), + TEST(basics, update), + TEST(basics, draw), + TEST(basics, end), + TEST(basics, finish), + TEST_FIXTURE(basics, game, void *) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-tileset.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-tileset.c Fri Apr 08 15:59:08 2022 +0200 @@ -24,7 +24,7 @@ #include "test.h" -TEST_DECL(basics_sample) +RX_TEST_CASE(basics, sample) { struct tileset_file loader = {0}; struct tileset tileset; @@ -62,7 +62,7 @@ tileset_file_finish(&loader); } -TEST_DECL(error_tilewidth) +RX_TEST_CASE(error, tilewidth) { struct tileset_file loader = {0}; struct tileset tileset = {0}; @@ -70,7 +70,7 @@ RX_INT_REQUIRE_EQUAL(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/error-tilewidth.tileset"), -1); } -TEST_DECL(error_tileheight) +RX_TEST_CASE(error, tileheight) { struct tileset_file loader = {0}; struct tileset tileset = {0}; @@ -78,7 +78,7 @@ RX_INT_REQUIRE_EQUAL(tileset_file_open(&loader, &tileset, DIRECTORY "/maps/error-tileheight.tileset"), -1); } -TEST_DECL(error_image) +RX_TEST_CASE(error, image) { struct tileset_file loader = {0}; struct tileset tileset = {0}; @@ -87,10 +87,10 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "sample", basics_sample), - TEST_DEF("error", "tilewidth", error_tilewidth), - TEST_DEF("error", "tileheight", error_tileheight), - TEST_DEF("error", "image", error_image), + TEST(basics, sample), + TEST(error, tilewidth), + TEST(error, tileheight), + TEST(error, image) }; int @@ -99,5 +99,5 @@ if (core_init("fr.malikania", "test") < 0 || window_open("test-tileset", 100, 100) < 0) return 1; - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-util.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-util.c Fri Apr 08 15:59:08 2022 +0200 @@ -20,7 +20,7 @@ #include "test.h" -TEST_DECL(test_nrand) +RX_TEST_CASE(basics, nrand) { int found[10] = {0}; @@ -40,11 +40,11 @@ } static const struct rx_test_case tests[] = { - TEST_DEF("basics", "nrand", test_nrand) + TEST(basics, nrand) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-vfs-directory.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-vfs-directory.c Fri Apr 08 15:59:08 2022 +0200 @@ -21,19 +21,22 @@ #include "test.h" -RX_SET_UP(setup) +RX_SET_UP(basics_set_up) { vfs_directory(RX_DATA, DIRECTORY "/vfs/directory"); return RX_SUCCESS; } -RX_TEAR_DOWN(teardown) +RX_TEAR_DOWN(basics_tear_down) { vfs_finish(RX_DATA); } -TEST_DECL(basics_read) +#define error_set_up basics_set_up +#define error_tear_down basics_tear_down + +RX_TEST_CASE(basics, read) { struct vfs_file file; char data[256] = {0}; @@ -43,7 +46,7 @@ RX_STR_REQUIRE_EQUAL(data, "Hello World!\n"); } -TEST_DECL(error_notfound) +RX_TEST_CASE(error, notfound) { struct vfs_file file; @@ -51,12 +54,12 @@ } static const struct rx_test_case tests[] = { - TEST_DEF_FIX("basics", "read", basics_read, struct vfs, setup, teardown), - TEST_DEF_FIX("error", "notfound", error_notfound, struct vfs, setup, teardown) + TEST_FIXTURE(basics, read, struct vfs), + TEST_FIXTURE(error, notfound, struct vfs) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test-vfs-zip.c Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test-vfs-zip.c Fri Apr 08 15:59:08 2022 +0200 @@ -21,7 +21,7 @@ #include "test.h" -RX_SET_UP(setup) +RX_SET_UP(basics_set_up) { if (vfs_zip(RX_DATA, DIRECTORY "/vfs/data.zip", "r") < 0) return RX_ERROR; @@ -29,12 +29,15 @@ return RX_SUCCESS; } -RX_TEAR_DOWN(teardown) +RX_TEAR_DOWN(basics_tear_down) { vfs_finish(RX_DATA); } -TEST_DECL(basics_read) +#define error_set_up basics_set_up +#define error_tear_down basics_tear_down + +RX_TEST_CASE(basics, read) { struct vfs_file file; char data[256] = {0}; @@ -44,7 +47,7 @@ RX_STR_REQUIRE_EQUAL(data, "Hello from zip file!\n"); } -TEST_DECL(error_notfound) +RX_TEST_CASE(error, notfound) { struct vfs_file file; @@ -52,12 +55,12 @@ } static const struct rx_test_case tests[] = { - TEST_DEF_FIX("basics", "read", basics_read, struct vfs, setup, teardown), - TEST_DEF_FIX("error", "notfound", error_notfound, struct vfs, setup, teardown), + TEST_FIXTURE(basics, read, struct vfs), + TEST_FIXTURE(error, notfound, struct vfs) }; int main(int argc, char **argv) { - return TEST_RUN(tests, argc, argv); + return TEST_RUN_ALL(tests, argc, argv); }
--- a/tests/test.h Wed Apr 06 12:09:25 2022 +0200 +++ b/tests/test.h Fri Apr 08 15:59:08 2022 +0200 @@ -16,34 +16,31 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#define RX_DISABLE_TEST_DISCOVERY #include <rexo.h> #include <core/util.h> -#define TEST_DECL(name) \ -static void \ -name(struct rx_context *RX_PARAM_CONTEXT, void *RX_PARAM_DATA) - -#define TEST_DEF(s, n, f) \ +#define TEST(s, n) \ { \ - .suite_name = s, \ - .name = n, \ - .run = f \ + .suite_name = #s, \ + .name = #n, \ + .run = s##_##n \ } -#define TEST_DEF_FIX(s, n, f, type, up, down) \ +#define TEST_FIXTURE(s, n, t) \ { \ - .suite_name = s, \ - .name = n, \ - .run = f, \ + .suite_name = #s, \ + .name = #n, \ + .run = s##_##n, \ .config.fixture = { \ - .size = sizeof (type), \ + .size = sizeof (t), \ .config = { \ - .set_up = up, \ - .tear_down = down \ + .set_up = s##_set_up, \ + .tear_down = s##_tear_down \ } \ } \ } -#define TEST_RUN(tests, argc, argv) \ +#define TEST_RUN_ALL(tests, argc, argv) \ rx_main(UTIL_SIZE(tests), tests, argc, (const char **)argv) == RX_SUCCESS ? 0 : 1;