Opened 6 years ago

Closed 5 years ago

#427 closed Bug / Defect (fixed)

make check doesn't play nicely with automake 1.12 and up

Reported by: Gert Döring Owned by: Gert Döring
Priority: major Milestone: release 2.3.7
Component: Building / Compiling Version: OpenVPN git master branch (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc: Samuli Seppänen, David Sommerseth, Steffan Karger

Description

automake 1.12 brought the nice feature of "hiding" all output from "make check" scripts in, for example, t_client.sh.log - which is nice and dandy if you're not interested in the output, but our stuff already reports only those bits that you want to see, and the details are in individual log files.

There is some provision to run your own "test driver" scripts, but someone needs to go and implement that - or we need to take care to do the package building ("autoreconf" "make dist") on a system with 1.11 max.

cc'ing mattock, package builder and buildbot wrangler...

Change History (9)

comment:1 Changed 5 years ago by Gert Döring

Milestone: release 2.3.7

Whee, we even have an open trac bug on this :-)

Proposal has been sent to the list on http://article.gmane.org/gmane.network.openvpn.devel/9738 and is actually dirt simple:

diff --git a/tests/Makefile.am b/tests/Makefile.am
index b7980e0..02fa392 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -9,6 +9,8 @@

# Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@…>
#

+AUTOMAKE_OPTIONS = serial-tests
+

MAINTAINERCLEANFILES = \

$(srcdir)/Makefile.in

... syzzer already added a "want!" to it, nobody spoke up against it (yet?), so I'll send a patch ASAP.

comment:2 Changed 5 years ago by Gert Döring

Resolution: fixed
Status: newclosed

commit fc03ca9d13e35c40bdf1c3c676db2adf48c60223 (master)
commit c196ea922755bb25f9837080d562ef4d3495999f (release/2.3)

Author: Gert Doering <gert@…>
Date: Wed May 27 20:31:38 2015 +0200

Enforce "serial-tests" behaviour for tests/Makefile

comment:3 Changed 5 years ago by Gert Döring

Cc: David Sommerseth Steffan Karger added
Resolution: fixed
Status: closedreopened

reopen, because the fix does not work - well, it does work perfectly if you happen to have a sufficiently new automake so it's necessary, but if you have an older version, it will just blow up ("unrecognized option"), and there does not seem to be a way to tell it "use this option if you understand it, and do not bother otherwise".

Plus, I cannot find a way to just pass the option to "autoreconf -vif" on those systems where I know I need it (so I could at least have it here) - on my Gentoo build system, what I can do is install automake-1.11 in parallel and set WANT_AUTOMAKE=1.11 in the build environment (because /usr/bin/automake is a wrapper that looks at this), and on FreeBSD, set AUTOMAKE_VERSION=1.11 (wrapper, but different)...

How to do that on the linuxish buildbots, I'll leave to mattock...

(I am very frustrated by this - this is so much more complicated than needed that I wonder if using automake for tests/ is actually beneficial or just problematic...)

comment:4 Changed 5 years ago by Samuli Seppänen

I'm not sure if you considered this, but can't we just check automake version in the Makefile itself and set AUTOMAKE_OPTIONS accordingly?

comment:5 Changed 5 years ago by Gert Döring

"too late" - this option is relevant when building tests/Makefile.in from tests/Makefile.am, anything happening afterwards is "too late" because the problematic code has already been put into Makefile.in

unfortunately, automake also refuses to conditionalize AUTOMAKE_OPTIONS (there is an explicit check!) - and there is no condition depending on the automake version anyway.

comment:7 Changed 5 years ago by Gert Döring

After thinking about this for a while, the approach used by libguestfs sounds workable. Discuss at meeting, then merge...

comment:8 Changed 5 years ago by Gert Döring

We decided to go for the libguestfs approach (thanks :) ).

And did very well test this on about everything before committing...!

commit c615835aa93701c764c23fc2579d97757c1a9970 (master)
commit d378850ab70af4c967d099627f0a19ad42ecbdcb (release/2.3)

Author: Gert Doering
Date: Mon Jun 1 21:04:47 2015 +0200

Use configure.ac hack to apply serial_test AM option only if supported.

Signed-off-by: Gert Doering <gert@…>
Acked-by: David Sommerseth <davids@…>
Message-Id: <1433185487-9724-1-git-send-email-gert@…>
URL: http://article.gmane.org/gmane.network.openvpn.devel/9769

comment:9 Changed 5 years ago by Gert Döring

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.