After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 723790 - Ensure current version of gexiv2 is installed when running "make tests"
Ensure current version of gexiv2 is installed when running "make tests"
Status: RESOLVED FIXED
Product: gexiv2
Classification: Other
Component: build
0.9.x
Other Linux
: Normal normal
: ---
Assigned To: Gexiv2 Maintainers
Gexiv2 Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-02-06 19:27 UTC by Jim Nelson
Modified: 2017-03-20 11:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
suggested patch (470 bytes, patch)
2017-03-09 15:51 UTC, Matěj Cepl
none Details | Review
slightly less pathetic attempt (467 bytes, patch)
2017-03-09 15:58 UTC, Matěj Cepl
none Details | Review
python: Require GExiv2 version (758 bytes, patch)
2017-03-11 13:30 UTC, Jens Georg
none Details | Review
test: Run with autotools testrunner (6.61 KB, patch)
2017-03-11 13:30 UTC, Jens Georg
none Details | Review
test: Run with autotools testrunner (6.72 KB, patch)
2017-03-11 14:03 UTC, Jens Georg
none Details | Review
rebased patch on top of 0.10.4 (23.04 KB, patch)
2017-03-16 16:26 UTC, Matěj Cepl
none Details | Review
rebased patch on top of 0.10.4 (43.14 KB, patch)
2017-03-16 18:37 UTC, Matěj Cepl
none Details | Review
build.log from the failed attempt (34.98 KB, text/plain)
2017-03-16 18:37 UTC, Matěj Cepl
  Details

Description Jim Nelson 2014-02-06 19:27:38 UTC
"make tests" requires gexiv2 be installed before compiling.  Like "make vapi", we should run a check and report an error if not available.
Comment 1 Jens Georg 2016-04-27 12:00:45 UTC
make check should run against the compiled version, this should be doable with the current autotool's testrunners.
Comment 2 Matěj Cepl 2017-03-09 10:32:55 UTC
Any idea of some workaround? Environmental variables, LD_PRELOAD, something? I would like to run make tests in QA tests.
Comment 3 Jens Georg 2017-03-09 10:46:58 UTC
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)
Comment 4 Matěj Cepl 2017-03-09 15:51:41 UTC
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).
Comment 5 Matěj Cepl 2017-03-09 15:58:23 UTC
Created attachment 347566 [details] [review]
slightly less pathetic attempt
Comment 6 Jens Georg 2017-03-11 11:47:35 UTC
Actually, gexiv2-dump isn't a "real" test, it's more of a tool.
Comment 7 Jens Georg 2017-03-11 13:30:27 UTC
Created attachment 347702 [details] [review]
python: Require GExiv2 version

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 8 Jens Georg 2017-03-11 13:30:48 UTC
Created attachment 347704 [details] [review]
test: Run with autotools testrunner

Signed-off-by: Jens Georg <mail@jensge.org>
Comment 9 Jens Georg 2017-03-11 13:31:45 UTC
Can you check those two patches?
Comment 10 Jens Georg 2017-03-11 14:03:33 UTC
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
Comment 11 Jens Georg 2017-03-12 11:53:32 UTC
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.
Comment 12 Matěj Cepl 2017-03-16 16:26:19 UTC
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
Comment 13 Matěj Cepl 2017-03-16 18:37:20 UTC
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.
Comment 14 Matěj Cepl 2017-03-16 18:37:50 UTC
Created attachment 348113 [details]
build.log from the failed attempt
Comment 15 Jens Georg 2017-03-16 18:59:48 UTC
Yes. Because you also backported the test for a bugfix that is not in 0.10.4 :)
Comment 16 Matěj Cepl 2017-03-16 19:53:07 UTC
(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?
Comment 17 Matěj Cepl 2017-03-16 19:53:31 UTC
but why does it crash?
Comment 18 Jens Georg 2017-03-16 20:08:42 UTC
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.