GNOME Bugzilla – Bug 723790
Ensure current version of gexiv2 is installed when running "make tests"
Last modified: 2017-03-20 11:17:36 UTC
"make tests" requires gexiv2 be installed before compiling. Like "make vapi", we should run a check and report an error if not available.
make check should run against the compiled version, this should be doable with the current autotool's testrunners.
Any idea of some workaround? Environmental variables, LD_PRELOAD, something? I would like to run make tests in QA tests.
I will copy the stuff we do in GUPnP which works perfectly fine without installing ( e.g. https://git.gnome.org/browse/gupnp/tree/tests/gtest/Makefile.am#n1)
Created attachment 347565 [details] [review] suggested patch Tried this, but obviously I need to add something to configure.ac as well (and remove `tests` part).
Created attachment 347566 [details] [review] slightly less pathetic attempt
Actually, gexiv2-dump isn't a "real" test, it's more of a tool.
Created attachment 347702 [details] [review] python: Require GExiv2 version Signed-off-by: Jens Georg <mail@jensge.org>
Created attachment 347704 [details] [review] test: Run with autotools testrunner Signed-off-by: Jens Georg <mail@jensge.org>
Can you check those two patches?
Created attachment 347705 [details] [review] test: Run with autotools testrunner Signed-off-by: Jens Georg <mail@jensge.org> https://bugzilla.gnome.org/show_bug.cgi?id=723790
I've reworked the test handling to use autotools testrunner foo, also ported the test in python to C so they can run all the time, even if there's no python.
Created attachment 348102 [details] [review] rebased patch on top of 0.10.4 I have tried to put the top of the master branch on top of 0.10.4, but autoreconf fails with (and with automake 1.15 and we would need to be compatible even with 1.13.4): matej@mitmanek: gexiv2-0.10.4 (rhel-7.4 +%)$ autoreconf -s -i -f -v autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: running: libtoolize --force libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: linking file 'build-aux/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: linking file 'm4/libtool.m4' libtoolize: linking file 'm4/ltoptions.m4' libtoolize: linking file 'm4/ltsugar.m4' libtoolize: linking file 'm4/ltversion.m4' libtoolize: linking file 'm4/lt~obsolete.m4' autoreconf: running: /usr/bin/autoconf --force autoreconf: configure.ac: not using Autoheader autoreconf: running: automake --add-missing --force-missing configure.ac:23: installing 'build-aux/compile' configure.ac:12: installing 'build-aux/missing' Makefile.am:149: error: cannot apply '+=' because 'CLEANFILES' is not defined in Makefile.am:149: the following conditions: Makefile.am:149: !ENABLE_VAPIGEN and HAVE_INTROSPECTION Makefile.am:149: either define 'CLEANFILES' in these conditions, or use Makefile.am:149: '+=' in the same conditions as the definitions. Makefile.am: installing 'build-aux/depcomp' parallel-tests: installing 'build-aux/test-driver' autoreconf: automake failed with exit status: 1
Created attachment 348112 [details] [review] rebased patch on top of 0.10.4 Fixed patch to actually really reflect the current master, so it builds correctly now, but fails in make check.
Created attachment 348113 [details] build.log from the failed attempt
Yes. Because you also backported the test for a bugfix that is not in 0.10.4 :)
(In reply to Jens Georg from comment #15) > Yes. Because you also backported the test for a bugfix that is not in 0.10.4 > :) Oh cool. So, I should just agree that the longitude is positive and let it be?
but why does it crash?
That's normal. it aborts when an assertion fails and then dumps core. You can just remove the test_gps_coordinates test from gexiv2.py and test_bgo_775249 in the c tester.