ali@0: #include ali@0: #include ali@0: #include ali@6: #include ali@5: #include ali@0: #include "testcase.h" ali@0: #include "testcaseio.h" ali@0: ali@108: static gboolean show_output; ali@108: ali@108: static GOptionEntry options[]={ ali@108: { "show-output", 'o', 0, G_OPTION_ARG_NONE, &show_output, ali@108: "Show bookloupe output", NULL }, ali@108: { NULL } ali@108: }; ali@108: ali@0: /* ali@0: * Returns FALSE if the test should be considered to have failed. ali@0: * (returns TRUE on pass or expected-fail). ali@0: */ ali@6: gboolean run_test(const char *filename) ali@0: { ali@0: Testcase *testcase; ali@6: gboolean retval; ali@0: testcase=testcase_parse_file(filename); ali@0: if (!testcase) ali@0: return FALSE; ali@108: if (show_output) ali@108: retval=testcase_show_output(testcase); ali@108: else ali@108: retval=testcase_run(testcase); ali@0: testcase_free(testcase); ali@0: return retval; ali@0: } ali@0: ali@0: int main(int argc,char **argv) ali@0: { ali@0: int i; ali@6: gboolean pass=TRUE; ali@108: GError *err=NULL; ali@108: GOptionContext *context; ali@108: context=g_option_context_new("file - run a bookloupe testcase"); ali@108: g_option_context_add_main_entries(context,options,NULL); ali@108: if (!g_option_context_parse(context,&argc,&argv,&err)) ali@108: { ali@108: g_printerr("loupe-test: %s\n",err->message); ali@108: g_printerr("Use \"%s --help\" for help\n",argv[0]); ali@108: exit(1); ali@108: } ali@11: bl_set_print_handlers(); ali@167: g_setenv("BOOKLOUPE_CONFIG_PATH",".",TRUE); ali@0: for(i=1;i