From 1a398b2e564e4ba8a42ca4865d49233b5b4a0c95 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 20 May 2013 21:33:00 +0100 Subject: [PATCH] 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 +#include #include #include @@ -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 #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/"); -- 2.7.4