glibc/posix/wordexp-tst.sh
Ulrich Drepper 14c44e2ec4 Update.
1998-03-13 16:55  Ulrich Drepper  <drepper@cygnus.com>

	* string/tester.c (test_strpbrk): Add more strpbrk tests.
	(test_strsep): Likewise.  Correct horrible bugs.

	* string/bits/string2.h (strcspn): Optimize also reject string of
	length 2 and 3.
	(strspn): Likewise.
	(strpbrk): Likewise.
	(strsep): Likewise.  Correct bug with successive separators and
	separators at the end of the string.
	* sysdeps/generic/strsep.c: Correct bug with successive separators
	and separators at the end of the string.

1998-03-13 13:11  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (parse_param): Positional parameters ($1, $2
	etc) now handled, as well as $$ (pid).

	* posix/Makefile (tests): Execute wordexp-test.sh for `make check'.
	(distribute): Add wordexp-tst.sh.

	* posix/wordexp-tst.sh: New file.

	* posix/wordexp.c (parse_param): $# (or ${#}) expands to the
	number of positional parameters.  Renamed substitute_length to
	seen_hash.
	Don't free(env) is env is NULL.

1998-03-13 16:50  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add pthread_attr_init to GLIBC_2.1.

1998-03-13 15:01  Ulrich Drepper  <drepper@cygnus.com>

	* gmon/gmon.c: Allow GMON_OUT_PREFIX variable to specify filename
	for output file replacing gmon.out.
	Patch by Dean Gaudet <dgaudet@arctic.org>.

1998-03-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/dl-misc.c (_dl_debug_message): Fix printing of pid.  Clean
	up namespace.  Optimize finding end of line.

1998-03-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* elf/rtld.c (process_envvars): Ignore LD_DEBUG_OUTPUT if running
	securely.  Optimized.
	(process_dl_debug): Add ':' to list of separators.  Optimized.

1998-03-13 10:25  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1998-03-13 17:02:23 +00:00

72 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
# Some of these tests may look a little weird.
# The first parameter to wordexp-test is what it gives to wordexp.
# The others are just there to be parameters.
common_objpfx=$1; shift
elf_objpfx=$1; shift
rtld_installed_name=$1; shift
: ${TMPDIR=/tmp}
testout=$TMPDIR/wordexp-test-result
failed=0
export IFS=$(echo -e " \t\n")
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '$*' > ${testout}1
cat <<"EOF" | cmp - ${testout}1 || failed=1
wordexp returned 0
we_wordv[0] = "$*"
EOF
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '${*}' unquoted > ${testout}2
cat <<"EOF" | cmp - ${testout}2 || failed=1
wordexp returned 0
we_wordv[0] = "${*}"
we_wordv[1] = "unquoted"
EOF
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '$@' unquoted > ${testout}3
cat <<"EOF" | cmp - ${testout}3 || failed=1
wordexp returned 0
we_wordv[0] = "$@"
we_wordv[1] = "unquoted"
EOF
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '"$* quoted"' param > ${testout}4
cat <<"EOF" | cmp - ${testout}4 || failed=1
wordexp returned 0
we_wordv[0] = ""$* quoted" param quoted"
EOF
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '"$@ quoted"' param > ${testout}5
cat <<"EOF" | cmp - ${testout}5 || failed=1
wordexp returned 0
we_wordv[0] = ""$@ quoted""
we_wordv[1] = "param quoted"
EOF
# Why? Because bash does it that way..
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '$#' 2 3 4 5 > ${testout}6
cat <<"EOF" | cmp - ${testout}6 || failed=1
wordexp returned 0
we_wordv[0] = "5"
EOF
${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \
${common_objpfx}posix/wordexp-test '$2 ${3}' 2nd 3rd > ${testout}6
cat <<"EOF" | cmp - ${testout}6 || failed=1
wordexp returned 0
we_wordv[0] = "2nd"
we_wordv[1] = "3rd"
EOF
exit $failed