Exemplo n.º 1
0
static void
test_LSErrorPrint(TestData *fixture, gconstpointer user_data)
{
    LSError error;
    LSErrorInit(&error);
    _LSErrorSetNoPrint(&error, LS_ERROR_CODE_UNKNOWN_ERROR, LS_ERROR_TEXT_UNKNOWN_ERROR);

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        LSErrorPrint(&error, stderr);
        exit(0);
    }
    gchar *expected_stderr = g_strdup_printf("LUNASERVICE ERROR %d: %s (%s @ %s:%d)\n",
             error.error_code, error.message, error.func, error.file, error.line);
    g_test_trap_assert_stderr(expected_stderr);
    g_free(expected_stderr);

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        LSErrorPrint(NULL, stderr);
        exit(0);
    }
    g_test_trap_assert_stderr("LUNASERVICE ERROR: lserror is NULL. Did you pass in a LSError?");

    LSErrorFree(&error);
}
Exemplo n.º 2
0
static void
test_LSErrorLog(TestData *fixture, gconstpointer user_data)
{
    LSError lserror;
    LSErrorInit(&lserror);
    _LSErrorSetNoPrint(&lserror, LS_ERROR_CODE_UNKNOWN_ERROR, LS_ERROR_TEXT_UNKNOWN_ERROR);

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        LOG_LSERROR("LS_TEST_ERROR", &lserror);
        exit(0);
    }
    gchar *expected_stderr = g_strdup_printf("{\"ERROR_CODE\":%d,\"ERROR\":\"%s\",\"FUNC\":\"%s\",\"FILE\":\"%s\",\"LINE\":%d"
                                             "} LUNASERVICE ERROR\n",
                                             lserror.error_code, lserror.message, lserror.func, lserror.file, lserror.line);
    g_test_trap_assert_stderr(expected_stderr);
    g_free(expected_stderr);

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        LOG_LSERROR("LS_TEST_ERROR", NULL);
        exit(0);
    }
    g_test_trap_assert_stderr("lserror is NULL. Did you pass in a LSError?\n");

    LSErrorFree(&lserror);
}
Exemplo n.º 3
0
static void
test_unset_display (void)
{
  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
    {
      GdkDisplayManager *manager;

      g_unsetenv ("DISPLAY");

      g_assert (!gdk_init_check (NULL, NULL));
      manager = gdk_display_manager_get ();
      g_assert (manager != NULL);
      g_assert (gdk_display_manager_get_default_display (manager) == NULL);

      exit (0);
    }
  g_test_trap_assert_passed ();

  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
    {
      g_unsetenv ("DISPLAY");

      gdk_init (NULL, NULL);

      exit (0);
    }
  g_test_trap_assert_failed ();
  g_test_trap_assert_stderr ("*cannot open display*");
}
Exemplo n.º 4
0
static void
recent_manager_add (void)
{
  GtkRecentManager *manager;
  GtkRecentData *recent_data;
  gboolean res;

  manager = gtk_recent_manager_get_default ();

  recent_data = g_slice_new0 (GtkRecentData);

  /* mime type is mandatory */
  recent_data->mime_type = NULL;
  recent_data->app_name = "testrecentchooser";
  recent_data->app_exec = "testrecentchooser %u";
  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      res = gtk_recent_manager_add_full (manager,
                                         uri,
                                         recent_data);
    }
  g_test_trap_assert_failed ();

  /* app name is mandatory */
  recent_data->mime_type = "text/plain";
  recent_data->app_name = NULL;
  recent_data->app_exec = "testrecentchooser %u";
  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      res = gtk_recent_manager_add_full (manager,
                                         uri,
                                         recent_data);
    }
  g_test_trap_assert_failed ();

  /* app exec is mandatory */
  recent_data->mime_type = "text/plain";
  recent_data->app_name = "testrecentchooser";
  recent_data->app_exec = NULL;
  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      res = gtk_recent_manager_add_full (manager,
                                         uri,
                                         recent_data);
    }
  g_test_trap_assert_failed ();

  recent_data->mime_type = "text/plain";
  recent_data->app_name = "testrecentchooser";
  recent_data->app_exec = "testrecentchooser %u";
  res = gtk_recent_manager_add_full (manager,
                                     uri,
                                     recent_data);
  g_assert (res == TRUE);

  g_slice_free (GtkRecentData, recent_data);
}
Exemplo n.º 5
0
static void
test_schema (gpointer data)
{
  SchemaTest *test = (SchemaTest *) data;

  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      gchar *filename = g_strconcat (test->name, ".gschema.xml", NULL);
      gchar *path = g_build_filename (SRCDIR, "schema-tests", filename, NULL);
      gchar *argv[] = {
        "../glib-compile-schemas",
        "--dry-run",
        "--schema-file", path,
        (gchar *)test->opt,
        NULL
      };
      gchar *envp[] = { NULL };
      execve (argv[0], argv, envp);
      g_free (filename);
      g_free (path);
    }
  if (test->err)
    {
      g_test_trap_assert_failed ();
      g_test_trap_assert_stderr (test->err);
    }
  else
    g_test_trap_assert_passed();
}
Exemplo n.º 6
0
/* Test g_warn macros */
static void
test_warnings (void)
{
  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      g_warn_if_reached ();
    }
  g_test_trap_assert_failed();
  g_test_trap_assert_stderr ("*WARNING*test_warnings*should not be reached*");

  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
      g_warn_if_fail (FALSE);
    }
  g_test_trap_assert_failed();
  g_test_trap_assert_stderr ("*WARNING*test_warnings*runtime check failed*");
}
Exemplo n.º 7
0
void test_failure(){
    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)){
        dictionary *dd = dictionary_new();
        dictionary_add(dd, NULL, "blank");
    }
    g_test_trap_assert_failed();
    g_test_trap_assert_stderr("NULL is not a valid key.\n");
}
Exemplo n.º 8
0
static void test_chnlat(void)
{
	if (g_test_trap_fork(60 * 1000 * 1000, 0) == TRUE) {
		test_connect(FALSE);
		exit(0);
	}

	g_test_trap_assert_passed();
	//g_test_trap_assert_stderr("failed");
}
Exemplo n.º 9
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);

    PmLogSetContextLevel(PmLogGetLibContext(), kPmLogLevel_Debug);

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

    // enable DEBUG_TRACING
    _ls_debug_tracing = 1;

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

    // enable DEBUG_VERBOSE
    _ls_debug_tracing = 2;

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

    _ls_debug_tracing = 0;
}
Exemplo n.º 10
0
void test_g_test_trap()
    {
    if(g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDOUT))
        {
        exit(0);
        }
    
    if(!g_test_trap_has_passed())
        {
        std_log(LOG_FILENAME_LINE, "g_test_trap_has_passed didnt work as expected");
        assert_failed = 1;
        }
    }
