diff --git a/src/tests/meta-test-utils.c b/src/tests/meta-test-utils.c index 6c4283225..416dc0b64 100644 --- a/src/tests/meta-test-utils.c +++ b/src/tests/meta-test-utils.c @@ -353,6 +353,29 @@ meta_test_client_do (MetaTestClient *client, return retval; } +void +meta_test_client_run (MetaTestClient *client, + const char *script) +{ + g_auto (GStrv) lines = NULL; + int i; + + lines = g_strsplit (script, "\n", -1); + for (i = 0; lines[i]; i++) + { + g_autoptr (GError) error = NULL; + + if (strlen (lines[i]) > 1) + { + g_autofree char *line = NULL; + + line = g_strdup_printf ("%s\n", lines[i]); + if (!meta_test_client_do_line (client, line, &error)) + g_error ("Failed to do line '%s': %s", lines[i], error->message); + } + } +} + gboolean meta_test_client_wait (MetaTestClient *client, GError **error) diff --git a/src/tests/meta-test-utils.h b/src/tests/meta-test-utils.h index f4490be7d..0232276a7 100644 --- a/src/tests/meta-test-utils.h +++ b/src/tests/meta-test-utils.h @@ -74,6 +74,10 @@ gboolean meta_test_client_dov (MetaTestClient *client, GError **error, va_list vap); +META_EXPORT +void meta_test_client_run (MetaTestClient *client, + const char *script); + META_EXPORT gboolean meta_test_client_do (MetaTestClient *client, GError **error,