From e986713657bc5f9880e91ed49dd9b0d0227f048d Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 17 Jun 2024 17:39:06 +0200 Subject: Use callback function to log to stderr --- test/000_basic/basic_tests.c | 4 +-- test/001_pieces/pieces_tests.c | 4 +-- test/010_math_permsign/permsgn_tests.c | 4 +-- test/020_io_H48_read_write/io_H48_tests.c | 4 +-- test/021_io_B32_write/io_B32_read_tests.c | 4 +-- test/022_io_B32_read/io_B32_read_tests.c | 4 +-- test/023_io_LST_write/io_LST_write_tests.c | 4 +-- test/024_io_LST_read/io_LST_read_tests.c | 4 +-- test/030_move/move_tests.c | 4 +-- test/040_inverse_cube/inverse_tests.c | 4 +-- test/050_compose/compose_tests.c | 4 +-- test/060_transform/transform_tests.c | 4 +-- test/061_inverse_trans/inverse_trans_tests.c | 4 +-- test/071_coord_eo/coord_eo_tests.c | 4 +-- test/072_coord_co/coord_co_tests.c | 4 +-- test/073_coord_csep/coord_csep_tests.c | 4 +-- test/074_coord_esep/coord_esep_tests.c | 4 +-- test/075_set_eo/set_eo_tests.c | 4 +-- test/076_copy_corners/copy_corners_tests.c | 4 +-- test/077_copy_edges/copy_edges_tests.c | 4 +-- test/078_invcoord_esep/invcoord_esep_tests.c | 4 +-- test/080_allowednext/allowednext_tests.c | 4 +-- test/090_solve_simple/solve_simple_tests.c | 4 +-- test/100_gendata_cocsep/gendata_cocsep_tests.c | 4 +-- test/101_cocsep_selfsim/cocsep_selfsim_tests.c | 4 +-- .../coord_invcoord_h48_tests.c | 4 +-- test/103_gendata_h48/gendata_h48_tests.c | 3 +- test/test | 41 ---------------------- test/test.h | 13 +++++++ 29 files changed, 40 insertions(+), 121 deletions(-) delete mode 100755 test/test (limited to 'test') diff --git a/test/000_basic/basic_tests.c b/test/000_basic/basic_tests.c index c4434c5..accde66 100644 --- a/test/000_basic/basic_tests.c +++ b/test/000_basic/basic_tests.c @@ -17,7 +17,7 @@ check2(cube_t cube1, char *name1, cube_t cube2, char *name2) equal(cube1, cube2) ? "" : " NOT"); } -int main(void) { +void run(void) { cube_t zero, solved; memset(&zero, 0, sizeof(cube_t)); @@ -28,6 +28,4 @@ int main(void) { check2(solved, "Solved", solved, "Solved"); check2(solved, "Solved", zero, "Zero"); check2(zero, "Zero", solved, "Solved"); - - return 0; } diff --git a/test/001_pieces/pieces_tests.c b/test/001_pieces/pieces_tests.c index 1ef2fd0..2e6460b 100644 --- a/test/001_pieces/pieces_tests.c +++ b/test/001_pieces/pieces_tests.c @@ -2,7 +2,7 @@ void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); -int main(void) { +void run(void) { int i; uint8_t corner[8], edge[12]; char str[STRLENMAX], *aux; @@ -22,6 +22,4 @@ int main(void) { for (i = 0; i < 12; i++) printf("%" PRIu8 " ", edge[i]); printf("\n"); - - return 0; } diff --git a/test/010_math_permsign/permsgn_tests.c b/test/010_math_permsign/permsgn_tests.c index 46c7377..04975db 100644 --- a/test/010_math_permsign/permsgn_tests.c +++ b/test/010_math_permsign/permsgn_tests.c @@ -2,7 +2,7 @@ int permsign(uint8_t *, int); -int main(void) { +void run(void) { char str[STRLENMAX]; uint8_t a[100]; int n, i, p; @@ -17,6 +17,4 @@ int main(void) { p = permsign(a, n); printf("%d\n", p); - - return 0; } diff --git a/test/020_io_H48_read_write/io_H48_tests.c b/test/020_io_H48_read_write/io_H48_tests.c index 705356c..3d4b7e3 100644 --- a/test/020_io_H48_read_write/io_H48_tests.c +++ b/test/020_io_H48_read_write/io_H48_tests.c @@ -1,6 +1,6 @@ #include "../test.h" -int main(void) { +void run(void) { char str[STRLENMAX], *aux; cube_t cube; @@ -19,6 +19,4 @@ int main(void) { writecube("H48", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/021_io_B32_write/io_B32_read_tests.c b/test/021_io_B32_write/io_B32_read_tests.c index 3ff81b1..1d2d334 100644 --- a/test/021_io_B32_write/io_B32_read_tests.c +++ b/test/021_io_B32_write/io_B32_read_tests.c @@ -1,6 +1,6 @@ #include "../test.h" -int main(void) { +void run(void) { char str[STRLENMAX], *aux; cube_t cube; @@ -19,6 +19,4 @@ int main(void) { writecube("B32", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/022_io_B32_read/io_B32_read_tests.c b/test/022_io_B32_read/io_B32_read_tests.c index cf987f7..5fa9daf 100644 --- a/test/022_io_B32_read/io_B32_read_tests.c +++ b/test/022_io_B32_read/io_B32_read_tests.c @@ -1,6 +1,6 @@ #include "../test.h" -int main(void) { +void run(void) { char str[STRLENMAX], *aux; cube_t cube; @@ -19,6 +19,4 @@ int main(void) { writecube("H48", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/023_io_LST_write/io_LST_write_tests.c b/test/023_io_LST_write/io_LST_write_tests.c index df35632..f041864 100644 --- a/test/023_io_LST_write/io_LST_write_tests.c +++ b/test/023_io_LST_write/io_LST_write_tests.c @@ -1,6 +1,6 @@ #include "../test.h" -int main(void) { +void run(void) { char str[STRLENMAX], *aux; cube_t cube; @@ -19,6 +19,4 @@ int main(void) { writecube("LST", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/024_io_LST_read/io_LST_read_tests.c b/test/024_io_LST_read/io_LST_read_tests.c index 506a23d..fa80131 100644 --- a/test/024_io_LST_read/io_LST_read_tests.c +++ b/test/024_io_LST_read/io_LST_read_tests.c @@ -1,6 +1,6 @@ #include "../test.h" -int main(void) { +void run(void) { char str[STRLENMAX], *aux; cube_t cube; @@ -19,6 +19,4 @@ int main(void) { writecube("H48", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/030_move/move_tests.c b/test/030_move/move_tests.c index 73e9dbe..d4a109b 100644 --- a/test/030_move/move_tests.c +++ b/test/030_move/move_tests.c @@ -2,7 +2,7 @@ cube_t applymoves(cube_t, char *); -int main(void) { +void run(void) { char movestr[STRLENMAX], cubestr[STRLENMAX]; cube_t cube; @@ -20,6 +20,4 @@ int main(void) { writecube("H48", cube, cubestr); printf("%s\n", cubestr); } - - return 0; } diff --git a/test/040_inverse_cube/inverse_tests.c b/test/040_inverse_cube/inverse_tests.c index 2ff3bc7..4cb7ad1 100644 --- a/test/040_inverse_cube/inverse_tests.c +++ b/test/040_inverse_cube/inverse_tests.c @@ -2,7 +2,7 @@ cube_t inverse(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube, inv; @@ -18,6 +18,4 @@ int main(void) { writecube("H48", inv, str); printf("%s\n", str); } - - return 0; } diff --git a/test/050_compose/compose_tests.c b/test/050_compose/compose_tests.c index 0ea4eff..e0e65b2 100644 --- a/test/050_compose/compose_tests.c +++ b/test/050_compose/compose_tests.c @@ -2,7 +2,7 @@ cube_t compose(cube_t, cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t c1, c2, c3; @@ -21,6 +21,4 @@ int main(void) { writecube("H48", c3, str); printf("%s\n", str); } - - return 0; } diff --git a/test/060_transform/transform_tests.c b/test/060_transform/transform_tests.c index f95ad67..bdb4dc5 100644 --- a/test/060_transform/transform_tests.c +++ b/test/060_transform/transform_tests.c @@ -2,7 +2,7 @@ cube_t applytrans(cube_t, char *); -int main(void) { +void run(void) { char cubestr[STRLENMAX], transtr[STRLENMAX]; cube_t cube; @@ -20,6 +20,4 @@ int main(void) { writecube("H48", cube, cubestr); printf("%s\n", cubestr); } - - return 0; } diff --git a/test/061_inverse_trans/inverse_trans_tests.c b/test/061_inverse_trans/inverse_trans_tests.c index 77bd40b..bbc1ac9 100644 --- a/test/061_inverse_trans/inverse_trans_tests.c +++ b/test/061_inverse_trans/inverse_trans_tests.c @@ -6,7 +6,7 @@ cube_t applymoves(cube_t, char *); cube_t applytrans(cube_t, char *); extern char *transstr[]; -int main(void) { +void run(void) { uint8_t t, tinv; cube_t cube; @@ -33,6 +33,4 @@ int main(void) { transstr[t], tinv); } } - - return 0; } diff --git a/test/071_coord_eo/coord_eo_tests.c b/test/071_coord_eo/coord_eo_tests.c index 3defb8b..78e4395 100644 --- a/test/071_coord_eo/coord_eo_tests.c +++ b/test/071_coord_eo/coord_eo_tests.c @@ -2,7 +2,7 @@ int64_t coord_eo(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; int64_t result; @@ -13,6 +13,4 @@ int main(void) { result = coord_eo(cube); printf("%" PRId64 "\n", result); - - return 0; } diff --git a/test/072_coord_co/coord_co_tests.c b/test/072_coord_co/coord_co_tests.c index c7af24c..3b84d74 100644 --- a/test/072_coord_co/coord_co_tests.c +++ b/test/072_coord_co/coord_co_tests.c @@ -2,7 +2,7 @@ int64_t coord_co(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; int64_t result; @@ -13,6 +13,4 @@ int main(void) { result = coord_co(cube); printf("%" PRId64 "\n", result); - - return 0; } diff --git a/test/073_coord_csep/coord_csep_tests.c b/test/073_coord_csep/coord_csep_tests.c index a6e13c5..6d20079 100644 --- a/test/073_coord_csep/coord_csep_tests.c +++ b/test/073_coord_csep/coord_csep_tests.c @@ -2,7 +2,7 @@ int64_t coord_csep(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; int64_t result; @@ -13,6 +13,4 @@ int main(void) { result = coord_csep(cube); printf("%" PRId64 "\n", result); - - return 0; } diff --git a/test/074_coord_esep/coord_esep_tests.c b/test/074_coord_esep/coord_esep_tests.c index 0ed3ef3..134ab59 100644 --- a/test/074_coord_esep/coord_esep_tests.c +++ b/test/074_coord_esep/coord_esep_tests.c @@ -2,7 +2,7 @@ int64_t coord_esep(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; int64_t result; @@ -13,6 +13,4 @@ int main(void) { result = coord_esep(cube); printf("%" PRId64 "\n", result); - - return 0; } diff --git a/test/075_set_eo/set_eo_tests.c b/test/075_set_eo/set_eo_tests.c index 9c01a50..fb2c23e 100644 --- a/test/075_set_eo/set_eo_tests.c +++ b/test/075_set_eo/set_eo_tests.c @@ -4,7 +4,7 @@ int64_t coord_eo(cube_t); void set_eo(cube_t *, int64_t); void pieces(cube_t *, uint8_t [static 8], uint8_t [static 12]); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; uint8_t edge[12], corner[8]; @@ -33,6 +33,4 @@ int main(void) { writecube("H48", cube, str); printf("%s\n", str); } - - return 0; } diff --git a/test/076_copy_corners/copy_corners_tests.c b/test/076_copy_corners/copy_corners_tests.c index 446a849..7464ecc 100644 --- a/test/076_copy_corners/copy_corners_tests.c +++ b/test/076_copy_corners/copy_corners_tests.c @@ -2,7 +2,7 @@ void copy_corners(cube_t *, cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t c1, c2; @@ -22,6 +22,4 @@ int main(void) { writecube("H48", c1, str); printf("%s\n", str); } - - return 0; } diff --git a/test/077_copy_edges/copy_edges_tests.c b/test/077_copy_edges/copy_edges_tests.c index 9afcb73..5077861 100644 --- a/test/077_copy_edges/copy_edges_tests.c +++ b/test/077_copy_edges/copy_edges_tests.c @@ -2,7 +2,7 @@ void copy_edges(cube_t *, cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t c1, c2; @@ -22,6 +22,4 @@ int main(void) { writecube("H48", c1, str); printf("%s\n", str); } - - return 0; } diff --git a/test/078_invcoord_esep/invcoord_esep_tests.c b/test/078_invcoord_esep/invcoord_esep_tests.c index 0b83175..45f508b 100644 --- a/test/078_invcoord_esep/invcoord_esep_tests.c +++ b/test/078_invcoord_esep/invcoord_esep_tests.c @@ -3,7 +3,7 @@ int64_t coord_esep(cube_t); cube_t invcoord_esep(int64_t); -int main(void) { +void run(void) { char str[STRLENMAX]; cube_t cube; int64_t i; @@ -16,6 +16,4 @@ int main(void) { i = coord_esep(cube); printf("%" PRId64 "\n", i); - - return 0; } diff --git a/test/080_allowednext/allowednext_tests.c b/test/080_allowednext/allowednext_tests.c index e531911..644d4c5 100644 --- a/test/080_allowednext/allowednext_tests.c +++ b/test/080_allowednext/allowednext_tests.c @@ -11,7 +11,7 @@ static char *moves[] = { "B", "B2", "B'", }; -int main(void) { +void run(void) { char movestr[STRLENMAX]; uint8_t m[100]; int n, i, j; @@ -32,6 +32,4 @@ int main(void) { n > 1 ? moves[m[n-2]] : "-", n > 0 ? moves[m[n-1]] : "-"); printf("%s\n", allowednextmove(m, n) ? "true" : "false"); - - return 0; } diff --git a/test/090_solve_simple/solve_simple_tests.c b/test/090_solve_simple/solve_simple_tests.c index 5ba6d20..f5e00e2 100644 --- a/test/090_solve_simple/solve_simple_tests.c +++ b/test/090_solve_simple/solve_simple_tests.c @@ -3,7 +3,7 @@ int64_t solve(cube_t, char *, char *, char *, int8_t, int8_t, int64_t, int8_t, void *, char *); -int main(void) { +void run(void) { char cubestr[STRLENMAX], solverstr[STRLENMAX], optionsstr[STRLENMAX]; char nisstypestr[STRLENMAX], minmovesstr[STRLENMAX]; char maxmovesstr[STRLENMAX], maxsolsstr[STRLENMAX]; @@ -45,6 +45,4 @@ int main(void) { ); printf("%s", solutionsstr); - - return 0; } diff --git a/test/100_gendata_cocsep/gendata_cocsep_tests.c b/test/100_gendata_cocsep/gendata_cocsep_tests.c index 9d8f03c..4a29ebb 100644 --- a/test/100_gendata_cocsep/gendata_cocsep_tests.c +++ b/test/100_gendata_cocsep/gendata_cocsep_tests.c @@ -4,7 +4,7 @@ size_t gendata_cocsep(void *, uint64_t *, cube_t *); -int main(void) { +void run(void) { uint32_t buf[300000], i; uint64_t selfsim[COCSEP_CLASSES]; cube_t rep[COCSEP_CLASSES]; @@ -17,6 +17,4 @@ int main(void) { printf("Max value: %" PRIu32 "\n", buf[result/4-11]); for (i = 0; i < 10; i++) printf("%" PRIu32 ": %" PRIu32 "\n", i, buf[result/4-10+i]); - - return 0; } diff --git a/test/101_cocsep_selfsim/cocsep_selfsim_tests.c b/test/101_cocsep_selfsim/cocsep_selfsim_tests.c index 195f9ba..9d9a8b2 100644 --- a/test/101_cocsep_selfsim/cocsep_selfsim_tests.c +++ b/test/101_cocsep_selfsim/cocsep_selfsim_tests.c @@ -12,7 +12,7 @@ size_t gendata_cocsep(void *, uint64_t *, cube_t *); int64_t coord_cocsep(cube_t); -int main(void) { +void run(void) { char str[STRLENMAX]; uint32_t buf[300000], data; int64_t coord, coclass; @@ -35,6 +35,4 @@ int main(void) { } printf("\n"); } - - return 0; } diff --git a/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c b/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c index b0668df..77dea81 100644 --- a/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c +++ b/test/102_coord_invcoord_h48/coord_invcoord_h48_tests.c @@ -7,7 +7,7 @@ int64_t coord_h48(cube_t, const uint32_t *, uint8_t); cube_t invcoord_h48(int64_t, const cube_t *, uint8_t); cube_t transform(cube_t, uint8_t); -int main(void) { +void run(void) { char str[STRLENMAX]; int i; bool found; @@ -33,6 +33,4 @@ int main(void) { printf("%d %s\n", i, found ? "ok" : "ERROR"); i++; } - - return 0; } diff --git a/test/103_gendata_h48/gendata_h48_tests.c b/test/103_gendata_h48/gendata_h48_tests.c index f0910cc..666f9f6 100644 --- a/test/103_gendata_h48/gendata_h48_tests.c +++ b/test/103_gendata_h48/gendata_h48_tests.c @@ -6,7 +6,7 @@ size_t gendata_h48(void *, uint8_t, uint8_t); -int main(void) { +void run(void) { char str[STRLENMAX]; uint8_t h, i; uint32_t *buf, *h48info; @@ -31,5 +31,4 @@ int main(void) { printf("%" PRIu32 ": %" PRIu32 "\n", i, h48info[i+1]); free(buf); - return 0; } diff --git a/test/test b/test/test deleted file mode 100755 index 3adee3a..0000000 --- a/test/test +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -detectsan() { cc -fsanitize=$1 -dM -E -x c - $TESTOUT 2> $TESTERR - if diff $cout $TESTOUT; then - printf "OK\n" - else - printf "Test failed! stderr:\n" - cat $TESTERR - exit 1 - fi - done -done - -echo "All tests passed!" -rm -rf $TESTBIN $TESTOUT $TESTERR $CUBEOBJ diff --git a/test/test.h b/test/test.h index 1bbb9fc..415e093 100644 --- a/test/test.h +++ b/test/test.h @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -24,3 +25,15 @@ bool issolvable(cube_t); bool issolved(cube_t); cube_t readcube(char *, char *); void writecube(char *, cube_t, char *); +void nissy_setlogger(void (*logger_function)(const char *, va_list)); + +/* Test function to be implemented by all tests */ +void run(void); + +void log_stderr(const char *str, va_list vl) { vfprintf(stderr, str, vl); } + +int main(void) { + nissy_setlogger(log_stderr); + run(); + return 0; +} -- cgit v1.3