test.h (1066B)
1 #define TEST_H 2 3 #include <inttypes.h> 4 #include <pthread.h> 5 #include <stdarg.h> 6 #include <stdbool.h> 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <string.h> 10 11 #include "../src/nissy.h" 12 #include "../src/arch/arch.h" 13 #include "../src/solvers/solutions_types_macros.h" 14 #include "../src/solvers/tables_types_macros.h" 15 #include "../src/solvers/h48/coordinate_types_macros.h" 16 #include "../src/solvers/h48/map_types_macros.h" 17 #include "../src/solvers/h48/gendata_types_macros.h" 18 #include "../src/solvers/coord/types_macros.h" 19 20 #define STRLENMAX 10000 21 22 /* Basic functions used in most tests */ 23 cube_t solvedcube(void); 24 bool iserror(cube_t); 25 bool isconsistent(cube_t); 26 bool issolvable(cube_t); 27 bool issolved(cube_t); 28 cube_t readcube(char *, char *); 29 int64_t writecube(const char *, cube_t, size_t n, char [n]); 30 31 /* Test function to be implemented by all tests */ 32 void run(void); 33 34 void log_stderr(const char *str, ...) 35 { 36 va_list args; 37 38 va_start(args, str); 39 vfprintf(stderr, str, args); 40 va_end(args); 41 } 42 43 int main(void) { 44 nissy_setlogger(log_stderr); 45 run(); 46 return 0; 47 }