bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11256: make check problems with coreutils 8.16 and earlier


From: Jim Meyering
Subject: bug#11256: make check problems with coreutils 8.16 and earlier
Date: Tue, 08 May 2012 11:55:05 +0200

Pádraig Brady wrote:
> On 05/08/2012 10:02 AM, Jim Meyering wrote:
>> diff --git a/tests/init.sh b/tests/init.sh
>> index ae86714..d5cd294 100644
>> --- a/tests/init.sh
>> +++ b/tests/init.sh
>> @@ -207,6 +207,9 @@ else
>>    fi
>>  fi
>>
>> +# If this is bash, turn off all aliases.
>> +test -n "$BASH_VERSION" && unalias -a
>> +
>>  test -n "$EXEEXT" && shopt -s expand_aliases
>
> Looks good.

Thanks for the review.

> I was surprised to see that aliases are significant
> (due to the expand_aliases above).
> Why are aliases needed rather than using shell functions for example?

That deserves a comment, which I'm about to add.

The gnulib commit that introduced that shopt/expand_aliases use

  87e7216daf261421a6acb43115812cccefd5dc5d

mentioned a problem with names like test-prog (note the hyphen)
because prior to that change we were using functions to support
the PROG_NAME-to-PROG_NAME.exe mapping required for transparent
EXEEXT support.

Simon reported a test failure due to the first test-PROG name,
test-acos, which prompted this thread where Ralf Wildenhues
suggested to use aliases instead:

  http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20648/focus=20676

==================================================
Here's the proposed comment-adding patch:

>From 98d01cdfdb2f966fa7aaf9facfaaac0a4c5a3fe0 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Tue, 8 May 2012 11:54:26 +0200
Subject: [PATCH] init.sh: explain why EXEEXT support uses aliases rather than
 functions

* tests/init.sh: Add a comment.
---
 ChangeLog     | 3 +++
 tests/init.sh | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 268fbe5..e202346 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-05-08  Jim Meyering  <address@hidden>

+       init.sh: explain why EXEEXT support uses aliases rather than functions
+       * tests/init.sh: Add a comment.
+
        init.sh: don't let bash aliases interfere with tests
        * tests/init.sh: Undefine any pre-defined aliases if the selected shell
        is bash.  This avoids problems for those who alias standard commands to
diff --git a/tests/init.sh b/tests/init.sh
index d5cd294..f525a7c 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -210,6 +210,11 @@ fi
 # If this is bash, turn off all aliases.
 test -n "$BASH_VERSION" && unalias -a

+# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
+# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
+# That is part of the shell-selection test above.  Why use aliases rather
+# than functions?  Because support for hyphen-containing aliases is more
+# widespread than that for hyphen-containing function names.
 test -n "$EXEEXT" && shopt -s expand_aliases

 # Enable glibc's malloc-perturbing option.
--
1.7.10.1.487.ga3935e6





reply via email to

[Prev in Thread] Current Thread [Next in Thread]