[folks] Add infrastructure for finding test data files, and use it for avatars
- From: Simon McVittie <smcv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [folks] Add infrastructure for finding test data files, and use it for avatars
- Date: Wed, 20 Mar 2013 13:38:19 +0000 (UTC)
commit 850aff1ab637b7b9fcf2818e6e822f115ff78c8c
Author: Simon McVittie <simon mcvittie collabora co uk>
Date: Tue Mar 19 17:06:03 2013 +0000
Add infrastructure for finding test data files, and use it for avatars
Again, I've speculatively added support for a FOLKS_TESTS_INSTALLED
variable, because one day I'd like "make installcheck" to work.
Bug https://bugzilla.gnome.org/show_bug.cgi?id=690830
Signed-off-by: Simon McVittie <simon mcvittie collabora co uk>
Reviewed-by: Philip Withnall <philip tecnocode co uk>
tests/eds/Makefile.am | 2 -
tests/eds/add-persona.vala | 3 +-
tests/eds/avatar-details.vala | 3 +-
tests/eds/set-avatar.vala | 6 +++-
tests/folks/Makefile.am | 2 -
tests/folks/avatar-cache.vala | 2 +-
tests/lib/Makefile.am | 1 +
tests/lib/eds/test-case.vala | 2 +-
tests/lib/test-utils.vala | 38 +++++++++++++++++++++++++++
tests/lib/tracker/test-case.vala | 2 +-
tests/tracker/Makefile.am | 1 -
tests/tracker/add-persona.vala | 3 +-
tests/tracker/avatar-details-interface.vala | 3 +-
tests/tracker/set-avatar.vala | 3 +-
14 files changed, 56 insertions(+), 15 deletions(-)
---
diff --git a/tests/eds/Makefile.am b/tests/eds/Makefile.am
index d4697ba..6cef4ae 100644
--- a/tests/eds/Makefile.am
+++ b/tests/eds/Makefile.am
@@ -81,10 +81,8 @@ noinst_PROGRAMS = \
RUN_WITH_PRIVATE_BUS = $(top_srcdir)/tests/tools/with-session-bus-eds.sh
-avatar_file= abs_top_srcdir@/tests/data/avatar-01.jpg
TESTS_ENVIRONMENT = \
FOLKS_BACKEND_PATH=$(BACKEND_UNINST_PATH) \
- AVATAR_FILE_PATH=$(avatar_file) \
$(RUN_WITH_PRIVATE_BUS) \
--session \
--
diff --git a/tests/eds/add-persona.vala b/tests/eds/add-persona.vala
index 37f6ec4..60ca1b8 100644
--- a/tests/eds/add-persona.vala
+++ b/tests/eds/add-persona.vala
@@ -64,7 +64,8 @@ public class AddPersonaTests : EdsTest.TestCase
this._persona_fullname = "persona #1";
this._persona_nickname = "Jo";
this._email_1 = "someone-1 example org";
- this._avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ this._avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._im_addr_1 = "someone-1 jabber example org";
this._im_addr_2 = "someone-2 jabber example org";
this._phone_1 = "12345";
diff --git a/tests/eds/avatar-details.vala b/tests/eds/avatar-details.vala
index 0def5f3..7c90476 100644
--- a/tests/eds/avatar-details.vala
+++ b/tests/eds/avatar-details.vala
@@ -41,7 +41,8 @@ public class AvatarDetailsTests : EdsTest.TestCase
{
this._c1 = new Gee.HashMap<string, Value?> ();
this._main_loop = new GLib.MainLoop (null, false);
- this._avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ this._avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._avatars_are_equal = false;
Value? v;
diff --git a/tests/eds/set-avatar.vala b/tests/eds/set-avatar.vala
index 9b23bed..d70cbeb 100644
--- a/tests/eds/set-avatar.vala
+++ b/tests/eds/set-avatar.vala
@@ -43,7 +43,8 @@ public class SetAvatarTests : EdsTest.TestCase
{
Gee.HashMap<string, Value?> c1 = new Gee.HashMap<string, Value?> ();
this._main_loop = new GLib.MainLoop (null, false);
- var avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ var avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._avatar = new FileIcon (File.new_for_path (avatar_path));
Value? v;
@@ -152,7 +153,8 @@ public class SetAvatarTests : EdsTest.TestCase
{
var c1 = new Gee.HashMap<string, Value?> ();
this._main_loop = new GLib.MainLoop (null, false);
- var avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ var avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._avatar = new FileIcon (File.new_for_path (avatar_path));
Value? v;
diff --git a/tests/folks/Makefile.am b/tests/folks/Makefile.am
index ef1ab84..d21e978 100644
--- a/tests/folks/Makefile.am
+++ b/tests/folks/Makefile.am
@@ -63,10 +63,8 @@ noinst_PROGRAMS = \
init \
$(NULL)
-avatar_file= abs_top_srcdir@/tests/data/avatar-01.jpg
TESTS_ENVIRONMENT = \
FOLKS_BACKEND_PATH=$(BACKEND_UNINST_PATH) \
- AVATAR_FILE_PATH=$(avatar_file) \
$(top_srcdir)/tests/tools/execute-test.sh \
$(NULL)
diff --git a/tests/folks/avatar-cache.vala b/tests/folks/avatar-cache.vala
index d2f436e..c0f4808 100644
--- a/tests/folks/avatar-cache.vala
+++ b/tests/folks/avatar-cache.vala
@@ -59,7 +59,7 @@ public class AvatarCacheTests : Folks.TestCase
this._cache = AvatarCache.dup ();
this._avatar =
new FileIcon (File.new_for_path (
- Environment.get_variable ("AVATAR_FILE_PATH")));
+ Folks.TestUtils.get_source_test_data ("data/avatar-01.jpg")));
this._main_loop = new GLib.MainLoop (null, false);
}
diff --git a/tests/lib/Makefile.am b/tests/lib/Makefile.am
index 39bcd38..594101b 100644
--- a/tests/lib/Makefile.am
+++ b/tests/lib/Makefile.am
@@ -52,6 +52,7 @@ libfolks_test_la_CPPFLAGS = \
-DABS_TOP_SRCDIR=\"${abs_top_srcdir}\" \
-DABS_TOP_BUILDDIR=\"${abs_top_builddir}\" \
-DPKGLIBEXECDIR=\"${pkglibexecdir}\" \
+ -DPACKAGE_DATADIR=\"${pkgdatadir}\" \
$(NULL)
libfolks_test_la_LIBADD = \
diff --git a/tests/lib/eds/test-case.vala b/tests/lib/eds/test-case.vala
index a4796dc..456f46f 100644
--- a/tests/lib/eds/test-case.vala
+++ b/tests/lib/eds/test-case.vala
@@ -27,7 +27,7 @@
* for an Evolution address-book.
*
* FIXME: For now, this relies on running under with-session-bus-eds.sh
- * with AVATAR_FILE_PATH and FOLKS_BACKEND_PATH set.
+ * with FOLKS_BACKEND_PATH set.
*/
public class EdsTest.TestCase : Folks.TestCase
{
diff --git a/tests/lib/test-utils.vala b/tests/lib/test-utils.vala
index 493cf00..8878bd5 100644
--- a/tests/lib/test-utils.vala
+++ b/tests/lib/test-utils.vala
@@ -179,4 +179,42 @@ public class Folks.TestUtils
Process.check_exit_status (exit_status);
}
+
+ /**
+ * Return the path to a test file that is distributed in the source tarball
+ * and, if installed, is installed into ${pkgdatadir}/tests.
+ *
+ * @param filename A filename relative to ${top_srcdir}/tests
+ * or ${pkgdatadir}/tests (or equivalently, ${datadir}/folks/tests).
+ */
+ public static string get_source_test_data (string filename)
+ {
+ if (Environment.get_variable ("FOLKS_TESTS_INSTALLED") != null)
+ {
+ return BuildConf.PACKAGE_DATADIR + "/tests/" + filename;
+ }
+ else
+ {
+ return BuildConf.ABS_TOP_SRCDIR + "/tests/" + filename;
+ }
+ }
+
+ /**
+ * Return the path to a test file that is distributed in the source tarball
+ * and, if installed, is installed into ${pkgdatadir}/tests.
+ *
+ * @param filename A filename relative to ${top_builddir}/tests
+ * or ${pkgdatadir}/tests (or equivalently, ${datadir}/folks/tests).
+ */
+ public static string get_built_test_data (string filename)
+ {
+ if (Environment.get_variable ("FOLKS_TESTS_INSTALLED") != null)
+ {
+ return BuildConf.PACKAGE_DATADIR + "/tests/" + filename;
+ }
+ else
+ {
+ return BuildConf.ABS_TOP_BUILDDIR + "/tests/" + filename;
+ }
+ }
}
diff --git a/tests/lib/tracker/test-case.vala b/tests/lib/tracker/test-case.vala
index 6fd719f..3a1acd3 100644
--- a/tests/lib/tracker/test-case.vala
+++ b/tests/lib/tracker/test-case.vala
@@ -27,7 +27,7 @@
* and no other backends.
*
* FIXME: For now, this relies on running under with-session-bus-tracker.sh
- * with AVATAR_FILE_PATH and FOLKS_BACKEND_PATH set.
+ * with FOLKS_BACKEND_PATH set.
*/
public class TrackerTest.TestCase : Folks.TestCase
{
diff --git a/tests/tracker/Makefile.am b/tests/tracker/Makefile.am
index 9b0c388..c5524c5 100644
--- a/tests/tracker/Makefile.am
+++ b/tests/tracker/Makefile.am
@@ -107,7 +107,6 @@ noinst_PROGRAMS = \
avatar_file= abs_top_srcdir@/tests/data/avatar-01.jpg
TESTS_ENVIRONMENT = \
FOLKS_BACKEND_PATH=$(BACKEND_UNINST_PATH) \
- AVATAR_FILE_PATH=$(avatar_file) \
$(RUN_WITH_PRIVATE_BUS) \
--session \
--
diff --git a/tests/tracker/add-persona.vala b/tests/tracker/add-persona.vala
index d90536e..4e81260 100644
--- a/tests/tracker/add-persona.vala
+++ b/tests/tracker/add-persona.vala
@@ -74,7 +74,8 @@ public class AddPersonaTests : TrackerTest.TestCase
this._family_name = "family";
this._given_name = "given";
this._persona_iid = "";
- var _avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ var _avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._avatar = new FileIcon (File.new_for_path (_avatar_path));
this._birthday = "2001-10-26T20:32:52Z";
this._email_1 = "someone-1 example org";
diff --git a/tests/tracker/avatar-details-interface.vala b/tests/tracker/avatar-details-interface.vala
index 52833c3..3d0ba69 100644
--- a/tests/tracker/avatar-details-interface.vala
+++ b/tests/tracker/avatar-details-interface.vala
@@ -42,7 +42,8 @@ public class AvatarDetailsInterfaceTests : TrackerTest.TestCase
{
this._main_loop = new GLib.MainLoop (null, false);
Gee.HashMap<string, string> c1 = new Gee.HashMap<string, string> ();
- string avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ var avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
var temp_file = GLib.File.new_for_path (avatar_path);
var full_avatar_path = temp_file.get_path ();
this._avatar_uri = "file://" + full_avatar_path;
diff --git a/tests/tracker/set-avatar.vala b/tests/tracker/set-avatar.vala
index 25c5b1c..4f6220b 100644
--- a/tests/tracker/set-avatar.vala
+++ b/tests/tracker/set-avatar.vala
@@ -43,7 +43,8 @@ public class SetAvatarTests : TrackerTest.TestCase
this._main_loop = new GLib.MainLoop (null, false);
Gee.HashMap<string, string> c1 = new Gee.HashMap<string, string> ();
this._persona_fullname = "persona #1";
- var _avatar_path = Environment.get_variable ("AVATAR_FILE_PATH");
+ var _avatar_path = Folks.TestUtils.get_source_test_data (
+ "data/avatar-01.jpg");
this._avatar = new FileIcon (File.new_for_path (_avatar_path));
c1.set (Trf.OntologyDefs.NCO_FULLNAME, this._persona_fullname);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]