From 6df5be6a6039f26ab3471f6911619fed47c94670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 29 Jun 2022 19:48:14 +0200 Subject: minijasmine: Add function override to print and free the error --- installed-tests/minijasmine.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'installed-tests') diff --git a/installed-tests/minijasmine.cpp b/installed-tests/minijasmine.cpp index 17b564d1..2e92d640 100644 --- a/installed-tests/minijasmine.cpp +++ b/installed-tests/minijasmine.cpp @@ -20,6 +20,13 @@ exit(1); } +[[noreturn]] static void bail_out(GjsContext* gjs_context, GError* error) { + g_print("Bail out! %s\n", error->message); + g_object_unref(gjs_context); + g_error_free(error); + exit(1); +} + int main(int argc, char **argv) { @@ -67,7 +74,7 @@ main(int argc, char **argv) int exitcode_ignored; if (!gjs_context_eval(cx, "imports.minijasmine;", -1, "", &exitcode_ignored, &error)) - bail_out(cx, error->message); + bail_out(cx, error); bool eval_as_module = argc >= 3 && strcmp(argv[2], "-m") == 0; if (eval_as_module) { @@ -78,7 +85,7 @@ main(int argc, char **argv) success = gjs_context_eval_file(cx, argv[1], &exitcode_ignored, &error); } if (!success) - bail_out(cx, error->message); + bail_out(cx, error); /* jasmineEnv.execute() queues up all the tests and runs them * asynchronously. This should start after the main loop starts, otherwise @@ -102,7 +109,7 @@ main(int argc, char **argv) success = gjs_context_eval(cx, start_suite_script, -1, "", &code, &error); if (!success) - bail_out(cx, error->message); + bail_out(cx, error); if (code != 0) { success = gjs_context_eval(cx, R"js( -- cgit v1.2.1