예제 #1
0
static void test_static_prop(void)
{
    g_test_trap_subprocess("/qdev/properties/static/default/subprocess", 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stderr("");
    g_test_trap_assert_stdout("");
}
예제 #2
0
파일: malloc.c 프로젝트: 183amir/glib
static void
test_profiler (void)
{
  if (g_test_subprocess ())
    {
      gpointer p;
      g_mem_set_vtable (glib_mem_profiler_table);
      p = g_malloc (100);
      p = g_realloc (p, 200);
      g_free (p);
      p = g_malloc0 (1000);
      g_free (p);
      p = g_try_malloc (2000);
      p = g_try_realloc (p, 3000);
      g_free (p);
      p = g_malloc (0);
      p = g_malloc0 (0);
      p = g_realloc (NULL, 0);
      p = g_try_malloc (0);
      p = g_try_realloc (NULL, 0);
      g_mem_profile ();
      exit (0);
    }
  g_test_trap_subprocess (NULL, 0, 0);
  g_test_trap_assert_passed ();
  g_test_trap_assert_stdout ("*GLib Memory statistics*");
}
예제 #3
0
static void test_dynamic_globalprop_nouser(void)
{
    g_test_trap_subprocess("/qdev/properties/dynamic/global/nouser/subprocess", 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stderr("");
    g_test_trap_assert_stdout("");
}
예제 #4
0
void test_help(void) {
    if (g_test_subprocess()) {
        char *test_argv[] = { "", "-h" };
        evaluate_options(2, test_argv);
    }

    g_test_trap_subprocess(NULL, 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stdout(usage_text(""));
}
예제 #5
0
static void test_handler_run_success(void)
{
    if (g_test_subprocess()) {
        handler_add("http", "echo -n 'handled uri %s'");
        handle_uri(TEST_URI);
        return;
    }
    g_test_trap_subprocess(NULL, 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stdout("handled uri " TEST_URI);
}
예제 #6
0
static void test_dynamic_globalprop(void)
{
    g_test_trap_subprocess("/qdev/properties/dynamic/global/subprocess", 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stderr_unmatched("*prop1*");
    g_test_trap_assert_stderr_unmatched("*prop2*");
    g_test_trap_assert_stderr("*Warning: global dynamic-prop-type-bad.prop3 has invalid class name\n*");
    g_test_trap_assert_stderr_unmatched("*prop4*");
    g_test_trap_assert_stderr("*Warning: global nohotplug-type.prop5=105 not used\n*");
    g_test_trap_assert_stderr("*Warning: global nondevice-type.prop6 has invalid class name\n*");
    g_test_trap_assert_stdout("");
}
예제 #7
0
static void
test_LSDebugLogIncoming(TestData *fixture, gconstpointer user_data)
{
    const char *expected_stdout = "*RX: where token <<0>> sender: com.name.service sender_unique: com.name.service.0\n";
    const char *expected_verbose_stdout = "*RX: where token <<0>> sender: com.name.service sender_unique: com.name.service.0 payload: {}\n";

    setenv("G_MESSAGES_DEBUG", "all", 1);

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDOUT))
    {
        LSDebugLogIncoming("where", GINT_TO_POINTER(1));
        exit(0);
    }
    g_test_trap_assert_stdout_unmatched(expected_stdout);

    // enable DEBUG_TRACING
    _ls_debug_tracing = 1;

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDOUT))
    {
        LSDebugLogIncoming("where", GINT_TO_POINTER(1));
        exit(0);
    }
    g_test_trap_assert_stdout(expected_stdout);

    // enable DEBUG_VERBOSE
    _ls_debug_tracing = 2;

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDOUT))
    {
        LSDebugLogIncoming("where", GINT_TO_POINTER(1));
        exit(0);
    }
    g_test_trap_assert_stdout(expected_verbose_stdout);

    _ls_debug_tracing = 0;
}
예제 #8
0
static void
test_x11_autolaunch (void)
{
  if (g_test_subprocess ())
    {
      g_unsetenv ("DISPLAY");
      g_unsetenv ("DBUS_SESSION_BUS_ADDRESS");
      g_unsetenv ("XDG_RUNTIME_DIR");
      set_up_mock_dbus_launch ();

      print_address ();

      tear_down_mock_dbus_launch ();
      return;
    }

  g_test_trap_subprocess (NULL, 0, 0);
  g_test_trap_assert_stderr_unmatched ("?*");
  g_test_trap_assert_stdout ("hello:this=address-is-from-the,mock=dbus-launch\n");
  g_test_trap_assert_passed ();
}
예제 #9
0
static void
test_xdg_runtime (void)
{
  if (g_test_subprocess ())
    {
      g_unsetenv ("DISPLAY");
      g_unsetenv ("DBUS_SESSION_BUS_ADDRESS");
      set_up_mock_xdg_runtime_dir ();
      set_up_mock_dbus_launch ();

      print_address ();

      tear_down_mock_dbus_launch ();
      tear_down_mock_xdg_runtime_dir ();
      return;
    }

  g_test_trap_subprocess (NULL, 0, 0);
  g_test_trap_assert_stderr_unmatched ("?*");
  g_test_trap_assert_stdout ("unix:path=/tmp/gdbus%2Cunix%2Ctest.*/bus\n");
  g_test_trap_assert_passed ();
}
예제 #10
0
파일: test-char.c 프로젝트: 8tab/qemu
static void char_console_test(void)
{
    g_test_trap_subprocess("/char/console/subprocess", 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stdout("CONSOLE");
}
예제 #11
0
파일: test-char.c 프로젝트: 8tab/qemu
static void char_stdio_test(void)
{
    g_test_trap_subprocess("/char/stdio/subprocess", 0, 0);
    g_test_trap_assert_passed();
    g_test_trap_assert_stdout("buf");
}