[glib/wip/installed-tests: 38/40] gio/tests: Some more fixes for installed tests



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]