From: Stephen Kitt Date: Mon, 11 Mar 2024 07:21:47 +0000 (+0100) Subject: tests: force non-deterministic mode in non-deterministic tests X-Git-Tag: gdb-15-branchpoint~761 X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=64e215c15bc316f673161c76db93a50bda45666a;hp=5790996072837620a8fd3756dda5138eb2f2781b tests: force non-deterministic mode in non-deterministic tests Since ar can be built defaulting to deterministic mode, tests which expect non-deterministic behaviour need to explicitly set the U flag. The non-deterministic member test expects SOURCE_DATE_EPOCH to not be set; this documents that. Unconditionally unsetting the variable causes issues in test infrastructure (which expects unsetenv to only be called on variables which are already set). Signed-off-by: Stephen Kitt --- diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp index d4e4f64b42e..998cbe1f0a9 100644 --- a/binutils/testsuite/binutils-all/ar.exp +++ b/binutils/testsuite/binutils-all/ar.exp @@ -538,6 +538,7 @@ proc replacing_deterministic_member { } { } # Test replacing a member of a non-deterministic archive. +# This test expects SOURCE_DATE_EPOCH to not be set in the environment. proc replacing_non_deterministic_member { } { global AR @@ -581,7 +582,7 @@ proc replacing_non_deterministic_member { } { # Build the archive with the *newer* object file. - set got [binutils_run $AR "rc $archive ${newer_objfile}"] + set got [binutils_run $AR "rcU $archive ${newer_objfile}"] if ![string match "" $got] { fail "$testname: (could not build archive)" return @@ -589,7 +590,7 @@ proc replacing_non_deterministic_member { } { # Now try to replace the newer file with the older one. This should not work. - set got [binutils_run $AR "ru $archive $older_objfile"] + set got [binutils_run $AR "ruU $archive $older_objfile"] if ![string match "" $got] { fail "$testname: (failed to replace file)" return @@ -651,7 +652,7 @@ proc replacing_sde_deterministic_member { } { # Build the archive with the *newer* object file. setenv SOURCE_DATE_EPOCH "1000" - set got [binutils_run $AR "rc $archive ${newer_objfile}"] + set got [binutils_run $AR "rcU $archive ${newer_objfile}"] if ![string match "" $got] { fail "$testname: (could not build archive)" unsetenv SOURCE_DATE_EPOCH @@ -662,7 +663,7 @@ proc replacing_sde_deterministic_member { } { # archive this will not work, but one created to be deterministic # should always replace its members. - set got [binutils_run $AR "ru $archive $older_objfile"] + set got [binutils_run $AR "ruU $archive $older_objfile"] if ![string match "" $got] { fail "$testname: (failed to replace file)" unsetenv SOURCE_DATE_EPOCH