diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-07-21 17:58:05 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-10-31 00:26:33 +0000 |
commit | 52e6404590f0a8824cf5f9522a2dc3151c2af9f3 (patch) | |
tree | e4ec826064680c1e7fa867ce6314273335d2f58c /t | |
parent | 073b1fe85068620eb6c06432b1be13c40394a177 (diff) | |
download | automake-52e6404590f0a8824cf5f9522a2dc3151c2af9f3.tar.gz |
automake: account for perl hash order randomization
Try to explicitly order the keys of some perl hashes when looping
on them to do sanity/correctness checks and possibly display warning
messages; this should ensure a more reproducible output. Not really
a big deal, but I prefer to keep the order of such output reproducible
if possible.
Issue revealed by spurious testsuite failures with perl 5.18, as
reported in automake bug#14891. See also:
<http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
<http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
* lib/Automake/Variable.pm (variables): Explicitly order the values of
the returned Automake::Variable instances.
(variables_dump): Simplify, using the knowledge that 'variables()' now
sorts its output.
* t/preproc-errmsg.sh: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't')
-rw-r--r-- | t/preproc-errmsg.sh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/t/preproc-errmsg.sh b/t/preproc-errmsg.sh index 704562dcd..87bcf8161 100644 --- a/t/preproc-errmsg.sh +++ b/t/preproc-errmsg.sh @@ -58,11 +58,11 @@ Makefile.am:2: 'sub/local.mk' included from here sub/local.mk:3: 'sub-two.a' is not a standard library name sub/local.mk:3: did you mean 'libsub-two.a'? Makefile.am:2: 'sub/local.mk' included from here -Makefile.am:1: variable 'x1_SOURCES' is defined but no program or -Makefile.am:1: library has 'x1' as canonical name (possible typo) sub/local.mk:4: variable 'sub_x2_SOURCES' is defined but no program or sub/local.mk:4: library has 'sub_x2' as canonical name (possible typo) Makefile.am:2: 'sub/local.mk' included from here +Makefile.am:1: variable 'x1_SOURCES' is defined but no program or +Makefile.am:1: library has 'x1' as canonical name (possible typo) END # We need to break these substitutions into multiple sed invocations |