[glib/wip/installed-tests: 38/40] gio/tests: Some more fixes for installed tests
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/installed-tests: 38/40] gio/tests: Some more fixes for installed tests
- Date: Mon, 20 May 2013 20:51:44 +0000 (UTC)
commit 1a398b2e564e4ba8a42ca4865d49233b5b4a0c95
Author: Colin Walters <walters verbum org>
Date: Mon May 20 21:33:00 2013 +0100
gio/tests: Some more fixes for installed tests
file passes now, appinfo needs a bit more work, but is getting
there.
gio/tests/Makefile.am | 23 +++++++++++++++++++----
gio/tests/appinfo.c | 3 ++-
gio/tests/file.c | 16 ++++++++++++++--
3 files changed, 35 insertions(+), 7 deletions(-)
---
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
index 6365966..4525f69 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
@@ -419,6 +419,13 @@ endif OS_UNIX
# -----------------------------------------------------------------------------
+desktop_test_files = \
+ appinfo-test.desktop \
+ appinfo-test2.desktop \
+ appinfo-test-gnome.desktop \
+ appinfo-test-notgnome.desktop \
+ $(NULL)
+
EXTRA_DIST += \
socket-common.c \
org.gtk.test.gschema \
@@ -434,6 +441,7 @@ EXTRA_DIST += \
test3.gresource.xml \
test3.txt \
test4.gresource.xml \
+ $(desktop_test_files) \
$(NULL)
MISC_STUFF = test.mo test.gresource
@@ -491,15 +499,12 @@ distclean-local:
test_files = \
contexts.c \
g-icon.c \
+ file.c \
enums.xml.template \
testenum.h \
org.gtk.test.gschema.xml \
org.gtk.schemasourcecheck.gschema.xml \
test.gresource \
- appinfo-test.desktop \
- appinfo-test2.desktop \
- appinfo-test-gnome.desktop \
- appinfo-test-notgnome.desktop \
$(NULL)
EXTRA_DIST += $(test_files)
@@ -524,4 +529,14 @@ testmeta_DATA = $(test_progs:=.test)
echo 'Exec=env G_TEST_DATA=$(pkglibexecdir)/installed-tests $(pkglibexecdir)/installed-tests/$<' >>
$ tmp; \
mv $ tmp $@)
+%.desktop.insttest: %.desktop
+ sed -e s,Exec=./appinfo-test,Exec=$(insttestdir)/appinfo-test, < $< >$ tmp && mv $ tmp $@
+
+installed_desktop_test_files = $(desktop_test_files:.desktop=.desktop.insttest)
+install-data-local: $(installed_desktop_test_files)
+ for x in $(desktop_test_files); do \
+ install -m 0644 $${x}.insttest $(DESTDIR)$(testdatadir)/$$x; \
+ done
+ install -d -m 0755 $(DESTDIR)$(testdatadir)/schema-tests
+
endif
diff --git a/gio/tests/appinfo.c b/gio/tests/appinfo.c
index 4a7042f..5acba3d 100644
--- a/gio/tests/appinfo.c
+++ b/gio/tests/appinfo.c
@@ -1,5 +1,6 @@
#include <locale.h>
+#include <string.h>
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
@@ -113,7 +114,7 @@ test_basic (void)
g_free (path);
g_assert_cmpstr (g_app_info_get_id (appinfo), ==, "appinfo-test.desktop");
- g_assert_cmpstr (g_app_info_get_executable (appinfo), ==, "./appinfo-test");
+ g_assert (strstr (g_app_info_get_executable (appinfo), "appinfo-test") != NULL);
icon = g_app_info_get_icon (appinfo);
g_assert (G_IS_THEMED_ICON (icon));
diff --git a/gio/tests/file.c b/gio/tests/file.c
index bca461a..ee923d6 100644
--- a/gio/tests/file.c
+++ b/gio/tests/file.c
@@ -7,6 +7,8 @@
#include <sys/stat.h>
#endif
+static const gchar *datapath;
+
static void
test_basic (void)
{
@@ -79,16 +81,19 @@ test_child (void)
static void
test_type (void)
{
+ GFile *datapath_f;
GFile *file;
GFileType type;
GError *error = NULL;
- file = g_file_new_for_path (SRCDIR "/file.c");
+ datapath_f = g_file_new_for_path (datapath);
+
+ file = g_file_get_child (datapath_f, "g-icon.c");
type = g_file_query_file_type (file, 0, NULL);
g_assert_cmpint (type, ==, G_FILE_TYPE_REGULAR);
g_object_unref (file);
- file = g_file_new_for_path (SRCDIR "/schema-tests");
+ file = g_file_get_child (datapath_f, "schema-tests");
type = g_file_query_file_type (file, 0, NULL);
g_assert_cmpint (type, ==, G_FILE_TYPE_DIRECTORY);
@@ -96,6 +101,8 @@ test_type (void)
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY);
g_error_free (error);
g_object_unref (file);
+
+ g_object_unref (datapath_f);
}
@@ -786,6 +793,11 @@ test_copy_preserve_mode (void)
int
main (int argc, char *argv[])
{
+ if (g_getenv ("G_TEST_DATA"))
+ datapath = g_getenv ("G_TEST_DATA");
+ else
+ datapath = SRCDIR;
+
g_test_init (&argc, &argv, NULL);
g_test_bug_base ("http://bugzilla.gnome.org/");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]