[gnome-builder] meson: synthesize IdeBuildTarget for test



commit 81727f4233b0064ef42d9fae37ba20f1f72c9521
Author: Christian Hergert <chergert redhat com>
Date:   Tue Aug 6 16:34:47 2019 -0700

    meson: synthesize IdeBuildTarget for test
    
    This simplifies the runner creation so that it has information about the
    build target to be executed. Doing so increases the chance the runner
    can do the right thing.

 src/plugins/meson/gbp-meson-test-provider.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/src/plugins/meson/gbp-meson-test-provider.c b/src/plugins/meson/gbp-meson-test-provider.c
index 77ffc02be..f63fff843 100644
--- a/src/plugins/meson/gbp-meson-test-provider.c
+++ b/src/plugins/meson/gbp-meson-test-provider.c
@@ -405,6 +405,7 @@ gbp_meson_test_provider_run_build_cb (GObject      *object,
                                       gpointer      user_data)
 {
   IdePipeline *pipeline = (IdePipeline *)object;
+  g_autoptr(IdeSimpleBuildTarget) build_target = NULL;
   g_autoptr(IdeRunner) runner = NULL;
   g_autoptr(IdeTask) task = user_data;
   g_autoptr(GError) error = NULL;
@@ -437,9 +438,14 @@ gbp_meson_test_provider_run_build_cb (GObject      *object,
       IDE_EXIT;
     }
 
+  /* Set our command as specified by meson */
+  build_target = ide_simple_build_target_new (NULL);
+  command = gbp_meson_test_get_command (GBP_MESON_TEST (run->test));
+  ide_simple_build_target_set_argv (build_target, command);
+
   /* Create a runner to execute the test within */
   runtime = ide_pipeline_get_runtime (pipeline);
-  runner = ide_runtime_create_runner (runtime, NULL);
+  runner = ide_runtime_create_runner (runtime, IDE_BUILD_TARGET (build_target));
 
   if (runner == NULL)
     {
@@ -472,10 +478,6 @@ gbp_meson_test_provider_run_build_cb (GObject      *object,
       ide_runner_set_cwd (runner, path);
     }
 
-  /* Set our command as specified by meson */
-  command = gbp_meson_test_get_command (GBP_MESON_TEST (run->test));
-  ide_runner_push_args (runner, command);
-
   /* Make sure the environment is respected */
   if ((environ_ = gbp_meson_test_get_environ (GBP_MESON_TEST (run->test))))
     {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]