summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-10-06 04:16:12 +0200
committerBenjamin Otte <otte@redhat.com>2015-10-13 02:56:48 +0200
commit11b59a0db87f666a82b04a4cd455e6d935ece0a4 (patch)
treebcda102e0450af41b9aa71d767984f9b376b2fa6 /tests
parentcc31abae997a120d45622d292e35a9881d0c4c74 (diff)
downloadgdk-pixbuf-11b59a0db87f666a82b04a4cd455e6d935ece0a4.tar.gz
tests: Allow passing a filter function when adding all files
... and use it to not add reference images.
Diffstat (limited to 'tests')
-rw-r--r--tests/pixbuf-randomly-modified.c2
-rw-r--r--tests/pixbuf-slow-load.c9
-rw-r--r--tests/test-common.c14
-rw-r--r--tests/test-common.h5
4 files changed, 17 insertions, 13 deletions
diff --git a/tests/pixbuf-randomly-modified.c b/tests/pixbuf-randomly-modified.c
index 60f8428de..f45f53c5b 100644
--- a/tests/pixbuf-randomly-modified.c
+++ b/tests/pixbuf-randomly-modified.c
@@ -104,7 +104,7 @@ main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
test_images_dir = g_build_filename (g_test_get_dir (G_TEST_DIST), "test-images/randomly-modified", NULL);
- add_test_for_all_images ("/pixbuf/randomly-modified", test_images_dir, test_randomly_modified);
+ add_test_for_all_images ("/pixbuf/randomly-modified", test_images_dir, test_randomly_modified, NULL);
g_free (test_images_dir);
g_test_message ("Modified image is written to pixbuf-randomly-modified-image");
diff --git a/tests/pixbuf-slow-load.c b/tests/pixbuf-slow-load.c
index 6ccc6ce54..9633ef080 100644
--- a/tests/pixbuf-slow-load.c
+++ b/tests/pixbuf-slow-load.c
@@ -78,9 +78,9 @@ make_ref_filename (const char *filename)
}
static gboolean
-is_ref_filename (const char *filename)
+is_not_ref_image (const char *filename)
{
- return g_str_has_suffix (filename, ".ref.png");
+ return !g_str_has_suffix (filename, ".ref.png");
}
static void
@@ -97,9 +97,6 @@ test_reftest_success (gconstpointer file)
gboolean success;
filename = file;
- if (is_ref_filename (filename))
- return;
-
ref_filename = make_ref_filename (filename);
reference = gdk_pixbuf_new_from_file (ref_filename, &error);
g_assert_no_error (error);
@@ -154,7 +151,7 @@ main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
tga_test_images = g_build_filename (g_test_get_dir (G_TEST_DIST), "test-images/tga", NULL);
- add_test_for_all_images ("/pixbuf/reftest/success", tga_test_images, test_reftest_success);
+ add_test_for_all_images ("/pixbuf/reftest/success", tga_test_images, test_reftest_success, is_not_ref_image);
g_free (tga_test_images);
return g_test_run ();
diff --git a/tests/test-common.c b/tests/test-common.c
index 94983013b..fef9d947c 100644
--- a/tests/test-common.c
+++ b/tests/test-common.c
@@ -175,7 +175,8 @@ pixdata_equal (GdkPixbuf *test,
void
add_test_for_all_images (const gchar *prefix,
const gchar *path,
- GTestDataFunc test_func)
+ GTestDataFunc test_func,
+ AddTestFunc add_test_func)
{
GDir *dir;
const gchar *name;
@@ -188,10 +189,13 @@ add_test_for_all_images (const gchar *prefix,
test_path = g_strconcat (prefix, "/", name, NULL);
dir_path = g_strconcat (path, "/", name, NULL);
- if (g_file_test (dir_path, G_FILE_TEST_IS_DIR))
- add_test_for_all_images (test_path, dir_path, test_func);
- else
- g_test_add_data_func_full (test_path, g_strdup (dir_path), test_func, g_free);
+ if (add_test_func == NULL || add_test_func (dir_path))
+ {
+ if (g_file_test (dir_path, G_FILE_TEST_IS_DIR))
+ add_test_for_all_images (test_path, dir_path, test_func, add_test_func);
+ else
+ g_test_add_data_func_full (test_path, g_strdup (dir_path), test_func, g_free);
+ }
g_free (test_path);
g_free (dir_path);
}
diff --git a/tests/test-common.h b/tests/test-common.h
index 4273f7198..6b53242f5 100644
--- a/tests/test-common.h
+++ b/tests/test-common.h
@@ -27,12 +27,15 @@
G_BEGIN_DECLS
+typedef gboolean (* AddTestFunc) (const gchar *filename);
+
gboolean format_supported (const gchar *filename);
gboolean skip_if_insufficient_memory (GError **err);
gboolean pixdata_equal (GdkPixbuf *test, GdkPixbuf *ref, GError **error);
void add_test_for_all_images (const gchar *prefix,
const gchar *dir,
- GTestDataFunc test_func);
+ GTestDataFunc test_func,
+ AddTestFunc add_test_func);
G_END_DECLS