Bug 9901 - Testsuite assumes SHELL is set and fails if not
Summary: Testsuite assumes SHELL is set and fails if not
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Ulrich Drepper
Depends on:
Reported: 2009-02-25 16:57 UTC by Loïc Minier
Modified: 2014-07-01 20:46 UTC (History)
1 user (show)

See Also:
Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
Build: x86_64-linux-gnu
Last reconfirmed:
fweimer: security-


Note You need to log in before you can comment on or make changes to this bug.
Description Loïc Minier 2009-02-25 16:57:33 UTC

env -i make check fails with:
Testing ASCIItst-table.sh:38: command not found: tst-table-charmap.sh

while make check works.

This is due to the assumption SHELL is set:
    <original env>: SHELL unset
        $(MAKE) check: SHELL defined by make
            $(SHELL) tst-tables.sh: SHELL is a regular var, not env
                $(SHELL) tst-table.sh: SHELL unset (new shell)
                    $(SHELL) tst-table-charmap.sh: fails

This patch against CVS fixes it:
Index: iconvdata/tst-tables.sh
RCS file: /cvs/glibc/libc/iconvdata/tst-tables.sh,v
retrieving revision 1.34
diff -u -r1.34 tst-tables.sh
--- iconvdata/tst-tables.sh     12 Dec 2007 07:58:54 -0000      1.34
+++ iconvdata/tst-tables.sh     25 Feb 2009 16:57:03 -0000
@@ -25,6 +25,9 @@
+if test "$SHELL" = ""; then SHELL=/bin/sh; fi
+export SHELL
 cat <<EOF |

BTW, This is with /bin/sh == bash, but my shell in passwd (getent passwd `id
-u`) is set to zsh which results in bash -c 'echo $SHELL' => /bin/zsh which
might be one reason it fails.

Comment 1 Ulrich Drepper 2009-03-14 20:17:28 UTC
There are countless assumptions that are made while running the test suite.  I
don't start changing the test suite so that people with strange/wrong
environments can run it.  Fix up your environment.