static void
test_timer_source_set_interval_seconds()
{
    // 2s interval
    GTimerSource *source = g_timer_source_new_seconds(2);

    // 1s interval
    g_timer_source_set_interval_seconds(source, 1, true);

    g_assert_cmpint(g_timer_source_get_interval_ms(source), ==, 1000);

    // no main loop, no main context, cannot wakeup context, expect warning
    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        g_timer_source_set_interval_seconds(source, 2, false);
        exit(0);
    }
    g_test_trap_assert_stderr("*Cannot get context for timer_source*");

    // valid main loop/context, source attached, expect no warning
    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        GMainLoop *main_loop = g_main_loop_new(NULL, false);

        g_source_attach ((GSource*)source, NULL);

        g_timer_source_set_interval_seconds(source, 1, false);

        g_main_loop_unref(main_loop);
        g_source_unref((GSource*)source);

        exit(0);
    }
    g_test_trap_assert_stderr_unmatched("*Cannot get context for timer_source*");

    g_source_unref((GSource*)source);
}
Exemplo n.º 12
0
/* void ClockPrint() */
static void
test_ClockPrint(void)
{
    /* ClockPrint uses internally ClockPrintTime() so we'll stress test that one
       and check here only the print procedure. */
    /* Fork this test to capture stdout. */
    if (g_test_trap_fork(1000000, G_TEST_TRAP_SILENCE_STDERR))
    {
        ClockPrint();
        exit(0);
    }
    g_test_trap_assert_passed();
    /* Consider regular expression to check for more specific "%lds.%ldms". */
    g_test_trap_assert_stderr("*s.*ms*");
}
Exemplo n.º 13
0
static void
test_conform_todo_test (TestConformSimpleFixture *fixture,
                        gconstpointer             data)
{
#ifdef G_OS_UNIX
  const TestConformTodo *todo = data;

  if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
    {
      todo->func (fixture, NULL);
      exit (0);
    }

  g_test_trap_assert_failed ();
#endif
}
static void
test_fork_timer_process(GTimerSource *source, guint64 usec_fork_timeout, GSourceFunc callback)
{
    if (g_test_trap_fork(usec_fork_timeout, G_TEST_TRAP_SILENCE_STDOUT))
    {
        GMainLoop *main_loop = g_main_loop_new(NULL, false);

        g_source_set_callback ((GSource*)source, callback, main_loop, NULL);
        g_source_attach ((GSource*)source, NULL);

        g_main_loop_run(main_loop);
        g_main_loop_unref(main_loop);

        g_source_unref((GSource*)source);

        exit(0);
    }
}
Exemplo n.º 15
0
static void
test_LSRegisterAndUnregister(TestData *fixture, gconstpointer user_data)
{
    LSError error;
    LSErrorInit(&error);

    LSHandle *sh = NULL;

    if (g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
    {
        setenv("LS_DEBUG", "2", 1);
        setenv("LS_ENABLE_UTF8", "2", 1);

        LSRegister("com.name.service", &sh, &error);
        g_assert_cmpint(_ls_debug_tracing, ==, 2);
        g_assert(_ls_enable_utf8_validation == true);
        LSUnregister(sh, &error);
        exit(0);
    }
Exemplo n.º 16
0
static void
test_ClockPrintTime_validate(long sec, long nsec)
{
    struct timespec ts;
    ts.tv_sec = sec;
    ts.tv_nsec = nsec;

    GString *reference = g_string_new("");
    g_string_printf(reference, "*%lds.%ldms*", sec, nsec / NSEC_PER_MSEC);

    if (g_test_trap_fork(1000000, G_TEST_TRAP_SILENCE_STDERR))
    {
        /* Should print "[seconds]s.[milliseconds]ms ". */
        ClockPrintTime(&ts);
        exit(0);
    }
    g_test_trap_assert_passed();
    g_test_trap_assert_stderr(reference->str);

    g_string_free(reference, TRUE);
}
Exemplo n.º 17
0
void test_free_next_strListItem()
{
	strList* list = createDummyList();
	g_assert_cmpint(g_slist_length(list), ==, 3);

	free_next_strListItem(list);
	g_assert_cmpint(g_slist_length(list), ==, 2);
	g_assert(strcasecmp("dummy3", g_slist_nth_data(list, 0)) == 0);
	g_assert(strcasecmp("dummy1", g_slist_nth_data(list, 1)) == 0);

	free_next_strListItem(list);
	g_assert_cmpint(g_slist_length(list), ==, 1);
	g_assert(strcasecmp("dummy3", g_slist_nth_data(list, 0)) == 0);

	if(g_test_trap_fork(0, G_TEST_TRAP_SILENCE_STDERR))
	{
		free_next_strListItem(list);
		exit(EXIT_SUCCESS);
	}
	g_test_trap_assert_failed();

	free_strList(list);
}
Exemplo n.º 18
0
/* test we get a warning if an area is provided, but ignored */
static void
test_completion_subclass3 (void)
{
    subclass_init = 1;

    if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
    {
        GtkEntryCompletion *c;
        GtkCellArea *area;

        area = gtk_cell_area_box_new ();
        c = g_object_new (my_entry_completion_get_type (), "cell-area", area, NULL);
        g_assert (area == gtk_cell_layout_get_area (GTK_CELL_LAYOUT (c)));
        g_assert (gtk_orientable_get_orientation (GTK_ORIENTABLE (area)) == GTK_ORIENTATION_VERTICAL);

        g_object_ref_sink (c);
        g_object_unref (c);

        exit (0);
    }
    g_test_trap_assert_failed ();
    g_test_trap_assert_stderr ("*ignoring construct property*");
}