diff --git a/.gitignore b/.gitignore index 23ac5c8..55732ea 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /libmediaart-0.4.0.tar.xz /libmediaart-0.6.0.tar.xz /libmediaart-0.7.0.tar.xz +/libmediaart-1.9.0.tar.xz diff --git a/0001-tests-Make-mediarttest-work-as-both-installed-and-bu.patch b/0001-tests-Make-mediarttest-work-as-both-installed-and-bu.patch new file mode 100644 index 0000000..39cf5af --- /dev/null +++ b/0001-tests-Make-mediarttest-work-as-both-installed-and-bu.patch @@ -0,0 +1,101 @@ +From 00d577a74fd97af66a81a42020b70240dac43c19 Mon Sep 17 00:00:00 2001 +From: Yanko Kaneti +Date: Thu, 13 Nov 2014 11:34:33 +0200 +Subject: [PATCH 1/2] tests: Make mediarttest work as both installed and built + test + +--- + tests/Makefile.am | 11 +++-------- + tests/mediaarttest.c | 13 +++++++------ + 2 files changed, 10 insertions(+), 14 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 152887a..90aad3f 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -1,12 +1,11 @@ + include $(top_srcdir)/Makefile.decl + +-noinst_PROGRAMS += $(test_programs) +- + test_programs = mediaarttest ++dist_test_data = \ ++ 543249_King-Kilo---Radium.mp3 \ ++ cover.png + + AM_CPPFLAGS = \ +- -DTOP_SRCDIR=\"$(abs_top_srcdir)\" \ +- -DTOP_BUILDDIR=\"$(abs_top_builddir)\" \ + $(BUILD_CFLAGS) \ + -I$(top_srcdir) \ + $(LIBMEDIAART_CFLAGS) +@@ -17,7 +16,3 @@ LDADD = \ + $(LIBMEDIAART_LIBS) + + mediaarttest_SOURCES = mediaarttest.c +- +-EXTRA_DIST += \ +- 543249_King-Kilo---Radium.mp3 \ +- cover.png +diff --git a/tests/mediaarttest.c b/tests/mediaarttest.c +index ff22991..696b6de 100644 +--- a/tests/mediaarttest.c ++++ b/tests/mediaarttest.c +@@ -269,7 +269,7 @@ test_mediaart_process_file (void) + GFile *file = NULL; + gchar *path; + +- path = g_build_filename (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "543249_King-Kilo---Radium.mp3", NULL); ++ path = g_test_build_filename (G_TEST_DIST, "543249_King-Kilo---Radium.mp3", NULL); + file = g_file_new_for_path (path); + g_free (path); + +@@ -315,7 +315,7 @@ test_mediaart_process_buffer_cb (GObject *source_object, + g_assert_true (success); + + /* Check cache exists */ +- path = g_build_filename (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "cover.png", NULL); ++ path = g_test_build_filename (G_TEST_DIST, "cover.png", NULL); + file = g_file_new_for_path (path); + + media_art_get_path ("Lanedo", /* artist / title */ +@@ -361,7 +361,7 @@ test_mediaart_process_buffer (void) + + cancellable = g_cancellable_new (); + +- path = g_build_filename (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "cover.png", NULL); ++ path = g_test_build_filename (G_TEST_DIST, "cover.png", NULL); + + /* Check data is not cached currently */ + media_art_get_path ("Lanedo", /* artist / title */ +@@ -497,16 +497,16 @@ int + main (int argc, char **argv) + { + const gchar *cache_home_originally; +- const gchar *test_dir; ++ const gchar *temp_cache_dir; + gchar *dir; + gint success; + gint i; + + g_test_init (&argc, &argv, NULL); + +- test_dir = g_test_get_dir (G_TEST_BUILT); ++ temp_cache_dir = g_dir_make_tmp ("libmediaart-tests-XXXXXX", NULL); + cache_home_originally = g_getenv ("XDG_CACHE_HOME"); +- g_setenv ("XDG_CACHE_HOME", test_dir, TRUE); ++ g_setenv ("XDG_CACHE_HOME", temp_cache_dir, TRUE); + + for (i = 0; strip_test_cases[i].test_name; i++) { + gchar *testpath; +@@ -547,6 +547,7 @@ main (int argc, char **argv) + } else { + g_unsetenv ("XDG_CACHE_HOME"); + } ++ g_rmdir (temp_cache_dir); + + return success; + } +-- +2.1.0 + diff --git a/0002-tests-No-new-temporary-cache-directories-for-subproc.patch b/0002-tests-No-new-temporary-cache-directories-for-subproc.patch new file mode 100644 index 0000000..ff80a3d --- /dev/null +++ b/0002-tests-No-new-temporary-cache-directories-for-subproc.patch @@ -0,0 +1,53 @@ +From 2664fa72d671c6b15a4e1924272c29179d900025 Mon Sep 17 00:00:00 2001 +From: Yanko Kaneti +Date: Thu, 13 Nov 2014 14:07:29 +0200 +Subject: [PATCH 2/2] tests: No new temporary cache directories for subprocess + tests + +Otherwise subprocess tests that assert by design leave those behind +--- + tests/mediaarttest.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/tests/mediaarttest.c b/tests/mediaarttest.c +index 696b6de..cef36c2 100644 +--- a/tests/mediaarttest.c ++++ b/tests/mediaarttest.c +@@ -496,17 +496,21 @@ test_mediaart_process_failures_subprocess (void) + int + main (int argc, char **argv) + { +- const gchar *cache_home_originally; +- const gchar *temp_cache_dir; ++ const gchar *cache_home_originally = NULL; ++ gchar *temp_cache_dir; + gchar *dir; + gint success; + gint i; + + g_test_init (&argc, &argv, NULL); + +- temp_cache_dir = g_dir_make_tmp ("libmediaart-tests-XXXXXX", NULL); +- cache_home_originally = g_getenv ("XDG_CACHE_HOME"); +- g_setenv ("XDG_CACHE_HOME", temp_cache_dir, TRUE); ++ if (!g_test_subprocess ()) { ++ temp_cache_dir = g_dir_make_tmp ("libmediaart-tests-XXXXXX", NULL); ++ cache_home_originally = g_getenv ("XDG_CACHE_HOME"); ++ g_setenv ("XDG_CACHE_HOME", temp_cache_dir, TRUE); ++ } else { ++ temp_cache_dir = g_strdup (g_get_user_cache_dir ()); ++ } + + for (i = 0; strip_test_cases[i].test_name; i++) { + gchar *testpath; +@@ -548,6 +552,7 @@ main (int argc, char **argv) + g_unsetenv ("XDG_CACHE_HOME"); + } + g_rmdir (temp_cache_dir); ++ g_free (temp_cache_dir); + + return success; + } +-- +2.1.0 + diff --git a/libmediaart.spec b/libmediaart.spec index 621f252..46f0195 100644 --- a/libmediaart.spec +++ b/libmediaart.spec @@ -1,5 +1,5 @@ Name: libmediaart -Version: 0.7.0 +Version: 1.9.0 Release: 1%{?dist} Summary: Library for managing media art caches @@ -7,9 +7,13 @@ License: LGPLv2+ URL: https://github.com/curlybeast/libmediaart Source0: https://download.gnome.org/sources/%{name}/0.7/%{name}-%{version}.tar.xz +Patch1: 0001-tests-Make-mediarttest-work-as-both-installed-and-bu.patch +Patch2: 0002-tests-No-new-temporary-cache-directories-for-subproc.patch + BuildRequires: pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: vala-tools vala-devel +BuildRequires: xorg-x11-server-Xvfb dbus-x11 %description @@ -24,15 +28,26 @@ Requires: %{name}%{?_isa} = %{version}-%{release} The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%package tests +Summary: Tests for the %{name} package +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. %prep %setup -q +%autopatch -p1 +autoreconf -f %build %configure --disable-static \ --enable-gdkpixbuf \ - --disable-qt + --disable-qt \ + --enable-installed-tests make %{?_smp_mflags} @@ -40,9 +55,8 @@ make %{?_smp_mflags} %make_install find $RPM_BUILD_ROOT -name '*.la' -delete -print -#check -# requires X -#make check +%check +xvfb-run make check %post -p /sbin/ldconfig @@ -51,19 +65,30 @@ find $RPM_BUILD_ROOT -name '*.la' -delete -print %files %doc AUTHORS COPYING.LESSER NEWS -%{_libdir}/libmediaart-1.0.so.* -%{_libdir}/girepository-1.0/MediaArt-1.0.typelib +%{_libdir}/libmediaart-2.0.so.* +%{_libdir}/girepository-1.0/MediaArt-2.0.typelib %files devel -%{_includedir}/libmediaart-1.0 -%{_libdir}/libmediaart-1.0.so -%{_libdir}/pkgconfig/libmediaart-1.0.pc -%{_datadir}/gir-1.0/MediaArt-1.0.gir +%{_includedir}/libmediaart-2.0 +%{_libdir}/libmediaart-2.0.so +%{_libdir}/pkgconfig/libmediaart-2.0.pc +%{_datadir}/gir-1.0/MediaArt-2.0.gir %{_datadir}/gtk-doc/html/libmediaart -%{_datadir}/vala/vapi/libmediaart-1.0.vapi +%{_datadir}/vala/vapi/libmediaart-2.0.vapi + +%files tests +%{_libexecdir}/installed-tests/libmediaart +%{_datadir}/installed-tests %changelog +* Tue Jan 20 2015 Yanko Kaneti - 1.9.0 +- Update to libmediart-2.0 +- Run tests + +* Fri Dec 19 2014 Vadim Rutkovsky +- Build and package installed tests (Vadim Rutkovsky) (bug 1163431) + * Mon Sep 22 2014 Yanko Kaneti - 0.7.0-1 - Update to 0.7.0 diff --git a/sources b/sources index 11e380c..e0eddaa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1a44933d4cd0064e3c76d8d0ddacddc9 libmediaart-0.7.0.tar.xz +0b65d64398d2f3dff89534c9dfffab4f libmediaart-1.9.0.tar.xz