# -----------------------------------------------------------------------------
+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 \
test3.gresource.xml \
test3.txt \
test4.gresource.xml \
+ $(desktop_test_files) \
$(NULL)
MISC_STUFF = test.mo test.gresource
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)
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
#include <locale.h>
+#include <string.h>
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
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));
#include <sys/stat.h>
#endif
+static const gchar *datapath;
+
static void
test_basic (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);
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);
}
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/");