forked from pool/dejagnu
Accepting request 903260 from home:Andreas_Schwab:Factory
- testsuite-legacy.patch: support deprecated legacy uses of dejagnu OBS-URL: https://build.opensuse.org/request/show/903260 OBS-URL: https://build.opensuse.org/package/show/devel:tools/dejagnu?expand=0&rev=33
This commit is contained in:
parent
9b308c99d7
commit
05b4bb2ba1
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 30 13:28:31 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- testsuite-legacy.patch: support deprecated legacy uses of dejagnu
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 21 08:10:02 UTC 2021 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
|
@ -27,6 +27,7 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
|
||||
Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig
|
||||
Source2: https://savannah.gnu.org/project/release-gpgkeys.php?group=dejagnu&download=1#/%{name}.keyring
|
||||
Source3: site.exp
|
||||
Patch0: testsuite-legacy.patch
|
||||
BuildRequires: expect
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
@ -65,6 +66,7 @@ suites themselves.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
# 49078@debbugs.gnu.org: bug in Expect 5.45.4 triggers a testsuite failure
|
||||
|
50
testsuite-legacy.patch
Normal file
50
testsuite-legacy.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From: Jacob Bachmeyer <jcb62281@gmail.com>
|
||||
Subject: bug#49250: dejagnu 1.6.3 breaks automake 1.16.3 testsuite
|
||||
Date: Tue, 29 Jun 2021 23:49:09 -0500
|
||||
|
||||
The Automake tests are using a legacy layout that does not meet a
|
||||
long-documented requirement.
|
||||
|
||||
The DejaGnu manual has for years (including all available revision
|
||||
history) stated that a DejaGnu testsuite is required to be in a
|
||||
directory tree named "testsuite" at its root. Previous versions of
|
||||
DejaGnu did not actually care, but this led to an ambiguity that made
|
||||
integrating DejaGnu with non-recursive Automake build systems very
|
||||
difficult. This caused significant difficulties with DejaGnu's own
|
||||
testsuite, and fixing it was needed to actually run the DejaGnu
|
||||
testsuite properly.
|
||||
|
||||
The simple fix is to move the DejaGnu testsuites in the Automake test
|
||||
cases into "testsuite" directories, but this causes the tests to fail
|
||||
with older versions of DejaGnu. This broken legacy case is deprecated
|
||||
in 1.6.3 but still supposed to be supported, even though the manual has
|
||||
always said that DejaGnu testsuites are required to be in testsuite/
|
||||
directories.
|
||||
|
||||
The code that detects this legacy case was written to match conditions
|
||||
observed with DejaGnu's own testsuite, with an older version of Automake
|
||||
in use at that time. As a result, that code branch fails to catch the
|
||||
situations in the Automake 1.16.3 testsuite and DejaGnu falls back to a
|
||||
"deep legacy" mode in which some features do not work. One of the
|
||||
features that does not work in this mode is limiting testing to a single
|
||||
tool at a time; this appears to cause most of the failures.
|
||||
|
||||
|
||||
An experimental patch is attached.
|
||||
|
||||
|
||||
|
||||
-- Jacob
|
||||
|
||||
diff -urN -x '*~' dejagnu-1.6.3/runtest.exp dejagnu-1.6.3-patch/runtest.exp
|
||||
--- dejagnu-1.6.3/runtest.exp 2021-06-16 21:15:25.000000000 -0500
|
||||
+++ dejagnu-1.6.3-patch/runtest.exp 2021-06-29 21:41:28.735667904 -0500
|
||||
@@ -741,7 +741,7 @@
|
||||
set testsuitedir $base_dir
|
||||
set testbuilddir $base_dir
|
||||
} else {
|
||||
- if { $testsuitedir eq "testsuite" && $srcdir eq "." && $objdir eq "." } {
|
||||
+ if { $testsuitedir eq "testsuite" && $testbuilddir eq "testsuite" } {
|
||||
# Broken legacy case -- testsuite not actually in testsuite/
|
||||
# Produce a warning, but continue.
|
||||
send_error "WARNING: testsuite is not in a testsuite/ directory.\n"
|
Loading…
Reference in New Issue
Block a user