void pk_update_detail_test (EggTest *test) { gboolean ret; PkUpdateDetailObj *obj; if (!egg_test_start (test, "PkUpdateDetailObj")) return; /************************************************************ **************** IDENT ****************** ************************************************************/ /************************************************************/ egg_test_title (test, "get an detail object"); obj = pk_update_detail_obj_new (); egg_test_assert (test, obj != NULL); /************************************************************/ egg_test_title (test, "test detail"); ret = pk_update_detail_obj_free (obj); egg_test_assert (test, ret); egg_test_end (test); }
void egg_test_transaction (EggTest *test) { gboolean ret; PkTransactionObj *obj; if (!egg_test_start (test, "PkTransactionObj")) return; /************************************************************ **************** IDENT ****************** ************************************************************/ /************************************************************/ egg_test_title (test, "get an upgrade object"); obj = pk_transaction_obj_new (); egg_test_assert (test, obj != NULL); /************************************************************/ egg_test_title (test, "test upgrade"); ret = pk_transaction_obj_free (obj); egg_test_assert (test, ret); egg_test_end (test); }
void pk_console_test (gpointer user_data) { EggTest *test = (EggTest *) user_data; gboolean ret; if (!egg_test_start (test, "PkConsole")) return; /************************************************************/ egg_test_title (test, "get prompt 1"); ret = pk_console_get_prompt ("press enter", TRUE); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "get prompt 2"); ret = pk_console_get_prompt ("press enter", TRUE); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "get prompt 3"); ret = pk_console_get_prompt ("press Y", TRUE); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "get prompt 3"); ret = pk_console_get_prompt ("press N", TRUE); egg_test_assert (test, !ret); egg_test_end (test); }
void pk_task_list_test (EggTest *test) { PkConnection *connection; PkTaskList *tlist; PkClient *client; gboolean ret; GError *error = NULL; if (!egg_test_start (test, "PkTaskList")) return; /* check to see if there is a daemon running */ connection = pk_connection_new (); ret = pk_connection_valid (connection); g_object_unref (connection); if (!ret) { egg_warning ("daemon is not running, skipping tests"); goto out; } /************************************************************/ egg_test_title (test, "get client"); tlist = pk_task_list_new (); egg_test_assert (test, tlist != NULL); g_signal_connect (tlist, "finished", G_CALLBACK (pk_task_list_test_finished_cb), test); /************************************************************/ egg_test_title (test, "search for power"); client = pk_client_new (); ret = pk_client_search_name (client, PK_FILTER_ENUM_NONE, "power", &error); if (!ret) { egg_test_failed (test, "failed: %s", error->message); g_error_free (error); } egg_test_loop_wait (test, 5000); egg_test_success (test, NULL); /************************************************************/ egg_test_title (test, "we finished?"); if (finished) egg_test_success (test, NULL); else egg_test_failed (test, "not finished"); g_object_unref (tlist); g_object_unref (client); out: egg_test_end (test); }
void egg_string_test (EggTest *test) { gboolean ret; gchar *text_safe; const gchar *temp; guint length; gint value; guint uvalue; gchar **id1; gchar **id2; if (!egg_test_start (test, "EggString")) return; /************************************************************ **************** String array equal ****************** ************************************************************/ egg_test_title (test, "egg_strvequal same argument"); id1 = g_strsplit ("the quick brown fox", " ", 0); if (egg_strvequal (id1, id1)) egg_test_success (test, NULL); else egg_test_failed (test, "incorrect ret when both same"); g_strfreev (id1); /************************************************************/ egg_test_title (test, "egg_strvequal same"); id1 = g_strsplit ("the quick brown fox", " ", 0); id2 = g_strsplit ("the quick brown fox", " ", 0); if (egg_strvequal (id1, id2)) egg_test_success (test, NULL); else egg_test_failed (test, "incorrect ret when both same"); g_strfreev (id1); g_strfreev (id2); /************************************************************/ egg_test_title (test, "egg_strvequal different lengths"); id1 = g_strsplit ("the quick brown", " ", 0); id2 = g_strsplit ("the quick brown fox", " ", 0); if (!egg_strvequal (id1, id2)) egg_test_success (test, NULL); else egg_test_failed (test, "incorrect ret when both same"); g_strfreev (id1); g_strfreev (id2); /************************************************************/ egg_test_title (test, "egg_strvequal different"); id1 = g_strsplit ("the quick brown fox", " ", 0); id2 = g_strsplit ("richard hughes maintainer dude", " ", 0); if (!egg_strvequal (id1, id2)) egg_test_success (test, NULL); else egg_test_failed (test, "same when different"); g_strfreev (id1); g_strfreev (id2); /************************************************************ **************** Zero ****************** ************************************************************/ temp = NULL; egg_test_title (test, "test strzero (null)"); ret = egg_strzero (NULL); if (ret) egg_test_success (test, NULL); else egg_test_failed (test, "failed null"); /************************************************************/ egg_test_title (test, "test strzero (null first char)"); ret = egg_strzero (""); if (ret) egg_test_success (test, NULL); else egg_test_failed (test, "failed null"); /************************************************************/ egg_test_title (test, "test strzero (long string)"); ret = egg_strzero ("Richard"); if (!ret) egg_test_success (test, NULL); else egg_test_failed (test, "zero length word!"); /************************************************************/ egg_test_title (test, "id strcmp pass"); ret = (g_strcmp0 ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;fedora") == 0); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "id strcmp fail"); ret = (g_strcmp0 ("moo;0.0.1;i386;fedora", "moo;0.0.2;i386;fedora") == 0); egg_test_assert (test, !ret); /************************************************************ **************** strlen ****************** ************************************************************/ egg_test_title (test, "strlen bigger"); length = egg_strlen ("123456789", 20); if (length == 9) egg_test_success (test, NULL); else egg_test_failed (test, "failed the strlen %i", length); /************************************************************/ egg_test_title (test, "strlen smaller"); length = egg_strlen ("123456789", 5); if (length == 5) egg_test_success (test, NULL); else egg_test_failed (test, "failed the strlen %i", length); /************************************************************/ egg_test_title (test, "strlen correct"); length = egg_strlen ("123456789", 9); if (length == 9) egg_test_success (test, NULL); else egg_test_failed (test, "failed the strlen %i", length); /************************************************************ **************** Replace ****************** ************************************************************/ egg_test_title (test, "replace start"); text_safe = egg_strreplace ("richard\nhughes", "r", "e"); if (g_strcmp0 (text_safe, "eichaed\nhughes") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "failed the replace '%s'", text_safe); g_free (text_safe); /************************************************************/ egg_test_title (test, "replace none"); text_safe = egg_strreplace ("richard\nhughes", "dave", "e"); if (g_strcmp0 (text_safe, "richard\nhughes") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "failed the replace '%s'", text_safe); g_free (text_safe); /************************************************************/ egg_test_title (test, "replace end"); text_safe = egg_strreplace ("richard\nhughes", "s", "e"); if (g_strcmp0 (text_safe, "richard\nhughee") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "failed the replace '%s'", text_safe); g_free (text_safe); /************************************************************/ egg_test_title (test, "replace unicode"); text_safe = egg_strreplace ("richard\n- hughes", "\n- ", "\n• "); if (g_strcmp0 (text_safe, "richard\n• hughes") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "failed the replace '%s'", text_safe); g_free (text_safe); /************************************************************ ************** Convert numbers **************** ************************************************************/ egg_test_title (test, "convert valid number"); ret = egg_strtoint ("234", &value); if (ret && value == 234) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", value); /************************************************************/ egg_test_title (test, "convert negative valid number"); ret = egg_strtoint ("-234", &value); if (ret && value == -234) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", value); /************************************************************/ egg_test_title (test, "don't convert invalid number"); ret = egg_strtoint ("dave", &value); if (!ret) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", value); /************************************************************/ egg_test_title (test, "convert NULL to a number"); ret = egg_strtouint (NULL, &uvalue); if (!ret) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", uvalue); /************************************************************/ egg_test_title (test, "convert valid uint number"); ret = egg_strtouint ("234", &uvalue); if (ret && uvalue == 234) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", uvalue); /************************************************************/ egg_test_title (test, "convert invalid uint number"); ret = egg_strtouint ("-234", &uvalue); if (ret == FALSE) egg_test_success (test, NULL); else egg_test_failed (test, "value is %i", uvalue); egg_test_end (test); }
void pk_package_id_test (EggTest *test) { gboolean ret; gchar *text; const gchar *temp; PkPackageId *id; PkPackageId *id2; gchar **array; if (!egg_test_start (test, "PkPackageId")) return; /************************************************************ **************** id ****************** ************************************************************/ egg_test_title (test, "id build valid"); text = pk_package_id_build ("moo", "0.0.1", "i386", "fedora"); if (g_strcmp0 (text, "moo;0.0.1;i386;fedora") == 0) egg_test_success (test, NULL); else egg_test_failed (test, NULL); g_free (text); egg_test_title (test, "id build partial"); text = pk_package_id_build ("moo", NULL, NULL, NULL); if (g_strcmp0 (text, "moo;;;") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got '%s', expected '%s'", text, "moo;;;"); g_free (text); egg_test_title (test, "pid equal pass (same)"); ret = pk_package_id_equal_strings ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;fedora"); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "pid equal pass (different)"); ret = pk_package_id_equal_strings ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;data"); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "get an id object"); id = pk_package_id_new (); egg_test_assert (test, id != NULL); /************************************************************/ egg_test_title (test, "test id freeing early"); ret = pk_package_id_free (id); egg_test_assert (test, ret); /************************************************************/ egg_test_title (test, "parse incorrect package_id from string (empty)"); temp = ""; id = pk_package_id_new_from_string (temp); if (id == NULL) egg_test_success (test, NULL); else egg_test_failed (test, "passed an invalid string '%s'", temp); /************************************************************/ egg_test_title (test, "parse incorrect package_id from string (not enough)"); temp = "moo;0.0.1;i386"; id = pk_package_id_new_from_string (temp); if (id == NULL) egg_test_success (test, NULL); else egg_test_failed (test, "passed an invalid string '%s'", temp); /************************************************************/ egg_test_title (test, "parse package_id from string"); id = pk_package_id_new_from_string ("moo;0.0.1;i386;fedora"); if (id != NULL && g_strcmp0 (id->name, "moo") == 0 && g_strcmp0 (id->arch, "i386") == 0 && g_strcmp0 (id->data, "fedora") == 0 && g_strcmp0 (id->version, "0.0.1") == 0) egg_test_success (test, NULL); else egg_test_failed (test, NULL); /************************************************************/ egg_test_title (test, "test copying"); id2 = pk_package_id_copy (id); if (id2 != NULL) egg_test_success (test, NULL); else egg_test_failed (test, NULL); /************************************************************/ egg_test_title (test, "test id building with valid data"); text = pk_package_id_to_string (id2); if (g_strcmp0 (text, "moo;0.0.1;i386;fedora") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "package_id is '%s'", text); g_free (text); pk_package_id_free (id); pk_package_id_free (id2); /************************************************************/ egg_test_title (test, "test id building with partial data"); id = pk_package_id_new_from_string ("moo;;;"); text = pk_package_id_to_string (id); if (g_strcmp0 (text, "moo;;;") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "package_id is '%s', should be '%s'", text, "moo;;;"); g_free (text); pk_package_id_free (id); /************************************************************/ egg_test_title (test, "parse short package_id from string"); id = pk_package_id_new_from_string ("moo;0.0.1;;"); if (id != NULL && (g_strcmp0 (id->name, "moo") == 0) && (g_strcmp0 (id->version, "0.0.1") == 0) && id->data == NULL && id->arch == NULL) egg_test_success (test, NULL); else egg_test_failed (test, NULL); pk_package_id_free (id); egg_test_title (test, "id equal pass (same)"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;fedora", 4, 3); egg_test_assert (test, ret); egg_test_title (test, "id equal pass (parts==match)"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;fedora", 4, 4); egg_test_assert (test, ret); egg_test_title (test, "id equal pass (different)"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.1;i386;data", 4, 3); egg_test_assert (test, ret); egg_test_title (test, "id equal fail1"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.2;x64;fedora", 4, 3); egg_test_assert (test, !ret); egg_test_title (test, "id equal fail2"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "gnome;0.0.2;i386;fedora", 4, 3); egg_test_assert (test, !ret); egg_test_title (test, "id equal fail3"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.3;i386;fedora", 4, 3); egg_test_assert (test, !ret); egg_test_title (test, "id equal fail (match too high)"); ret = pk_strcmp_sections ("moo;0.0.1;i386;fedora", "moo;0.0.3;i386;fedora", 4, 5); egg_test_assert (test, !ret); /************************************************************ **************** splitting **************** ************************************************************/ egg_test_title (test, "test pass 1"); array = pk_strsplit ("foo", 1); if (array != NULL && g_strcmp0 (array[0], "foo") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got %s", array[0]); g_strfreev (array); /************************************************************/ egg_test_title (test, "test pass 2"); array = pk_strsplit ("foo;moo", 2); if (array != NULL && g_strcmp0 (array[0], "foo") == 0 && g_strcmp0 (array[1], "moo") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got %s, %s", array[0], array[1]); g_strfreev (array); /************************************************************/ egg_test_title (test, "test pass 3"); array = pk_strsplit ("foo;moo;bar", 3); if (array != NULL && g_strcmp0 (array[0], "foo") == 0 && g_strcmp0 (array[1], "moo") == 0 && g_strcmp0 (array[2], "bar") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got %s, %s, %s, %s", array[0], array[1], array[2], array[3]); g_strfreev (array); /************************************************************/ egg_test_title (test, "test on real packageid"); array = pk_strsplit ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;all;", 4); if (array != NULL && g_strcmp0 (array[0], "kde-i18n-csb") == 0 && g_strcmp0 (array[1], "4:3.5.8~pre20071001-0ubuntu1") == 0 && g_strcmp0 (array[2], "all") == 0 && g_strcmp0 (array[3], "") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got %s, %s, %s, %s", array[0], array[1], array[2], array[3]); g_strfreev (array); /************************************************************/ egg_test_title (test, "test on short packageid"); array = pk_strsplit ("kde-i18n-csb;4:3.5.8~pre20071001-0ubuntu1;;", 4); if (array != NULL && g_strcmp0 (array[0], "kde-i18n-csb") == 0 && g_strcmp0 (array[1], "4:3.5.8~pre20071001-0ubuntu1") == 0 && g_strcmp0 (array[2], "") == 0 && g_strcmp0 (array[3], "") == 0) egg_test_success (test, NULL); else egg_test_failed (test, "got %s, %s, %s, %s", array[0], array[1], array[2], array[3]); g_strfreev (array); /************************************************************/ egg_test_title (test, "test fail under"); array = pk_strsplit ("foo;moo", 1); egg_test_assert (test, array == NULL); /************************************************************/ egg_test_title (test, "test fail over"); array = pk_strsplit ("foo;moo", 3); egg_test_assert (test, array == NULL); /************************************************************/ egg_test_title (test, "test fail missing first"); array = pk_strsplit (";moo", 2); egg_test_assert (test, array == NULL); egg_test_end (test); }