summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installed-tests/minijasmine.cpp13
1 files changed, 10 insertions, 3 deletions
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, "<jasmine>",
&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, "<jasmine-start>",
&code, &error);
if (!success)
- bail_out(cx, error->message);
+ bail_out(cx, error);
if (code != 0) {
success = gjs_context_eval(cx, R"js(