From 80efbcbbcda6a5c59a21cb9628b2fd0573697dfe Mon Sep 17 00:00:00 2001 From: jmmv Date: Sun, 9 Mar 2014 17:04:31 +0000 Subject: Sync sh(1) in stable/10 to head. This is a MFC of all the commits listed below. My original goal of this change was to only merge the move of the tests from tools/regression/bin/ into the new layout (which include tests for sh(1) and other tools as well). However, doing so is tricky due to the ongoing work in sh(1) and, especially, the many changes to its tests since stable/10 was first branched. Merging everything is the simplest way to achieve this goal and, as a bonus point, we get various fixes and miscellaneous improvements into the branch. Per jilles' suggestion, I'm avoiding the merge of a couple of changes (r256850 and r257506) that required depending kernel changes. I'm also avoiding very recent changes that have not had a long enough time to be validated in current. This is "make tinderbox" clean. r256735 sh: Remove one syscall when waiting for a foreground job. r257399 sh: Allow trapping SIGINT/SIGQUIT after ignore because of '&'. r257504 sh: Reorder union node to reduce its size on 64-bit platforms. r257920 sh: Add a test case for would-be assignments that are not due to quoting. r257929 sh: Properly quote alias output from command -v. r258489 sh: Add tests for the diff --git a/tools/regression/bin/date/Makefile b/tools/regression/bin/date/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/date/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/date/regress.sh b/tools/regression/bin/date/regress.sh deleted file mode 100644 index 981bdd0..0000000 --- a/tools/regression/bin/date/regress.sh +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/sh - -# -# Regression tests for date(1) -# -# Submitted by Edwin Groothuis -# -# $FreeBSD$ -# - -# -# These two date/times have been chosen carefully, they -# create both the single digit and double/multidigit version of -# the values. -# -# To create a new one, make sure you are using the UTC timezone! -# - -TEST1=3222243 # 1970-02-07 07:04:03 -TEST2=1005600000 # 2001-11-12 21:11:12 - -export LC_ALL=C -export TZ=UTC -count=0 - -check() -{ - S=$1 - A1=$2 - A2=$3 - - count=`expr ${count} + 1` - - if [ -z "${A2}" ]; then A2=${A1}; fi - - R=`date -r ${TEST1} +%${S}` - if [ "${R}" = "${A1}" ]; then - echo "ok ${S}{t1}" - else - echo "no ok ${S}{t1} - (got ${R}, expected ${A1})" - fi - - R=`date -r ${TEST2} +%${S}` - if [ "${R}" = "${A2}" ]; then - echo "ok ${S}{t2}" - else - echo "no ok ${S}{t2} - (got ${R}, expected ${A2})" - fi -} - -echo "1..78" - -check A Saturday Monday -check a Sat Mon -check B February November -check b Feb Nov -check C 19 20 -check c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001" -check D 02/07/70 11/12/01 -check d 07 12 -check e " 7" 12 -check F "1970-02-07" "2001-11-12" -check G 1970 2001 -check g 70 01 -check H 07 21 -check h Feb Nov -check I 07 09 -check j 038 316 -check k " 7" 21 -check l " 7" " 9" -check M 04 20 -check m 02 11 -check p AM PM -check R 07:04 21:20 -check r "07:04:03 AM" "09:20:00 PM" -check S 03 00 -check s ${TEST1} ${TEST2} -check U 05 45 -check u 6 1 -check V 06 46 -check v " 7-Feb-1970" "12-Nov-2001" -check W 05 46 -check w 6 1 -check X "07:04:03" "21:20:00" -check x "02/07/70" "11/12/01" -check Y 1970 2001 -check y 70 01 -check Z UTC UTC -check z +0000 +0000 -check % % % -check + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001" diff --git a/tools/regression/bin/date/regress.t b/tools/regression/bin/date/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/date/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh diff --git a/tools/regression/bin/mv/Makefile b/tools/regression/bin/mv/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/mv/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/mv/regress.sh b/tools/regression/bin/mv/regress.sh deleted file mode 100644 index d0a5e83..0000000 --- a/tools/regression/bin/mv/regress.sh +++ /dev/null @@ -1,296 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -# A directory in a device different from that where the tests are run -TMPDIR=/tmp/regress.$$ -COUNT=0 - -# Begin an individual test -begin() -{ - COUNT=`expr $COUNT + 1` - OK=1 - if [ -z "$FS" ] - then - NAME="$1" - else - NAME="$1 (cross device)" - fi - rm -rf testdir $TMPDIR/testdir - mkdir -p testdir $TMPDIR/testdir - cd testdir -} - -# End an individual test -end() -{ - if [ $OK = 1 ] - then - printf 'ok ' - else - printf 'not ok ' - fi - echo "$COUNT - $NAME" - cd .. - rm -rf testdir $TMPDIR/testdir -} - -# Make a file that can later be verified -mkf() -{ - CN=`basename $1` - echo "$CN-$CN" >$1 -} - -# Verify that the file specified is correct -ckf() -{ - if [ -f $2 ] && echo "$1-$1" | diff - $2 >/dev/null - then - ok - else - notok - fi -} - -# Make a fifo that can later be verified -mkp() -{ - mkfifo $1 -} - -# Verify that the file specified is correct -ckp() -{ - if [ -p $2 ] - then - ok - else - notok - fi -} - -# Make a directory that can later be verified -mkd() -{ - CN=`basename $1` - mkdir -p $1/"$CN-$CN" -} - -# Verify that the directory specified is correct -ckd() -{ - if [ -d $2/$1-$1 ] - then - ok - else - notok - fi -} - -# Verify that the specified file does not exist -# (is not there) -cknt() -{ - if [ -r $1 ] - then - notok - else - ok - fi -} - -# A part of a test succeeds -ok() -{ - : -} - -# A part of a test fails -notok() -{ - OK=0 -} - -# Verify that the exit code passed is for unsuccessful termination -ckfail() -{ - if [ $1 -gt 0 ] - then - ok - else - notok - fi -} - -# Verify that the exit code passed is for successful termination -ckok() -{ - if [ $1 -eq 0 ] - then - ok - else - notok - fi -} - -# Run all tests locally and across devices -echo 1..32 -for FS in '' $TMPDIR/testdir/ -do - begin 'Rename file' - mkf fa - mv fa ${FS}fb - ckok $? - ckf fa ${FS}fb - cknt fa - end - - begin 'Move files into directory' - mkf fa - mkf fb - mkdir -p ${FS}1/2/3 - mv fa fb ${FS}1/2/3 - ckok $? - ckf fa ${FS}1/2/3/fa - ckf fb ${FS}1/2/3/fb - cknt fa - cknt fb - end - - begin 'Move file from directory to file' - mkdir -p 1/2/3 - mkf 1/2/3/fa - mv 1/2/3/fa ${FS}fb - ckok $? - ckf fa ${FS}fb - cknt 1/2/3/fa - end - - begin 'Move file from directory to existing file' - mkdir -p 1/2/3 - mkf 1/2/3/fa - :> ${FS}fb - mv 1/2/3/fa ${FS}fb - ckok $? - ckf fa ${FS}fb - cknt 1/2/3/fa - end - - begin 'Move file from directory to existing directory' - mkdir -p 1/2/3 - mkf 1/2/3/fa - mkdir -p ${FS}db/fa - # Should fail per POSIX step 3a: - # Destination path is a file of type directory and - # source_file is not a file of type directory - mv 1/2/3/fa ${FS}db 2>/dev/null - ckfail $? - ckf fa 1/2/3/fa - end - - begin 'Move file from directory to directory' - mkdir -p da1/da2/da3 - mkdir -p ${FS}db1/db2/db3 - mkf da1/da2/da3/fa - mv da1/da2/da3/fa ${FS}db1/db2/db3/fb - ckok $? - ckf fa ${FS}db1/db2/db3/fb - cknt da1/da2/da3/fa - end - - begin 'Rename directory' - mkd da - mv da ${FS}db - ckok $? - ckd da ${FS}db - cknt da - end - - begin 'Move directory to directory name' - mkd da1/da2/da3/da - mkdir -p ${FS}db1/db2/db3 - mv da1/da2/da3/da ${FS}db1/db2/db3/db - ckok $? - ckd da ${FS}db1/db2/db3/db - cknt da1/da2/da3/da - end - - begin 'Move directory to directory' - mkd da1/da2/da3/da - mkdir -p ${FS}db1/db2/db3 - mv da1/da2/da3/da ${FS}db1/db2/db3 - ckok $? - ckd da ${FS}db1/db2/db3/da - cknt da1/da2/da3/da - end - - begin 'Move directory to existing empty directory' - mkd da1/da2/da3/da - mkdir -p ${FS}db1/db2/db3/da - mv da1/da2/da3/da ${FS}db1/db2/db3 - ckok $? - ckd da ${FS}db1/db2/db3/da - cknt da1/da2/da3/da - end - - begin 'Move directory to existing non-empty directory' - mkd da1/da2/da3/da - mkdir -p ${FS}db1/db2/db3/da/full - # Should fail (per the semantics of rename(2)) - mv da1/da2/da3/da ${FS}db1/db2/db3 2>/dev/null - ckfail $? - ckd da da1/da2/da3/da - end - - begin 'Move directory to existing file' - mkd da1/da2/da3/da - mkdir -p ${FS}db1/db2/db3 - :> ${FS}db1/db2/db3/da - # Should fail per POSIX step 3b: - # Destination path is a file not of type directory - # and source_file is a file of type directory - mv da1/da2/da3/da ${FS}db1/db2/db3/da 2>/dev/null - ckfail $? - ckd da da1/da2/da3/da - end - - begin 'Rename fifo' - mkp fa - mv fa ${FS}fb - ckok $? - ckp fa ${FS}fb - cknt fa - end - - begin 'Move fifos into directory' - mkp fa - mkp fb - mkdir -p ${FS}1/2/3 - mv fa fb ${FS}1/2/3 - ckok $? - ckp fa ${FS}1/2/3/fa - ckp fb ${FS}1/2/3/fb - cknt fa - cknt fb - end - - begin 'Move fifo from directory to fifo' - mkdir -p 1/2/3 - mkp 1/2/3/fa - mv 1/2/3/fa ${FS}fb - ckok $? - ckp fa ${FS}fb - cknt 1/2/3/fa - end - - begin 'Move fifo from directory to directory' - mkdir -p da1/da2/da3 - mkdir -p ${FS}db1/db2/db3 - mkp da1/da2/da3/fa - mv da1/da2/da3/fa ${FS}db1/db2/db3/fb - ckok $? - ckp fa ${FS}db1/db2/db3/fb - cknt da1/da2/da3/fa - end -done diff --git a/tools/regression/bin/mv/regress.t b/tools/regression/bin/mv/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/mv/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh diff --git a/tools/regression/bin/pax/Makefile b/tools/regression/bin/pax/Makefile deleted file mode 100644 index 6855bca..0000000 --- a/tools/regression/bin/pax/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -all test: - prove -vmw regress.t - -clean: - rm -rf ustar-pathnames-[12] - rm -f ustar.ok ustar.fail* diff --git a/tools/regression/bin/pax/regress.t b/tools/regression/bin/pax/regress.t deleted file mode 100755 index 7c392cb..0000000 --- a/tools/regression/bin/pax/regress.t +++ /dev/null @@ -1,91 +0,0 @@ -#! /usr/bin/perl -# -# $FreeBSD$ - -use strict; -use warnings; - -use Test::More tests => 6; -use File::Path qw(rmtree mkpath); -use Cwd; - -my $n = 0; -sub create_file { - my $fn = shift; - - $n++; - (my $dir = $fn) =~ s,/[^/]+$,,; - mkpath $dir; - open my $fd, ">", $fn or die "$fn: $!"; - print $fd "file $n\n"; -} - - -ustar_pathnames: { SKIP: { - # Prove that pax breaks up ustar pathnames properly - - my $top = getcwd . "/ustar-pathnames-1"; - skip "Current path is too long", 6 if length $top > 92; - rmtree $top; - my $subdir = "x" . "x" x (92 - length $top); - my $work94 = "$top/$subdir"; - mkpath $work94; # $work is 94 characters long - - my $x49 = "x" x 49; - my $x50 = "x" x 50; - my $x60 = "x" x 60; - my $x95 = "x" x 95; - - my @paths = ( - "$work94/x099", # 99 chars - "$work94/xx100", # 100 chars - "$work94/xxx101", # 101 chars - "$work94/$x49/${x50}x199", # 199 chars - "$work94/$x49/${x50}xx200", # 200 chars - "$work94/$x49/${x50}xxx201", # 201 chars - "$work94/$x60/${x95}254", # 254 chars - "$work94/$x60/${x95}x255", # 255 chars - ); - - my @l = map { length } @paths; - - my $n = 0; - create_file $_ for @paths; - system "pax -wf ustar.ok $work94"; - ok($? == 0, "Wrote 'ustar.ok' containing files with lengths @l"); - - (my $orig = $top) =~ s,1$,2,; - rmtree $orig; - rename $top, $orig; - - system "pax -rf ustar.ok"; - ok($? == 0, "Restored 'ustar.ok' containing files with lengths @l"); - - system "diff -ru $orig $top"; - ok($? == 0, "Restored files are identical"); - - rmtree $top; - rename $orig, $top; - - # 256 chars (with components < 100 chars) should not work - push @paths, "$work94/x$x60/${x95}x256"; # 256 chars - push @l, length $paths[-1]; - create_file $paths[-1]; - system "pax -wf ustar.fail1 $work94"; - ok($?, "Failed to write 'ustar.fail1' containing files with lengths @l"); - - # Components with 100 chars shouldn't work - unlink $paths[-1]; - $paths[-1] = "$work94/${x95}xc100"; # 100 char filename - $l[-1] = length $paths[-1]; - create_file $paths[-1]; - system "pax -wf ustar.fail2 $work94"; - ok($?, "Failed to write 'ustar.fail2' with a 100 char filename"); - - unlink $paths[-1]; - $paths[-1] = "$work94/${x95}xc100/x"; # 100 char component - $l[-1] = length $paths[-1]; - create_file $paths[-1]; - system "pax -wf ustar.fail3 $work94"; - ok($?, "Failed to write 'ustar.fail3' with a 100 char component"); -}} diff --git a/tools/regression/bin/sh/Makefile b/tools/regression/bin/sh/Makefile deleted file mode 100644 index 82b9c09..0000000 --- a/tools/regression/bin/sh/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# Allow one to specify the 'sh' to regress. -SH?= /bin/sh - -all: - env SH=${SH} ${SH} regress.sh diff --git a/tools/regression/bin/sh/builtins/alias.0 b/tools/regression/bin/sh/builtins/alias.0 deleted file mode 100644 index d9b2796..0000000 --- a/tools/regression/bin/sh/builtins/alias.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -set -e - -unalias -a -alias foo=bar -alias bar= -alias quux="1 2 3" -alias -alias foo diff --git a/tools/regression/bin/sh/builtins/alias.0.stdout b/tools/regression/bin/sh/builtins/alias.0.stdout deleted file mode 100644 index 52efaf0..0000000 --- a/tools/regression/bin/sh/builtins/alias.0.stdout +++ /dev/null @@ -1,4 +0,0 @@ -bar='' -foo=bar -quux='1 2 3' -foo=bar diff --git a/tools/regression/bin/sh/builtins/alias.1 b/tools/regression/bin/sh/builtins/alias.1 deleted file mode 100644 index 31403dc..0000000 --- a/tools/regression/bin/sh/builtins/alias.1 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -unalias -a -alias foo diff --git a/tools/regression/bin/sh/builtins/alias.1.stderr b/tools/regression/bin/sh/builtins/alias.1.stderr deleted file mode 100644 index c9f4011..0000000 --- a/tools/regression/bin/sh/builtins/alias.1.stderr +++ /dev/null @@ -1 +0,0 @@ -alias: foo: not found diff --git a/tools/regression/bin/sh/builtins/alias3.0 b/tools/regression/bin/sh/builtins/alias3.0 deleted file mode 100644 index fe65e31f..0000000 --- a/tools/regression/bin/sh/builtins/alias3.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ -set -e - -unalias -a -alias foo=bar -alias bar= -alias quux="1 2 3" -alias foo=bar -alias bar= -alias quux="1 2 3" -alias -alias foo diff --git a/tools/regression/bin/sh/builtins/alias3.0.stdout b/tools/regression/bin/sh/builtins/alias3.0.stdout deleted file mode 100644 index 52efaf0..0000000 --- a/tools/regression/bin/sh/builtins/alias3.0.stdout +++ /dev/null @@ -1,4 +0,0 @@ -bar='' -foo=bar -quux='1 2 3' -foo=bar diff --git a/tools/regression/bin/sh/builtins/alias4.0 b/tools/regression/bin/sh/builtins/alias4.0 deleted file mode 100644 index 3d5efec..0000000 --- a/tools/regression/bin/sh/builtins/alias4.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -unalias -a -alias -- diff --git a/tools/regression/bin/sh/builtins/break1.0 b/tools/regression/bin/sh/builtins/break1.0 deleted file mode 100644 index ba0cbb4..0000000 --- a/tools/regression/bin/sh/builtins/break1.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ - -if [ "$1" != nested ]; then - while :; do - set -- nested - . "$0" - echo bad2 - exit 2 - done - exit 0 -fi -# To trigger the bug, the following commands must be at the top level, -# with newlines in between. -break -echo bad1 -exit 1 diff --git a/tools/regression/bin/sh/builtins/break2.0 b/tools/regression/bin/sh/builtins/break2.0 deleted file mode 100644 index ff52dd3..0000000 --- a/tools/regression/bin/sh/builtins/break2.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -# It is not immediately obvious that this should work, and someone probably -# relies on it. - -while :; do - trap 'break' USR1 - kill -USR1 $$ - echo bad - exit 1 -done -echo good diff --git a/tools/regression/bin/sh/builtins/break2.0.stdout b/tools/regression/bin/sh/builtins/break2.0.stdout deleted file mode 100644 index 12799cc..0000000 --- a/tools/regression/bin/sh/builtins/break2.0.stdout +++ /dev/null @@ -1 +0,0 @@ -good diff --git a/tools/regression/bin/sh/builtins/break3.0 b/tools/regression/bin/sh/builtins/break3.0 deleted file mode 100644 index 10a5ca8..0000000 --- a/tools/regression/bin/sh/builtins/break3.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ - -# We accept this and people might rely on it. -# However, various other shells do not accept it. - -f() { - break - echo bad1 -} - -while :; do - f - echo bad2 - exit 2 -done diff --git a/tools/regression/bin/sh/builtins/break4.4 b/tools/regression/bin/sh/builtins/break4.4 deleted file mode 100644 index d52ff52..0000000 --- a/tools/regression/bin/sh/builtins/break4.4 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# Although this is not specified by POSIX, some configure scripts (gawk 4.1.0) -# appear to depend on it. - -break -exit 4 diff --git a/tools/regression/bin/sh/builtins/break5.4 b/tools/regression/bin/sh/builtins/break5.4 deleted file mode 100644 index 7df8e18..0000000 --- a/tools/regression/bin/sh/builtins/break5.4 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -# Although this is not specified by POSIX, some configure scripts (gawk 4.1.0) -# appear to depend on it. -# In some uncommitted code, the subshell environment corrupted the outer -# shell environment's state. - -(for i in a b c; do - exit 3 -done) -break -exit 4 diff --git a/tools/regression/bin/sh/builtins/builtin1.0 b/tools/regression/bin/sh/builtins/builtin1.0 deleted file mode 100644 index b608385..0000000 --- a/tools/regression/bin/sh/builtins/builtin1.0 +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -builtin : || echo "Bad return code at $LINENO" -builtin true || echo "Bad return code at $LINENO" -builtin ls 2>/dev/null && echo "Bad return code at $LINENO" -check '"$(builtin pwd)" = "$(pwd)"' -check '-z "$(builtin :)"' -check '-z "$(builtin true)"' -check '-z "$( (builtin nosuchtool) 2>/dev/null)"' -check '-z "$(builtin nosuchtool 2>/dev/null)"' -check '-z "$(builtin nosuchtool 2>/dev/null; :)"' -check '-z "$( (builtin ls) 2>/dev/null)"' -check '-z "$(builtin ls 2>/dev/null)"' -check '-z "$(builtin ls 2>/dev/null; :)"' -check '-n "$( (builtin nosuchtool) 2>&1)"' -check '-n "$(builtin nosuchtool 2>&1)"' -check '-n "$(builtin nosuchtool 2>&1; :)"' -check '-n "$( (builtin ls) 2>&1)"' -check '-n "$(builtin ls 2>&1)"' -check '-n "$(builtin ls 2>&1; :)"' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/case1.0 b/tools/regression/bin/sh/builtins/case1.0 deleted file mode 100644 index 860fc67..0000000 --- a/tools/regression/bin/sh/builtins/case1.0 +++ /dev/null @@ -1,13 +0,0 @@ -#$FreeBSD$ -f() -{ - false - case $1 in - foo) true ;; - bar) false ;; - esac -} - -f foo || exit 1 -f bar && exit 1 -f quux || exit 1 diff --git a/tools/regression/bin/sh/builtins/case10.0 b/tools/regression/bin/sh/builtins/case10.0 deleted file mode 100644 index a627b5c..0000000 --- a/tools/regression/bin/sh/builtins/case10.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ - -case ! in -[\!!]) ;; -*) echo Failed at $LINENO ;; -esac - -case ! in -['!'!]) ;; -*) echo Failed at $LINENO ;; -esac - -case ! in -["!"!]) ;; -*) echo Failed at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case11.0 b/tools/regression/bin/sh/builtins/case11.0 deleted file mode 100644 index 0e66e11..0000000 --- a/tools/regression/bin/sh/builtins/case11.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -false -case x in -*) -esac diff --git a/tools/regression/bin/sh/builtins/case12.0 b/tools/regression/bin/sh/builtins/case12.0 deleted file mode 100644 index 2a442ba..0000000 --- a/tools/regression/bin/sh/builtins/case12.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -false -case x in -y) -esac diff --git a/tools/regression/bin/sh/builtins/case13.0 b/tools/regression/bin/sh/builtins/case13.0 deleted file mode 100644 index 78f4e9b..0000000 --- a/tools/regression/bin/sh/builtins/case13.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -case ^ in -[\^^]) ;; -*) echo Failed at $LINENO ;; -esac - -case s in -[\^^]) echo Failed at $LINENO ;; -[s\]]) ;; -*) echo Failed at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case14.0 b/tools/regression/bin/sh/builtins/case14.0 deleted file mode 100644 index 0338e8a..0000000 --- a/tools/regression/bin/sh/builtins/case14.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -case `false` in -no) exit 3 ;; -esac diff --git a/tools/regression/bin/sh/builtins/case15.0 b/tools/regression/bin/sh/builtins/case15.0 deleted file mode 100644 index 09b0e11..0000000 --- a/tools/regression/bin/sh/builtins/case15.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -case x in -`false`) exit 3 ;; -esac diff --git a/tools/regression/bin/sh/builtins/case16.0 b/tools/regression/bin/sh/builtins/case16.0 deleted file mode 100644 index 2430302..0000000 --- a/tools/regression/bin/sh/builtins/case16.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -f() { return 42; } -f -case x in -x) [ $? = 42 ] ;; -esac diff --git a/tools/regression/bin/sh/builtins/case17.0 b/tools/regression/bin/sh/builtins/case17.0 deleted file mode 100644 index ed1d25f..0000000 --- a/tools/regression/bin/sh/builtins/case17.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -! case x in x) false ;& y) esac diff --git a/tools/regression/bin/sh/builtins/case18.0 b/tools/regression/bin/sh/builtins/case18.0 deleted file mode 100644 index 470253f..0000000 --- a/tools/regression/bin/sh/builtins/case18.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -case x$(false) in -x) ;& -y) [ $? != 0 ] ;; -z) false ;; -esac diff --git a/tools/regression/bin/sh/builtins/case19.0 b/tools/regression/bin/sh/builtins/case19.0 deleted file mode 100644 index 215066a..0000000 --- a/tools/regression/bin/sh/builtins/case19.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -[ "`case x in -x) false ;& -y) ;& -z) echo $? ;; -esac`" != 0 ] diff --git a/tools/regression/bin/sh/builtins/case2.0 b/tools/regression/bin/sh/builtins/case2.0 deleted file mode 100644 index e319148..0000000 --- a/tools/regression/bin/sh/builtins/case2.0 +++ /dev/null @@ -1,106 +0,0 @@ -# Generated by ./test-fnmatch -s 1, do not edit. -# $FreeBSD$ -failures= -failed() { printf '%s\n' "Failed: $1 '$2' '$3'"; failures=x$failures; } -testmatch() { eval "case \$2 in ''$1) ;; *) failed testmatch \"\$@\";; esac"; } -testnomatch() { eval "case \$2 in ''$1) failed testnomatch \"\$@\";; esac"; } -testmatch '' '' -testmatch 'a' 'a' -testnomatch 'a' 'b' -testnomatch 'a' 'A' -testmatch '*' 'a' -testmatch '*' 'aa' -testmatch '*a' 'a' -testnomatch '*a' 'b' -testnomatch '*a*' 'b' -testmatch '*a*b*' 'ab' -testmatch '*a*b*' 'qaqbq' -testmatch '*a*bb*' 'qaqbqbbq' -testmatch '*a*bc*' 'qaqbqbcq' -testmatch '*a*bb*' 'qaqbqbb' -testmatch '*a*bc*' 'qaqbqbc' -testmatch '*a*bb' 'qaqbqbb' -testmatch '*a*bc' 'qaqbqbc' -testnomatch '*a*bb' 'qaqbqbbq' -testnomatch '*a*bc' 'qaqbqbcq' -testnomatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaa' -testmatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaaa' -testmatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaaaa' -testnomatch '.*.*.*.*.*.*.*.*.*.*' '.........' -testmatch '.*.*.*.*.*.*.*.*.*.*' '..........' -testmatch '.*.*.*.*.*.*.*.*.*.*' '...........' -testnomatch '*?*?*?*?*?*?*?*?*?*?*' '123456789' -testnomatch '??????????*' '123456789' -testnomatch '*??????????' '123456789' -testmatch '*?*?*?*?*?*?*?*?*?*?*' '1234567890' -testmatch '??????????*' '1234567890' -testmatch '*??????????' '1234567890' -testmatch '*?*?*?*?*?*?*?*?*?*?*' '12345678901' -testmatch '??????????*' '12345678901' -testmatch '*??????????' '12345678901' -testmatch '[x]' 'x' -testmatch '[*]' '*' -testmatch '[?]' '?' -testmatch '[' '[' -testmatch '[[]' '[' -testnomatch '[[]' 'x' -testnomatch '[*]' '' -testnomatch '[*]' 'x' -testnomatch '[?]' 'x' -testmatch '*[*]*' 'foo*foo' -testnomatch '*[*]*' 'foo' -testmatch '[0-9]' '0' -testmatch '[0-9]' '5' -testmatch '[0-9]' '9' -testnomatch '[0-9]' '/' -testnomatch '[0-9]' ':' -testnomatch '[0-9]' '*' -testnomatch '[!0-9]' '0' -testnomatch '[!0-9]' '5' -testnomatch '[!0-9]' '9' -testmatch '[!0-9]' '/' -testmatch '[!0-9]' ':' -testmatch '[!0-9]' '*' -testmatch '*[0-9]' 'a0' -testmatch '*[0-9]' 'a5' -testmatch '*[0-9]' 'a9' -testnomatch '*[0-9]' 'a/' -testnomatch '*[0-9]' 'a:' -testnomatch '*[0-9]' 'a*' -testnomatch '*[!0-9]' 'a0' -testnomatch '*[!0-9]' 'a5' -testnomatch '*[!0-9]' 'a9' -testmatch '*[!0-9]' 'a/' -testmatch '*[!0-9]' 'a:' -testmatch '*[!0-9]' 'a*' -testmatch '*[0-9]' 'a00' -testmatch '*[0-9]' 'a55' -testmatch '*[0-9]' 'a99' -testmatch '*[0-9]' 'a0a0' -testmatch '*[0-9]' 'a5a5' -testmatch '*[0-9]' 'a9a9' -testmatch '\*' '*' -testmatch '\?' '?' -testmatch '\[x]' '[x]' -testmatch '\[' '[' -testmatch '\\' '\' -testmatch '*\**' 'foo*foo' -testnomatch '*\**' 'foo' -testmatch '*\\*' 'foo\foo' -testnomatch '*\\*' 'foo' -testmatch '\(' '(' -testmatch '\a' 'a' -testnomatch '\*' 'a' -testnomatch '\?' 'a' -testnomatch '\*' '\*' -testnomatch '\?' '\?' -testnomatch '\[x]' '\[x]' -testnomatch '\[x]' '\x' -testnomatch '\[' '\[' -testnomatch '\(' '\(' -testnomatch '\a' '\a' -testmatch '.*' '.' -testmatch '.*' '..' -testmatch '.*' '.a' -testmatch 'a*' 'a.' -[ -z "$failures" ] diff --git a/tools/regression/bin/sh/builtins/case3.0 b/tools/regression/bin/sh/builtins/case3.0 deleted file mode 100644 index 42e53d6..0000000 --- a/tools/regression/bin/sh/builtins/case3.0 +++ /dev/null @@ -1,95 +0,0 @@ -# Generated by ./test-fnmatch -s 2, do not edit. -# $FreeBSD$ -failures= -failed() { printf '%s\n' "Failed: $1 '$2' '$3'"; failures=x$failures; } -# We do not treat a backslash specially in this case, -# but this is not the case in all shells. -netestmatch() { case $2 in $1) ;; *) failed netestmatch "$@";; esac; } -netestnomatch() { case $2 in $1) failed netestnomatch "$@";; esac; } -netestmatch '' '' -netestmatch 'a' 'a' -netestnomatch 'a' 'b' -netestnomatch 'a' 'A' -netestmatch '*' 'a' -netestmatch '*' 'aa' -netestmatch '*a' 'a' -netestnomatch '*a' 'b' -netestnomatch '*a*' 'b' -netestmatch '*a*b*' 'ab' -netestmatch '*a*b*' 'qaqbq' -netestmatch '*a*bb*' 'qaqbqbbq' -netestmatch '*a*bc*' 'qaqbqbcq' -netestmatch '*a*bb*' 'qaqbqbb' -netestmatch '*a*bc*' 'qaqbqbc' -netestmatch '*a*bb' 'qaqbqbb' -netestmatch '*a*bc' 'qaqbqbc' -netestnomatch '*a*bb' 'qaqbqbbq' -netestnomatch '*a*bc' 'qaqbqbcq' -netestnomatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaa' -netestmatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaaa' -netestmatch '*a*a*a*a*a*a*a*a*a*a*' 'aaaaaaaaaaa' -netestnomatch '.*.*.*.*.*.*.*.*.*.*' '.........' -netestmatch '.*.*.*.*.*.*.*.*.*.*' '..........' -netestmatch '.*.*.*.*.*.*.*.*.*.*' '...........' -netestnomatch '*?*?*?*?*?*?*?*?*?*?*' '123456789' -netestnomatch '??????????*' '123456789' -netestnomatch '*??????????' '123456789' -netestmatch '*?*?*?*?*?*?*?*?*?*?*' '1234567890' -netestmatch '??????????*' '1234567890' -netestmatch '*??????????' '1234567890' -netestmatch '*?*?*?*?*?*?*?*?*?*?*' '12345678901' -netestmatch '??????????*' '12345678901' -netestmatch '*??????????' '12345678901' -netestmatch '[x]' 'x' -netestmatch '[*]' '*' -netestmatch '[?]' '?' -netestmatch '[' '[' -netestmatch '[[]' '[' -netestnomatch '[[]' 'x' -netestnomatch '[*]' '' -netestnomatch '[*]' 'x' -netestnomatch '[?]' 'x' -netestmatch '*[*]*' 'foo*foo' -netestnomatch '*[*]*' 'foo' -netestmatch '[0-9]' '0' -netestmatch '[0-9]' '5' -netestmatch '[0-9]' '9' -netestnomatch '[0-9]' '/' -netestnomatch '[0-9]' ':' -netestnomatch '[0-9]' '*' -netestnomatch '[!0-9]' '0' -netestnomatch '[!0-9]' '5' -netestnomatch '[!0-9]' '9' -netestmatch '[!0-9]' '/' -netestmatch '[!0-9]' ':' -netestmatch '[!0-9]' '*' -netestmatch '*[0-9]' 'a0' -netestmatch '*[0-9]' 'a5' -netestmatch '*[0-9]' 'a9' -netestnomatch '*[0-9]' 'a/' -netestnomatch '*[0-9]' 'a:' -netestnomatch '*[0-9]' 'a*' -netestnomatch '*[!0-9]' 'a0' -netestnomatch '*[!0-9]' 'a5' -netestnomatch '*[!0-9]' 'a9' -netestmatch '*[!0-9]' 'a/' -netestmatch '*[!0-9]' 'a:' -netestmatch '*[!0-9]' 'a*' -netestmatch '*[0-9]' 'a00' -netestmatch '*[0-9]' 'a55' -netestmatch '*[0-9]' 'a99' -netestmatch '*[0-9]' 'a0a0' -netestmatch '*[0-9]' 'a5a5' -netestmatch '*[0-9]' 'a9a9' -netestmatch '\*' '\*' -netestmatch '\?' '\?' -netestmatch '\' '\' -netestnomatch '\\' '\' -netestmatch '\\' '\\' -netestmatch '*\*' 'foo\foo' -netestnomatch '*\*' 'foo' -netestmatch '.*' '.' -netestmatch '.*' '..' -netestmatch '.*' '.a' -netestmatch 'a*' 'a.' -[ -z "$failures" ] diff --git a/tools/regression/bin/sh/builtins/case4.0 b/tools/regression/bin/sh/builtins/case4.0 deleted file mode 100644 index 18219f5..0000000 --- a/tools/regression/bin/sh/builtins/case4.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -set -- "*" -case x in -"$1") echo failed ;; -esac diff --git a/tools/regression/bin/sh/builtins/case5.0 b/tools/regression/bin/sh/builtins/case5.0 deleted file mode 100644 index 8c6db5a..0000000 --- a/tools/regression/bin/sh/builtins/case5.0 +++ /dev/null @@ -1,57 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.UTF-8 -export LC_CTYPE - -c1=e -# a umlaut -c2=$(printf '\303\244') -# euro sign -c3=$(printf '\342\202\254') -# some sort of 't' outside BMP -c4=$(printf '\360\235\225\245') - -ok=0 -case $c1$c2$c3$c4 in -*) ok=1 ;; -esac -if [ $ok = 0 ]; then - echo wrong at $LINENO - exit 3 -fi - -case $c1$c2$c3$c4 in -$c1$c2$c3$c4) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -"$c1$c2$c3$c4") ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -????) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1.$c2.$c3.$c4 in -?.?.?.?) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -[!a][!b][!c][!d]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -[$c1][$c2][$c3][$c4]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -["$c1"]["$c2"]["$c3"]["$c4"]) ;; -*) echo wrong at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case6.0 b/tools/regression/bin/sh/builtins/case6.0 deleted file mode 100644 index 8d79183..0000000 --- a/tools/regression/bin/sh/builtins/case6.0 +++ /dev/null @@ -1,52 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=de_DE.ISO8859-1 -export LC_CTYPE - -c1=e -# o umlaut -c2=$(printf '\366') -# non-break space -c3=$(printf '\240') -c4=$(printf '\240') -# $c2$c3$c4 form one utf-8 character - -ok=0 -case $c1$c2$c3$c4 in -*) ok=1 ;; -esac -if [ $ok = 0 ]; then - echo wrong at $LINENO - exit 3 -fi - -case $c1$c2$c3$c4 in -$c1$c2$c3$c4) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -"$c1$c2$c3$c4") ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -????) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -[!$c2][!b][!c][!d]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -[$c1][$c2][$c3][$c4]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2$c3$c4 in -["$c1"]["$c2"]["$c3"]["$c4"]) ;; -*) echo wrong at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case7.0 b/tools/regression/bin/sh/builtins/case7.0 deleted file mode 100644 index 96b9de6..0000000 --- a/tools/regression/bin/sh/builtins/case7.0 +++ /dev/null @@ -1,24 +0,0 @@ -# $FreeBSD$ - -# Character ranges in a locale other than the POSIX locale, not specified -# by POSIX. - -unset LC_ALL -LC_CTYPE=de_DE.ISO8859-1 -export LC_CTYPE -LC_COLLATE=de_DE.ISO8859-1 -export LC_COLLATE - -c1=e -# o umlaut -c2=$(printf '\366') - -case $c1$c2 in -[a-z][a-z]) ;; -*) echo wrong at $LINENO ;; -esac - -case $c1$c2 in -[a-f][n-p]) ;; -*) echo wrong at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case8.0 b/tools/regression/bin/sh/builtins/case8.0 deleted file mode 100644 index 8d9f8b6..0000000 --- a/tools/regression/bin/sh/builtins/case8.0 +++ /dev/null @@ -1,32 +0,0 @@ -# $FreeBSD$ - -case aZ_ in -[[:alpha:]_][[:upper:]_][[:alpha:]_]) ;; -*) echo Failed at $LINENO ;; -esac - -case ' ' in -[[:alpha:][:digit:]]) echo Failed at $LINENO ;; -[![:alpha:][:digit:]]) ;; -*) echo Failed at $LINENO ;; -esac - -case '.X.' in -*[[:lower:]]*) echo Failed at $LINENO ;; -*[[:upper:]]*) ;; -*) echo Failed at $LINENO ;; -esac - -case ' ' in -[![:print:]]) echo Failed at $LINENO ;; -[![:alnum:][:punct:]]) ;; -*) echo Failed at $LINENO ;; -esac - -case ' -' in -[[:print:]]) echo Failed at $LINENO ;; -[' -'[:digit:]]) ;; -*) echo Failed at $LINENO ;; -esac diff --git a/tools/regression/bin/sh/builtins/case9.0 b/tools/regression/bin/sh/builtins/case9.0 deleted file mode 100644 index 476caec..0000000 --- a/tools/regression/bin/sh/builtins/case9.0 +++ /dev/null @@ -1,39 +0,0 @@ -# $FreeBSD$ - -errors=0 - -f() { - result= - case $1 in - a) result=${result}a ;; - b) result=${result}b ;& - c) result=${result}c ;& - d) result=${result}d ;; - e) result=${result}e ;& - esac -} - -check() { - f "$1" - if [ "$result" != "$2" ]; then - printf "For %s, expected %s got %s\n" "$1" "$2" "$result" - errors=$((errors + 1)) - fi -} - -check '' '' -check a a -check b bcd -check c cd -check d d -check e e - -if ! (case 1 in - 1) false ;& - 2) true ;; -esac) then - echo "Subshell bad" - errors=$((errors + 1)) -fi - -exit $((errors != 0)) diff --git a/tools/regression/bin/sh/builtins/cd1.0 b/tools/regression/bin/sh/builtins/cd1.0 deleted file mode 100644 index bc5108e..0000000 --- a/tools/regression/bin/sh/builtins/cd1.0 +++ /dev/null @@ -1,30 +0,0 @@ -# $FreeBSD$ -set -e - -P=${TMPDIR:-/tmp} -cd $P -T=$(mktemp -d sh-test.XXXXXX) - -chmod 0 $T -if [ `id -u` -ne 0 ]; then - # Root can always cd, regardless of directory permissions. - cd -L $T 2>/dev/null && exit 1 - [ "$PWD" = "$P" ] - [ "$(pwd)" = "$P" ] - cd -P $T 2>/dev/null && exit 1 - [ "$PWD" = "$P" ] - [ "$(pwd)" = "$P" ] -fi - -chmod 755 $T -cd $T -mkdir -p 1/2/3 -ln -s 1/2 link1 -ln -s 2/3 1/link2 -(cd -L 1/../1 && [ "$(pwd -L)" = "$P/$T/1" ]) -(cd -L link1 && [ "$(pwd -L)" = "$P/$T/link1" ]) -(cd -L link1 && [ "$(pwd -P)" = "$P/$T/1/2" ]) -(cd -P link1 && [ "$(pwd -L)" = "$P/$T/1/2" ]) -(cd -P link1 && [ "$(pwd -P)" = "$P/$T/1/2" ]) - -rm -rf ${P}/${T} diff --git a/tools/regression/bin/sh/builtins/cd2.0 b/tools/regression/bin/sh/builtins/cd2.0 deleted file mode 100644 index f2b6416..0000000 --- a/tools/regression/bin/sh/builtins/cd2.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ -set -e - -L=$(getconf PATH_MAX / 2>/dev/null) || L=4096 -[ "$L" -lt 100000 ] 2>/dev/null || L=4096 -L=$((L+100)) -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf ${T}' 0 -cd $T -D=$T -while [ ${#D} -lt $L ]; do - mkdir veryverylongdirectoryname - cd veryverylongdirectoryname - D=$D/veryverylongdirectoryname -done -[ $(pwd | wc -c) -eq $((${#D} + 1)) ] # +\n diff --git a/tools/regression/bin/sh/builtins/cd3.0 b/tools/regression/bin/sh/builtins/cd3.0 deleted file mode 100644 index 7729c54..0000000 --- a/tools/regression/bin/sh/builtins/cd3.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -# If fully successful, cd -Pe must be like cd -P. - -set -e - -cd "${TMPDIR:-/tmp}" -cd -Pe / -[ "$PWD" = / ] -[ "$(pwd)" = / ] -cd "${TMPDIR:-/tmp}" -cd -eP / -[ "$PWD" = / ] -[ "$(pwd)" = / ] - -set +e - -# If cd -Pe cannot chdir, the exit status must be greater than 1. - -v=$( (cd -Pe /var/empty/nonexistent) 2>&1 >/dev/null) -[ $? -gt 1 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/builtins/cd4.0 b/tools/regression/bin/sh/builtins/cd4.0 deleted file mode 100644 index df3a9a4..0000000 --- a/tools/regression/bin/sh/builtins/cd4.0 +++ /dev/null @@ -1,38 +0,0 @@ -# $FreeBSD$ - -# This test assumes that whatever mechanism cd -P uses to determine the -# pathname to the current directory if it is longer than PATH_MAX requires -# read permission on all parent directories. It also works if this -# requirement always applies. - -set -e -L=$(getconf PATH_MAX / 2>/dev/null) || L=4096 -[ "$L" -lt 100000 ] 2>/dev/null || L=4096 -L=$((L+100)) -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'chmod u+r ${T}; rm -rf ${T}' 0 -cd -Pe $T -D=$(pwd) -chmod u-r "$D" -if [ -r "$D" ]; then - # Running as root, cannot test. - exit 0 -fi -set +e -while [ ${#D} -lt $L ]; do - mkdir veryverylongdirectoryname || exit - cd -Pe veryverylongdirectoryname 2>/dev/null - r=$? - [ $r -gt 1 ] && exit $r - if [ $r -eq 1 ]; then - # Verify that the directory was changed correctly. - cd -Pe .. || exit - [ "$(pwd)" = "$D" ] || exit - # Verify that omitting -e results in success. - cd -P veryverylongdirectoryname 2>/dev/null || exit - exit 0 - fi - D=$D/veryverylongdirectoryname -done -echo "cd -Pe never returned 1" -exit 0 diff --git a/tools/regression/bin/sh/builtins/cd5.0 b/tools/regression/bin/sh/builtins/cd5.0 deleted file mode 100644 index 3dff604..0000000 --- a/tools/regression/bin/sh/builtins/cd5.0 +++ /dev/null @@ -1,23 +0,0 @@ -# $FreeBSD$ - -set -e -T=$(mktemp -d "${TMPDIR:-/tmp}/sh-test.XXXXXX") -trap 'rm -rf "$T"' 0 - -cd -P "$T" -D=$(pwd) - -mkdir a a/1 b b/1 b/2 - -CDPATH=$D/a: -# Basic test. -cd 1 >/dev/null -[ "$(pwd)" = "$D/a/1" ] -# Test that the current directory is not checked before CDPATH. -cd "$D/b" -cd 1 >/dev/null -[ "$(pwd)" = "$D/a/1" ] -# Test not using a CDPATH entry. -cd "$D/b" -cd 2 -[ "$(pwd)" = "$D/b/2" ] diff --git a/tools/regression/bin/sh/builtins/cd6.0 b/tools/regression/bin/sh/builtins/cd6.0 deleted file mode 100644 index 083a061..0000000 --- a/tools/regression/bin/sh/builtins/cd6.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -set -e -cd -P /bin -d=$PWD -CDPATH=/: -cd -P . -[ "$d" = "$PWD" ] -cd -P ./ -[ "$d" = "$PWD" ] diff --git a/tools/regression/bin/sh/builtins/cd7.0 b/tools/regression/bin/sh/builtins/cd7.0 deleted file mode 100644 index 9adda86..0000000 --- a/tools/regression/bin/sh/builtins/cd7.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ - -set -e -cd /usr/bin -[ "$PWD" = /usr/bin ] -CDPATH=/: -cd . -[ "$PWD" = /usr/bin ] -cd ./ -[ "$PWD" = /usr/bin ] -cd .. -[ "$PWD" = /usr ] -cd /usr/bin -cd ../ -[ "$PWD" = /usr ] diff --git a/tools/regression/bin/sh/builtins/cd8.0 b/tools/regression/bin/sh/builtins/cd8.0 deleted file mode 100644 index a68f77f..0000000 --- a/tools/regression/bin/sh/builtins/cd8.0 +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ - -# The exact wording of the error message is not standardized, but giving -# a description of the errno is useful. - -LC_ALL=C -export LC_ALL -r=0 - -t() { - exec 3>&1 - errmsg=`cd "$1" 2>&1 >&3 3>&-` - exec 3>&- - case $errmsg in - *[Nn]ot\ a\ directory*) - ;; - *) - printf "Wrong error message for %s: %s\n" "$1" "$errmsg" - r=3 - ;; - esac -} - -t /dev/tty -t /dev/tty/x -exit $r diff --git a/tools/regression/bin/sh/builtins/command1.0 b/tools/regression/bin/sh/builtins/command1.0 deleted file mode 100644 index fd0afdf..0000000 --- a/tools/regression/bin/sh/builtins/command1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -true() { - false -} -command true diff --git a/tools/regression/bin/sh/builtins/command10.0 b/tools/regression/bin/sh/builtins/command10.0 deleted file mode 100644 index 2c1adf1..0000000 --- a/tools/regression/bin/sh/builtins/command10.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$(f() { shift x; }; { command eval f 2>/dev/null; } >/dev/null; echo hi)" = hi' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/command11.0 b/tools/regression/bin/sh/builtins/command11.0 deleted file mode 100644 index 10c8647..0000000 --- a/tools/regression/bin/sh/builtins/command11.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$({ command eval \{ shift x\; \} 2\>/dev/null; } >/dev/null; echo hi)" = hi' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/command2.0 b/tools/regression/bin/sh/builtins/command2.0 deleted file mode 100644 index ff7b5f2..0000000 --- a/tools/regression/bin/sh/builtins/command2.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -PATH= -command -p cat < /dev/null diff --git a/tools/regression/bin/sh/builtins/command3.0 b/tools/regression/bin/sh/builtins/command3.0 deleted file mode 100644 index 9d4ae89..0000000 --- a/tools/regression/bin/sh/builtins/command3.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ -command -v ls -command -v true -command -v /bin/ls - -fun() { - : -} -command -v fun -command -v break -command -v if - -alias foo=bar -command -v foo diff --git a/tools/regression/bin/sh/builtins/command3.0.stdout b/tools/regression/bin/sh/builtins/command3.0.stdout deleted file mode 100644 index 239c53f..0000000 --- a/tools/regression/bin/sh/builtins/command3.0.stdout +++ /dev/null @@ -1,7 +0,0 @@ -/bin/ls -true -/bin/ls -fun -break -if -alias foo='bar ' diff --git a/tools/regression/bin/sh/builtins/command4.0 b/tools/regression/bin/sh/builtins/command4.0 deleted file mode 100644 index 3e49613..0000000 --- a/tools/regression/bin/sh/builtins/command4.0 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -! command -v nonexisting diff --git a/tools/regression/bin/sh/builtins/command5.0 b/tools/regression/bin/sh/builtins/command5.0 deleted file mode 100644 index 13b3fe1..0000000 --- a/tools/regression/bin/sh/builtins/command5.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ -command -V ls -command -V true -command -V /bin/ls - -fun() { - : -} -command -V fun -command -V break -command -V if -command -V { - -alias foo=bar -command -V foo diff --git a/tools/regression/bin/sh/builtins/command5.0.stdout b/tools/regression/bin/sh/builtins/command5.0.stdout deleted file mode 100644 index 4cb2b11..0000000 --- a/tools/regression/bin/sh/builtins/command5.0.stdout +++ /dev/null @@ -1,8 +0,0 @@ -ls is /bin/ls -true is a shell builtin -/bin/ls is /bin/ls -fun is a shell function -break is a special shell builtin -if is a shell keyword -{ is a shell keyword -foo is an alias for bar diff --git a/tools/regression/bin/sh/builtins/command6.0 b/tools/regression/bin/sh/builtins/command6.0 deleted file mode 100644 index 5b63bfe..0000000 --- a/tools/regression/bin/sh/builtins/command6.0 +++ /dev/null @@ -1,22 +0,0 @@ -# $FreeBSD$ -PATH=/var/empty -case $(command -pV ls) in -*/var/empty/ls*) - echo "Failed: \$(command -pV ls) should not match */var/empty/ls*" ;; -"ls is"*" "/*/ls) ;; -*) - echo "Failed: \$(command -pV ls) match \"ls is\"*\" \"/*/ls" ;; -esac -command -pV true -command -pV /bin/ls - -fun() { - : -} -command -pV fun -command -pV break -command -pV if -command -pV { - -alias foo=bar -command -pV foo diff --git a/tools/regression/bin/sh/builtins/command6.0.stdout b/tools/regression/bin/sh/builtins/command6.0.stdout deleted file mode 100644 index df4d647..0000000 --- a/tools/regression/bin/sh/builtins/command6.0.stdout +++ /dev/null @@ -1,7 +0,0 @@ -true is a shell builtin -/bin/ls is /bin/ls -fun is a shell function -break is a special shell builtin -if is a shell keyword -{ is a shell keyword -foo is an alias for bar diff --git a/tools/regression/bin/sh/builtins/command7.0 b/tools/regression/bin/sh/builtins/command7.0 deleted file mode 100644 index fc652f2..0000000 --- a/tools/regression/bin/sh/builtins/command7.0 +++ /dev/null @@ -1,34 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$(PATH=/libexec command -V ld-elf.so.1)" = "ld-elf.so.1 is /libexec/ld-elf.so.1"' -check '"$(PATH=/libexec command -V ld-elf.so.1; :)" = "ld-elf.so.1 is /libexec/ld-elf.so.1"' -check '"$(PATH=/libexec command -pv ld-elf.so.1)" = ""' -check '"$(PATH=/libexec command -pv ld-elf.so.1; :)" = ""' - -PATH=/libexec:$PATH - -check '"$(command -V ld-elf.so.1)" = "ld-elf.so.1 is /libexec/ld-elf.so.1"' -check '"$(command -V ld-elf.so.1; :)" = "ld-elf.so.1 is /libexec/ld-elf.so.1"' -check '"$(command -pv ld-elf.so.1)" = ""' -check '"$(command -pv ld-elf.so.1; :)" = ""' - -PATH=/libexec - -check '"$(command -v ls)" = ""' -case $(command -pv ls) in -/*/ls) ;; -*) - echo "Failed: \$(command -pv ls) match /*/ls" - : $((failures += 1)) ;; -esac - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/command8.0 b/tools/regression/bin/sh/builtins/command8.0 deleted file mode 100644 index 9e3a2b6..0000000 --- a/tools/regression/bin/sh/builtins/command8.0 +++ /dev/null @@ -1,45 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break,\ - :,\ - continue,\ - . /dev/null,\ - eval,\ - exec,\ - export -p,\ - readonly -p,\ - set,\ - shift 0,\ - times,\ - trap,\ - unset foo" - -set -e - -# Check that special builtins can be executed via "command". - -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "v=:; while \$v; do v=false; command ${cmd}; done" >/dev/null -done - -while :; do - command break - echo Error on line $LINENO -done - -set p q r -command shift 2 -if [ $# -ne 1 ]; then - echo Error on line $LINENO -fi - -( - command exec >/dev/null - echo Error on line $LINENO -) - -set +e -! command shift 2 2>/dev/null diff --git a/tools/regression/bin/sh/builtins/command9.0 b/tools/regression/bin/sh/builtins/command9.0 deleted file mode 100644 index 212e52a..0000000 --- a/tools/regression/bin/sh/builtins/command9.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$({ command eval shift x 2>/dev/null; } >/dev/null; echo hi)" = hi' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/dot1.0 b/tools/regression/bin/sh/builtins/dot1.0 deleted file mode 100644 index 43eab0d..0000000 --- a/tools/regression/bin/sh/builtins/dot1.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) || exit -trap 'rm -rf $T' 0 -cd $T || exit 3 -unset x -echo 'x=2' >testscript -. ./testscript -[ "$x" = 2 ] || failure $LINENO -cd / || exit 3 -x=1 -PATH=$T:$PATH . testscript -[ "$x" = 2 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/dot2.0 b/tools/regression/bin/sh/builtins/dot2.0 deleted file mode 100644 index ed6379b..0000000 --- a/tools/regression/bin/sh/builtins/dot2.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) || exit -trap 'rm -rf $T' 0 -cd $T || exit 3 -unset x -echo 'x=2' >testscript -. -- ./testscript -[ "$x" = 2 ] || failure $LINENO -cd / || exit 3 -x=1 -PATH=$T:$PATH . -- testscript -[ "$x" = 2 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/dot3.0 b/tools/regression/bin/sh/builtins/dot3.0 deleted file mode 100644 index b337f0f..0000000 --- a/tools/regression/bin/sh/builtins/dot3.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -# . should return 0 if no command was executed. - -if false; then - exit 3 -else - . /dev/null - exit $? -fi diff --git a/tools/regression/bin/sh/builtins/dot4.0 b/tools/regression/bin/sh/builtins/dot4.0 deleted file mode 100644 index b898131..0000000 --- a/tools/regression/bin/sh/builtins/dot4.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -v=abcd -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -r=$( ( - trap 'exit 0' 0 - . "$v" -) 2>&1 >/dev/null) && [ -n "$r" ] diff --git a/tools/regression/bin/sh/builtins/eval1.0 b/tools/regression/bin/sh/builtins/eval1.0 deleted file mode 100644 index 04606a4..0000000 --- a/tools/regression/bin/sh/builtins/eval1.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -set -e - -eval -eval "" "" -eval "true" -! eval "false - -" diff --git a/tools/regression/bin/sh/builtins/eval2.0 b/tools/regression/bin/sh/builtins/eval2.0 deleted file mode 100644 index bf06b6e..0000000 --- a/tools/regression/bin/sh/builtins/eval2.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -eval ' -false - -' && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/builtins/eval3.0 b/tools/regression/bin/sh/builtins/eval3.0 deleted file mode 100644 index dfb8357..0000000 --- a/tools/regression/bin/sh/builtins/eval3.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -eval 'false;' && exit 1 -eval 'true;' || exit 1 -eval 'false; -' && exit 1 -eval 'true; -' || exit 1 -exit 0 diff --git a/tools/regression/bin/sh/builtins/eval4.0 b/tools/regression/bin/sh/builtins/eval4.0 deleted file mode 100644 index 67da2f5..0000000 --- a/tools/regression/bin/sh/builtins/eval4.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# eval should preserve $? from command substitutions when starting -# the parsed command. -[ $(eval 'echo $?' $(false)) = 1 ] diff --git a/tools/regression/bin/sh/builtins/eval5.0 b/tools/regression/bin/sh/builtins/eval5.0 deleted file mode 100644 index 3e86de9..0000000 --- a/tools/regression/bin/sh/builtins/eval5.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -# eval should return 0 if no command was executed. -eval $(false) diff --git a/tools/regression/bin/sh/builtins/eval6.0 b/tools/regression/bin/sh/builtins/eval6.0 deleted file mode 100644 index 6752bb6..0000000 --- a/tools/regression/bin/sh/builtins/eval6.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# eval should preserve $? from command substitutions when starting -# the parsed command. -[ $(false; eval 'echo $?' $(:)) = 0 ] diff --git a/tools/regression/bin/sh/builtins/exec1.0 b/tools/regression/bin/sh/builtins/exec1.0 deleted file mode 100644 index dd30a4c..0000000 --- a/tools/regression/bin/sh/builtins/exec1.0 +++ /dev/null @@ -1,25 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -( - exec >/dev/null - echo bad -) -[ $? = 0 ] || failure $LINENO -( - exec ${SH} -c 'exit 42' - echo bad -) -[ $? = 42 ] || failure $LINENO -( - exec /var/empty/nosuch - echo bad -) 2>/dev/null -[ $? = 127 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/exec2.0 b/tools/regression/bin/sh/builtins/exec2.0 deleted file mode 100644 index 3dcb6c4..0000000 --- a/tools/regression/bin/sh/builtins/exec2.0 +++ /dev/null @@ -1,25 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -( - exec -- >/dev/null - echo bad -) -[ $? = 0 ] || failure $LINENO -( - exec -- ${SH} -c 'exit 42' - echo bad -) -[ $? = 42 ] || failure $LINENO -( - exec -- /var/empty/nosuch - echo bad -) 2>/dev/null -[ $? = 127 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/exit1.0 b/tools/regression/bin/sh/builtins/exit1.0 deleted file mode 100644 index 496d448..0000000 --- a/tools/regression/bin/sh/builtins/exit1.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -# exit with an argument should overwrite the exit status in an EXIT trap. - -trap 'true; exit $?' 0 -false diff --git a/tools/regression/bin/sh/builtins/exit2.8 b/tools/regression/bin/sh/builtins/exit2.8 deleted file mode 100644 index 124c32e..0000000 --- a/tools/regression/bin/sh/builtins/exit2.8 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# exit without arguments is the same as exit $? outside a trap. - -trap 'true; true' 0 -(exit 8) -exit diff --git a/tools/regression/bin/sh/builtins/exit3.0 b/tools/regression/bin/sh/builtins/exit3.0 deleted file mode 100644 index 80655ac..0000000 --- a/tools/regression/bin/sh/builtins/exit3.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# exit without arguments differs from exit $? in an EXIT trap. - -trap 'false; exit' 0 diff --git a/tools/regression/bin/sh/builtins/export1.0 b/tools/regression/bin/sh/builtins/export1.0 deleted file mode 100644 index 7b08c9d..0000000 --- a/tools/regression/bin/sh/builtins/export1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -env @badness=1 ${SH} -c 'v=`export -p`; eval "$v"' diff --git a/tools/regression/bin/sh/builtins/fc1.0 b/tools/regression/bin/sh/builtins/fc1.0 deleted file mode 100644 index ab7a387..0000000 --- a/tools/regression/bin/sh/builtins/fc1.0 +++ /dev/null @@ -1,27 +0,0 @@ -# $FreeBSD$ -set -e -trap 'echo Broken pipe -- test failed' PIPE - -P=${TMPDIR:-/tmp} -cd $P -T=$(mktemp -d sh-test.XXXXXX) -cd $T - -mkfifo input output error -HISTFILE=/dev/null ${SH} +m -i output 2>error & -{ - # Syntax error - echo ')' >&3 - # Read error message, shell will read new input now - read dummy <&5 - # Execute bad command again - echo 'fc -e true' >&3 - # Verify that the shell is still running - echo 'echo continued' >&3 || rc=3 - echo 'exit' >&3 || rc=3 - read line <&4 && [ "$line" = continued ] && : ${rc:=0} -} 3>input 4output 2>error & -exec 3>input -{ - # Command not found, containing slash - echo '/var/empty/nonexistent' >&3 - # Read error message, shell will read new input now - read dummy <&5 - # Execute bad command again - echo 'fc -e true; echo continued' >&3 - read dummy <&5 - read line <&4 && [ "$line" = continued ] && : ${rc:=0} - exec 3>&- - # Old sh duplicates itself after the fc, producing another line - # of output. - if read line <&4; then - echo "Extraneous output: $line" - rc=1 - fi -} 4&- - -rm input output error -rmdir ${P}/${T} -exit ${rc:-3} diff --git a/tools/regression/bin/sh/builtins/for1.0 b/tools/regression/bin/sh/builtins/for1.0 deleted file mode 100644 index cd55e2c..0000000 --- a/tools/regression/bin/sh/builtins/for1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -false -for i in `false`; do exit 3; done diff --git a/tools/regression/bin/sh/builtins/for2.0 b/tools/regression/bin/sh/builtins/for2.0 deleted file mode 100644 index 48c22ce..0000000 --- a/tools/regression/bin/sh/builtins/for2.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -r=x -f() { return 42; } -f -for i in x; do - r=$? -done -[ "$r" = 42 ] diff --git a/tools/regression/bin/sh/builtins/for3.0 b/tools/regression/bin/sh/builtins/for3.0 deleted file mode 100644 index cc37238..0000000 --- a/tools/regression/bin/sh/builtins/for3.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -r=x -f() { return 42; } -for i in x`f`; do - r=$? -done -[ "$r" = 42 ] diff --git a/tools/regression/bin/sh/builtins/getopts1.0 b/tools/regression/bin/sh/builtins/getopts1.0 deleted file mode 100644 index af31d55..0000000 --- a/tools/regression/bin/sh/builtins/getopts1.0 +++ /dev/null @@ -1,25 +0,0 @@ -# $FreeBSD$ - -printf -- '-1-\n' -set -- -abc -getopts "ab:" OPTION -echo ${OPTION} - -# In this case 'getopts' should realize that we have not provided the -# required argument for "-b". -# Note that Solaris 10's (UNIX 03) /usr/xpg4/bin/sh, /bin/sh, and /bin/ksh; -# ksh93 20090505; pdksh 5.2.14p2; mksh R39c; bash 4.1 PL7; and zsh 4.3.10. -# all recognize that "b" is missing its argument on the *first* iteration -# of 'getopts' and do not produce the "a" in $OPTION. -printf -- '-2-\n' -set -- -ab -getopts "ab:" OPTION -echo ${OPTION} -getopts "ab:" OPTION -echo ${OPTION} - -# The 'shift' is aimed at causing an error. -printf -- '-3-\n' -shift 1 -getopts "ab:" OPTION -echo ${OPTION} diff --git a/tools/regression/bin/sh/builtins/getopts1.0.stdout b/tools/regression/bin/sh/builtins/getopts1.0.stdout deleted file mode 100644 index a0a347e..0000000 --- a/tools/regression/bin/sh/builtins/getopts1.0.stdout +++ /dev/null @@ -1,8 +0,0 @@ --1- -a --2- -a -No arg for -b option -? --3- -? diff --git a/tools/regression/bin/sh/builtins/getopts2.0 b/tools/regression/bin/sh/builtins/getopts2.0 deleted file mode 100644 index 5a5dbe2..0000000 --- a/tools/regression/bin/sh/builtins/getopts2.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ -set - -ax -getopts ax option -set -C -getopts ax option -echo $option diff --git a/tools/regression/bin/sh/builtins/getopts2.0.stdout b/tools/regression/bin/sh/builtins/getopts2.0.stdout deleted file mode 100644 index 587be6b..0000000 --- a/tools/regression/bin/sh/builtins/getopts2.0.stdout +++ /dev/null @@ -1 +0,0 @@ -x diff --git a/tools/regression/bin/sh/builtins/hash1.0 b/tools/regression/bin/sh/builtins/hash1.0 deleted file mode 100644 index 45cc300..0000000 --- a/tools/regression/bin/sh/builtins/hash1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -cat /dev/null -hash -hash -r -hash diff --git a/tools/regression/bin/sh/builtins/hash1.0.stdout b/tools/regression/bin/sh/builtins/hash1.0.stdout deleted file mode 100644 index 3afc3e7..0000000 --- a/tools/regression/bin/sh/builtins/hash1.0.stdout +++ /dev/null @@ -1 +0,0 @@ -/bin/cat diff --git a/tools/regression/bin/sh/builtins/hash2.0 b/tools/regression/bin/sh/builtins/hash2.0 deleted file mode 100644 index e5cd21b..0000000 --- a/tools/regression/bin/sh/builtins/hash2.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -hash -hash cat -hash diff --git a/tools/regression/bin/sh/builtins/hash2.0.stdout b/tools/regression/bin/sh/builtins/hash2.0.stdout deleted file mode 100644 index 3afc3e7..0000000 --- a/tools/regression/bin/sh/builtins/hash2.0.stdout +++ /dev/null @@ -1 +0,0 @@ -/bin/cat diff --git a/tools/regression/bin/sh/builtins/hash3.0 b/tools/regression/bin/sh/builtins/hash3.0 deleted file mode 100644 index eade0b3..0000000 --- a/tools/regression/bin/sh/builtins/hash3.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -hash -v cat -hash diff --git a/tools/regression/bin/sh/builtins/hash3.0.stdout b/tools/regression/bin/sh/builtins/hash3.0.stdout deleted file mode 100644 index a34864c..0000000 --- a/tools/regression/bin/sh/builtins/hash3.0.stdout +++ /dev/null @@ -1,2 +0,0 @@ -/bin/cat -/bin/cat diff --git a/tools/regression/bin/sh/builtins/hash4.0 b/tools/regression/bin/sh/builtins/hash4.0 deleted file mode 100644 index dec584c..0000000 --- a/tools/regression/bin/sh/builtins/hash4.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -exec 3>&1 -m=`hash nosuchtool 2>&1 >&3` -r=$? -[ "$r" != 0 ] && [ -n "$m" ] diff --git a/tools/regression/bin/sh/builtins/jobid1.0 b/tools/regression/bin/sh/builtins/jobid1.0 deleted file mode 100644 index 483fda2..0000000 --- a/tools/regression/bin/sh/builtins/jobid1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -# Non-standard builtin. - -: & -p1=$! -p2=$(jobid) -[ "${p1:?}" = "${p2:?}" ] diff --git a/tools/regression/bin/sh/builtins/jobid2.0 b/tools/regression/bin/sh/builtins/jobid2.0 deleted file mode 100644 index 101831a..0000000 --- a/tools/regression/bin/sh/builtins/jobid2.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -: & -p1=$(jobid) -p2=$(jobid --) -p3=$(jobid %+) -p4=$(jobid -- %+) -[ "${p1:?}" = "${p2:?}" ] && [ "${p2:?}" = "${p3:?}" ] && -[ "${p3:?}" = "${p4:?}" ] && [ "${p4:?}" = "${p1:?}" ] diff --git a/tools/regression/bin/sh/builtins/lineno.0 b/tools/regression/bin/sh/builtins/lineno.0 deleted file mode 100644 index c9311f8..0000000 --- a/tools/regression/bin/sh/builtins/lineno.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ -echo $LINENO -echo $LINENO - -f() { - echo $LINENO - echo $LINENO -} - -f - -echo ${LINENO:-foo} -echo ${LINENO=foo} -echo ${LINENO:+foo} -echo ${LINENO+foo} -echo ${#LINENO} diff --git a/tools/regression/bin/sh/builtins/lineno.0.stdout b/tools/regression/bin/sh/builtins/lineno.0.stdout deleted file mode 100644 index 82583a9..0000000 --- a/tools/regression/bin/sh/builtins/lineno.0.stdout +++ /dev/null @@ -1,9 +0,0 @@ -2 -3 -2 -3 -12 -13 -foo -foo -2 diff --git a/tools/regression/bin/sh/builtins/local1.0 b/tools/regression/bin/sh/builtins/local1.0 deleted file mode 100644 index b28837ec..0000000 --- a/tools/regression/bin/sh/builtins/local1.0 +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ -# A commonly used but non-POSIX builtin. - -f() { - local x - x=2 - [ "$x" = 2 ] -} -x=1 -f || exit 3 -[ "$x" = 1 ] || exit 3 -f || exit 3 -[ "$x" = 1 ] || exit 3 diff --git a/tools/regression/bin/sh/builtins/local2.0 b/tools/regression/bin/sh/builtins/local2.0 deleted file mode 100644 index cc8c10f..0000000 --- a/tools/regression/bin/sh/builtins/local2.0 +++ /dev/null @@ -1,17 +0,0 @@ -# $FreeBSD$ - -f() { - local - - set -a - case $- in - *a*) : ;; - *) echo In-function \$- bad - esac -} -case $- in -*a*) echo Initial \$- bad -esac -f -case $- in -*a*) echo Final \$- bad -esac diff --git a/tools/regression/bin/sh/builtins/local3.0 b/tools/regression/bin/sh/builtins/local3.0 deleted file mode 100644 index 39ee370..0000000 --- a/tools/regression/bin/sh/builtins/local3.0 +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ - -f() { - local "$@" - set -a - x=7 - case $- in - *a*) : ;; - *) echo In-function \$- bad - esac - [ "$x" = 7 ] || echo In-function \$x bad -} -x=1 -case $- in -*a*) echo Initial \$- bad -esac -f x - -case $- in -*a*) echo Intermediate \$- bad -esac -[ "$x" = 1 ] || echo Intermediate \$x bad -f - x -case $- in -*a*) echo Final \$- bad -esac -[ "$x" = 1 ] || echo Final \$x bad diff --git a/tools/regression/bin/sh/builtins/local4.0 b/tools/regression/bin/sh/builtins/local4.0 deleted file mode 100644 index 3955aaa..0000000 --- a/tools/regression/bin/sh/builtins/local4.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -f() { - local -- x - x=2 - [ "$x" = 2 ] -} -x=1 -f || exit 3 -[ "$x" = 1 ] || exit 3 -f || exit 3 -[ "$x" = 1 ] || exit 3 diff --git a/tools/regression/bin/sh/builtins/locale1.0 b/tools/regression/bin/sh/builtins/locale1.0 deleted file mode 100644 index 90b1094..0000000 --- a/tools/regression/bin/sh/builtins/locale1.0 +++ /dev/null @@ -1,134 +0,0 @@ -# $FreeBSD$ -# Note: this test depends on strerror() using locale. - -failures=0 - -check() { - if ! eval "[ $1 ]"; then - echo "Failed: $1 at $2" - : $((failures += 1)) - fi -} - -unset LANG LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LC_MESSAGES -unset LANGUAGE - -msgeng="No such file or directory" -msgdut="Bestand of map niet gevonden" - -# Verify C locale error message. -case $(command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -# Various locale variables that should not affect the message. -case $(LC_ALL=C command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_ALL=C LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_ALL=C LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_CTYPE=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -# Verify Dutch message. -case $(export LANG=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(export LC_MESSAGES=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(export LC_ALL=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_ALL=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -# Verify that command assignments do not set the locale persistently. -case $(command . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in - *"$msgdut"*"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in - *"$msgdut"*"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(LC_ALL=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in - *"$msgdut"*"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -# Check special builtin; add colon invocation to avoid depending on certain fix. -case $(LC_ALL=nl_NL.ISO8859-1 . /var/empty/foo 2>&1; :) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -# Assignments on special builtins are exported to that builtin; the export -# is not persistent. -case $(LC_ALL=nl_NL.ISO8859-1 . /dev/null; . /var/empty/foo 2>&1) in - *"$msgeng"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -case $(export LC_ALL; LC_ALL=nl_NL.ISO8859-1 . /dev/null; . /var/empty/foo 2>&1) in - *"$msgdut"*) ok=1 ;; - *) ok=0 ;; -esac -check '$ok -eq 1' $LINENO - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/printf1.0 b/tools/regression/bin/sh/builtins/printf1.0 deleted file mode 100644 index 99a82d0..0000000 --- a/tools/regression/bin/sh/builtins/printf1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -[ "$(printf '%c\0%s%d' x '\' 010 | tr '\0' Z)" = 'xZ\8' ] diff --git a/tools/regression/bin/sh/builtins/printf2.0 b/tools/regression/bin/sh/builtins/printf2.0 deleted file mode 100644 index 7763d6f..0000000 --- a/tools/regression/bin/sh/builtins/printf2.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -[ "$(printf '%cZ%s%d' x '\' 010)" = 'xZ\8' ] diff --git a/tools/regression/bin/sh/builtins/printf3.0 b/tools/regression/bin/sh/builtins/printf3.0 deleted file mode 100644 index 0e7ea85..0000000 --- a/tools/regression/bin/sh/builtins/printf3.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -set -e -v=$(! printf "%d" @wrong 2>/dev/null) -[ "$v" = "0" ] diff --git a/tools/regression/bin/sh/builtins/printf4.0 b/tools/regression/bin/sh/builtins/printf4.0 deleted file mode 100644 index 2dd3e72..0000000 --- a/tools/regression/bin/sh/builtins/printf4.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -set -e -v=$(! printf "%d" 4wrong 2>/dev/null) -[ "$v" = "4" ] diff --git a/tools/regression/bin/sh/builtins/read1.0 b/tools/regression/bin/sh/builtins/read1.0 deleted file mode 100644 index 06a68fa..0000000 --- a/tools/regression/bin/sh/builtins/read1.0 +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ -set -e - -echo "1 2 3" | { read a; echo "x${a}x"; } -echo "1 2 3" | { read a b; echo "x${a}x${b}x"; } -echo "1 2 3" | { read a b c; echo "x${a}x${b}x${c}x"; } -echo "1 2 3" | { read a b c d; echo "x${a}x${b}x${c}x${d}x"; } - -echo " 1 2 3 " | { read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 2 3 " | { unset IFS; read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 2 3 " | { IFS=$(printf ' \t\n') read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 2 3 " | { IFS= read a b; echo "x${a}x${b}x"; } - -echo " 1,2 3 " | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } -echo ", 2 ,3" | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,,3" | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 , , 3" | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,2 3," | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,2 3,," | { IFS=' ,' read a b c; echo "x${a}x${b}x${c}x"; } - -echo " 1,2 3 " | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } -echo ", 2 ,3" | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,,3" | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 , , 3" | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,2 3," | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } -echo " 1 ,2 3,," | { IFS=', ' read a b c; echo "x${a}x${b}x${c}x"; } diff --git a/tools/regression/bin/sh/builtins/read1.0.stdout b/tools/regression/bin/sh/builtins/read1.0.stdout deleted file mode 100644 index dbcb1af..0000000 --- a/tools/regression/bin/sh/builtins/read1.0.stdout +++ /dev/null @@ -1,20 +0,0 @@ -x1 2 3x -x1x2 3x -x1x2x3x -x1x2x3xx -x1x2x3x -x1x2x3x -x1x2x3x -x 1 2 3 xx -x1x2x3x -xx2x3x -x1xx3x -x1xx3x -x1x2x3x -x1x2x3,,x -x1x2x3x -xx2x3x -x1xx3x -x1xx3x -x1x2x3x -x1x2x3,,x diff --git a/tools/regression/bin/sh/builtins/read2.0 b/tools/regression/bin/sh/builtins/read2.0 deleted file mode 100644 index fc74511..0000000 --- a/tools/regression/bin/sh/builtins/read2.0 +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -set -e -{ - echo 1 - echo two - echo three -} | { - read x - [ "$x" = 1 ] - (read x - [ "$x" = two ]) - read x - [ "$x" = three ] -} - -T=`mktemp sh-test.XXXXXX` -trap 'rm -f "$T"' 0 -{ - echo 1 - echo two - echo three -} >$T -{ - read x - [ "$x" = 1 ] - (read x - [ "$x" = two ]) - read x - [ "$x" = three ] -} <$T diff --git a/tools/regression/bin/sh/builtins/read3.0 b/tools/regression/bin/sh/builtins/read3.0 deleted file mode 100644 index c6ae9c1..0000000 --- a/tools/regression/bin/sh/builtins/read3.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -printf '%s\n' 'a\ b c' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' 'a b\ c' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' 'a\:b:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' 'a:b\:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\:a' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\\ a' | { read -r a b; printf '%s\n' "x${a}x${b}x"; } diff --git a/tools/regression/bin/sh/builtins/read3.0.stdout b/tools/regression/bin/sh/builtins/read3.0.stdout deleted file mode 100644 index 8ed98ca..0000000 --- a/tools/regression/bin/sh/builtins/read3.0.stdout +++ /dev/null @@ -1,9 +0,0 @@ -xa bxcx -xaxb cx -xa:bxcx -xaxb:cx -x axx -x:axx -x\xx -x\ axx -x\\\xax diff --git a/tools/regression/bin/sh/builtins/read4.0 b/tools/regression/bin/sh/builtins/read4.0 deleted file mode 100644 index 7204a35..0000000 --- a/tools/regression/bin/sh/builtins/read4.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -printf '%s\n' '\a\ b c' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\a b\ c' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\a\:b:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\a:b\:c' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\:a' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\\ a' | { read a b; printf '%s\n' "x${a}x${b}x"; } -printf '%s\n' '\\\:a' | { IFS=: read a b; printf '%s\n' "x${a}x${b}x"; } diff --git a/tools/regression/bin/sh/builtins/read4.0.stdout b/tools/regression/bin/sh/builtins/read4.0.stdout deleted file mode 100644 index a8747a4..0000000 --- a/tools/regression/bin/sh/builtins/read4.0.stdout +++ /dev/null @@ -1,8 +0,0 @@ -xa bxcx -xaxb cx -xa:bxcx -xaxb:cx -x\xax -x\xax -x\ axx -x\:axx diff --git a/tools/regression/bin/sh/builtins/read5.0 b/tools/regression/bin/sh/builtins/read5.0 deleted file mode 100644 index 7d83391..0000000 --- a/tools/regression/bin/sh/builtins/read5.0 +++ /dev/null @@ -1,32 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.ISO8859-1 -export LC_CTYPE - -# Note: the first and last characters are not whitespace. -# Exclude backslash and newline. -bad1=`printf %03o \'\\\\` -bad2=`printf %03o \'' -'` -e= -for i in 0 1 2 3; do - for j in 0 1 2 3 4 5 6 7; do - for k in 0 1 2 3 4 5 6 7; do - case $i$j$k in - 000|$bad1|$bad2) continue ;; - esac - e="$e\\$i$j$k" - done - done -done -e=`printf "$e"` -[ "${#e}" = 253 ] || echo length bad - -r1=`printf '%s\n' "$e" | { read -r x; printf '%s' "$x"; }` -[ "$r1" = "$e" ] || echo "read with -r bad" -r2=`printf '%s\n' "$e" | { read x; printf '%s' "$x"; }` -[ "$r2" = "$e" ] || echo "read without -r bad 1" -IFS= -r3=`printf '%s\n' "$e" | { read x; printf '%s' "$x"; }` -[ "$r3" = "$e" ] || echo "read without -r bad 2" diff --git a/tools/regression/bin/sh/builtins/read6.0 b/tools/regression/bin/sh/builtins/read6.0 deleted file mode 100644 index 2168e10..0000000 --- a/tools/regression/bin/sh/builtins/read6.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -: | read x -r=$? -[ "$r" = 1 ] diff --git a/tools/regression/bin/sh/builtins/read7.0 b/tools/regression/bin/sh/builtins/read7.0 deleted file mode 100644 index e78f887..0000000 --- a/tools/regression/bin/sh/builtins/read7.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -{ errmsg=`read x <&- 2>&1 >&3`; } 3>&1 -r=$? -[ "$r" -ge 2 ] && [ "$r" -le 128 ] && [ -n "$errmsg" ] diff --git a/tools/regression/bin/sh/builtins/return1.0 b/tools/regression/bin/sh/builtins/return1.0 deleted file mode 100644 index 787e892..0000000 --- a/tools/regression/bin/sh/builtins/return1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -f() { - return 0 - exit 1 -} - -f diff --git a/tools/regression/bin/sh/builtins/return2.1 b/tools/regression/bin/sh/builtins/return2.1 deleted file mode 100644 index 0ef8171..0000000 --- a/tools/regression/bin/sh/builtins/return2.1 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -f() { - true && return 1 - return 0 -} - -f diff --git a/tools/regression/bin/sh/builtins/return3.1 b/tools/regression/bin/sh/builtins/return3.1 deleted file mode 100644 index 605ec68..0000000 --- a/tools/regression/bin/sh/builtins/return3.1 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -return 1 -exit 0 diff --git a/tools/regression/bin/sh/builtins/return4.0 b/tools/regression/bin/sh/builtins/return4.0 deleted file mode 100644 index be5582b..0000000 --- a/tools/regression/bin/sh/builtins/return4.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) || exit -trap 'rm -rf $T' 0 -cd $T || exit 3 -echo 'return 42; exit 4' >testscript -. ./testscript -[ "$?" = 42 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/return5.0 b/tools/regression/bin/sh/builtins/return5.0 deleted file mode 100644 index 6e4b7bd..0000000 --- a/tools/regression/bin/sh/builtins/return5.0 +++ /dev/null @@ -1,17 +0,0 @@ -# $FreeBSD$ - -if [ "$1" != nested ]; then - f() { - set -- nested - . "$0" - # Allow return to return from the function or the dot script. - return 4 - } - f - exit $(($? ^ 4)) -fi -# To trigger the bug, the following commands must be at the top level, -# with newlines in between. -return 4 -echo bad -exit 1 diff --git a/tools/regression/bin/sh/builtins/return6.4 b/tools/regression/bin/sh/builtins/return6.4 deleted file mode 100644 index e4d8e0d..0000000 --- a/tools/regression/bin/sh/builtins/return6.4 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -while return 4; do exit 3; done diff --git a/tools/regression/bin/sh/builtins/return7.4 b/tools/regression/bin/sh/builtins/return7.4 deleted file mode 100644 index 2047373..0000000 --- a/tools/regression/bin/sh/builtins/return7.4 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -f() { - while return 4; do exit 3; done -} -f diff --git a/tools/regression/bin/sh/builtins/return8.0 b/tools/regression/bin/sh/builtins/return8.0 deleted file mode 100644 index f00e859..0000000 --- a/tools/regression/bin/sh/builtins/return8.0 +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ - -if [ "$1" = nested ]; then - return 17 -fi - -f() { - set -- nested - . "$0" - return $(($? ^ 1)) -} -f -exit $(($? ^ 16)) diff --git a/tools/regression/bin/sh/builtins/set1.0 b/tools/regression/bin/sh/builtins/set1.0 deleted file mode 100644 index fc39fad..0000000 --- a/tools/regression/bin/sh/builtins/set1.0 +++ /dev/null @@ -1,32 +0,0 @@ -# $FreeBSD$ - -set +C -set +f -set -e - -settings=$(set +o) -set -C -set -f -set +e -case $- in -*C*) ;; -*) echo missing C ;; -esac -case $- in -*f*) ;; -*) echo missing C ;; -esac -case $- in -*e*) echo bad e ;; -esac -eval "$settings" -case $- in -*C*) echo bad C ;; -esac -case $- in -*f*) echo bad f ;; -esac -case $- in -*e*) ;; -*) echo missing e ;; -esac diff --git a/tools/regression/bin/sh/builtins/set2.0 b/tools/regression/bin/sh/builtins/set2.0 deleted file mode 100644 index ad13eab..0000000 --- a/tools/regression/bin/sh/builtins/set2.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -! env @badness=1 ${SH} -c 'v=`set`; eval "$v"' 2>&1 | grep @badness diff --git a/tools/regression/bin/sh/builtins/trap1.0 b/tools/regression/bin/sh/builtins/trap1.0 deleted file mode 100644 index 313f6a3..0000000 --- a/tools/regression/bin/sh/builtins/trap1.0 +++ /dev/null @@ -1,22 +0,0 @@ -# $FreeBSD$ - -test "$(trap 'echo trapped' EXIT; :)" = trapped || exit 1 - -test "$(trap 'echo trapped' EXIT; /usr/bin/true)" = trapped || exit 1 - -result=$(${SH} -c 'trap "echo trapped" EXIT; /usr/bin/false') -test $? -eq 1 || exit 1 -test "$result" = trapped || exit 1 - -result=$(${SH} -c 'trap "echo trapped" EXIT; exec /usr/bin/false') -test $? -eq 1 || exit 1 -test -z "$result" || exit 1 - -result=0 -trap 'result=$((result+1))' INT -kill -INT $$ -test "$result" -eq 1 || exit 1 -(kill -INT $$) -test "$result" -eq 2 || exit 1 - -exit 0 diff --git a/tools/regression/bin/sh/builtins/trap10.0 b/tools/regression/bin/sh/builtins/trap10.0 deleted file mode 100644 index fa0e35d..0000000 --- a/tools/regression/bin/sh/builtins/trap10.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -# Check that the return statement will not break the EXIT trap, ie. all -# trap commands are executed before the script exits. - -test "$(trap 'printf trap; echo ped' EXIT; f() { return; }; f)" = trapped || exit 1 diff --git a/tools/regression/bin/sh/builtins/trap11.0 b/tools/regression/bin/sh/builtins/trap11.0 deleted file mode 100644 index cfeea9e..0000000 --- a/tools/regression/bin/sh/builtins/trap11.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -# Check that the return statement will not break the USR1 trap, ie. all -# trap commands are executed before the script resumes. - -result=$(${SH} -c 'trap "printf trap; echo ped" USR1; f() { return $(kill -USR1 $$); }; f') -test $? -eq 0 || exit 1 -test "$result" = trapped || exit 1 diff --git a/tools/regression/bin/sh/builtins/trap12.0 b/tools/regression/bin/sh/builtins/trap12.0 deleted file mode 100644 index 8c62ffd..0000000 --- a/tools/regression/bin/sh/builtins/trap12.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -f() { - trap 'return 42' USR1 - kill -USR1 $$ - return 3 -} -f -r=$? -[ "$r" = 42 ] diff --git a/tools/regression/bin/sh/builtins/trap2.0 b/tools/regression/bin/sh/builtins/trap2.0 deleted file mode 100644 index a05287a..0000000 --- a/tools/regression/bin/sh/builtins/trap2.0 +++ /dev/null @@ -1,52 +0,0 @@ -# $FreeBSD$ -# This is really a test for outqstr(), which is readily accessible via trap. - -runtest() -{ - teststring=$1 - trap -- "$teststring" USR1 - traps=$(trap) - if [ "$teststring" != "-" ] && [ -z "$traps" ]; then - # One possible reading of POSIX requires the above to return an - # empty string because backquote commands are executed in a - # subshell and subshells shall reset traps. However, an example - # in the normative description of the trap builtin shows the - # same usage as here, it is useful and our /bin/sh allows it. - echo '$(trap) is broken' - exit 1 - fi - trap - USR1 - eval "$traps" - traps2=$(trap) - if [ "$traps" != "$traps2" ]; then - echo "Mismatch for '$teststring'" - exit 1 - fi -} - -runtest 'echo' -runtest 'echo hi' -runtest "'echo' 'hi'" -runtest '"echo" $PATH' -runtest '\echo "$PATH"' -runtest ' 0' -runtest '0 ' -runtest ' 1' -runtest '1 ' -i=1 -while [ $i -le 127 ]; do - c=$(printf \\"$(printf %o $i)") - if [ $i -lt 48 ] || [ $i -gt 57 ]; then - runtest "$c" - fi - runtest " $c$c" - runtest "a$c" - i=$((i+1)) -done -IFS=, -runtest ' ' -runtest ',' -unset IFS -runtest ' ' - -exit 0 diff --git a/tools/regression/bin/sh/builtins/trap3.0 b/tools/regression/bin/sh/builtins/trap3.0 deleted file mode 100644 index 8160729..0000000 --- a/tools/regression/bin/sh/builtins/trap3.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -{ - trap '' garbage && exit 3 - trap - garbage && exit 3 - trap true garbage && exit 3 - trap '' 99999 && exit 3 - trap - 99999 && exit 3 - trap true 99999 && exit 3 -} 2>/dev/null -exit 0 diff --git a/tools/regression/bin/sh/builtins/trap4.0 b/tools/regression/bin/sh/builtins/trap4.0 deleted file mode 100644 index 7f2080e..0000000 --- a/tools/regression/bin/sh/builtins/trap4.0 +++ /dev/null @@ -1,17 +0,0 @@ -# $FreeBSD$ - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd $T || exit 3 -mkfifo fifo1 - -v=$( - exec 3>&1 - : &3 2>/dev/null' PIPE - echo x 2>/dev/null - } >fifo1 -) -test "$v" = trapped diff --git a/tools/regression/bin/sh/builtins/trap5.0 b/tools/regression/bin/sh/builtins/trap5.0 deleted file mode 100644 index 56e0fb1..0000000 --- a/tools/regression/bin/sh/builtins/trap5.0 +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -set -e -trap - USR1 -initial=$(trap) -trap -- -l USR1 -added=$(trap) -[ -n "$added" ] -trap - USR1 -second=$(trap) -[ "$initial" = "$second" ] -eval "$added" -added2=$(trap) -added3=$(trap --) -[ "$added" = "$added2" ] -[ "$added2" = "$added3" ] -trap -- - USR1 -third=$(trap) -[ "$initial" = "$third" ] diff --git a/tools/regression/bin/sh/builtins/trap6.0 b/tools/regression/bin/sh/builtins/trap6.0 deleted file mode 100644 index bd2bf7e..0000000 --- a/tools/regression/bin/sh/builtins/trap6.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -v=$( - ${SH} -c 'trap "echo ok; exit" USR1; kill -USR1 $$' & - # Suppress possible message about exit on signal - wait $! >/dev/null 2>&1 -) -r=$(kill -l $?) -[ "$v" = "ok" ] && { [ "$r" = "USR1" ] || [ "$r" = "usr1" ]; } diff --git a/tools/regression/bin/sh/builtins/trap7.0 b/tools/regression/bin/sh/builtins/trap7.0 deleted file mode 100644 index 35529b8..0000000 --- a/tools/regression/bin/sh/builtins/trap7.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -[ "$(trap 'echo trapped' EXIT)" = trapped ] diff --git a/tools/regression/bin/sh/builtins/trap8.0 b/tools/regression/bin/sh/builtins/trap8.0 deleted file mode 100644 index cdce976..0000000 --- a/tools/regression/bin/sh/builtins/trap8.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# I am not sure if POSIX requires the shell to continue processing -# further trap names in the same trap command after an invalid one. - -test -n "$(trap true garbage TERM 2>/dev/null || trap)" || exit 3 -exit 0 diff --git a/tools/regression/bin/sh/builtins/trap9.0 b/tools/regression/bin/sh/builtins/trap9.0 deleted file mode 100644 index 0f584ec..0000000 --- a/tools/regression/bin/sh/builtins/trap9.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -test "$(trap 'printf trap; echo ped' EXIT; f() { :; }; f)" = trapped || exit 1 diff --git a/tools/regression/bin/sh/builtins/type1.0 b/tools/regression/bin/sh/builtins/type1.0 deleted file mode 100644 index c5e4564..0000000 --- a/tools/regression/bin/sh/builtins/type1.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ -command -v not-here && exit 1 -command -v /not-here && exit 1 -command -V not-here && exit 1 -command -V /not-here && exit 1 -type not-here && exit 1 -type /not-here && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/builtins/type1.0.stderr b/tools/regression/bin/sh/builtins/type1.0.stderr deleted file mode 100644 index 7853418..0000000 --- a/tools/regression/bin/sh/builtins/type1.0.stderr +++ /dev/null @@ -1,4 +0,0 @@ -not-here: not found -/not-here: No such file or directory -not-here: not found -/not-here: No such file or directory diff --git a/tools/regression/bin/sh/builtins/type2.0 b/tools/regression/bin/sh/builtins/type2.0 deleted file mode 100644 index fe44d95..0000000 --- a/tools/regression/bin/sh/builtins/type2.0 +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "$*"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check 'PATH=/libexec type ld-elf.so.1 >/dev/null' -check '! PATH=/libexec type ls 2>/dev/null' - -PATH=/libexec:$PATH - -check 'type ld-elf.so.1 >/dev/null' - -PATH=/libexec - -check 'type ld-elf.so.1 >/dev/null' -check '! type ls 2>/dev/null' -check 'PATH=/bin type ls >/dev/null' -check '! PATH=/bin type ld-elf.so.1 2>/dev/null' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/builtins/type3.0 b/tools/regression/bin/sh/builtins/type3.0 deleted file mode 100644 index 87cccdd..0000000 --- a/tools/regression/bin/sh/builtins/type3.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -[ "$(type type)" = "$(type -- type)" ] diff --git a/tools/regression/bin/sh/builtins/unalias.0 b/tools/regression/bin/sh/builtins/unalias.0 deleted file mode 100644 index 34d8d6e..0000000 --- a/tools/regression/bin/sh/builtins/unalias.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ -set -e - -alias false=true -false -unalias false -false && exit 1 -unalias false && exit 1 - -alias a1=foo a2=bar -unalias a1 a2 -unalias a1 && exit 1 -unalias a2 && exit 1 -alias a2=bar -unalias a1 a2 && exit 1 - -alias a1=foo a2=bar -unalias -a -unalias a1 && exit 1 -unalias a2 && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/builtins/var-assign.0 b/tools/regression/bin/sh/builtins/var-assign.0 deleted file mode 100644 index ace39c0..0000000 --- a/tools/regression/bin/sh/builtins/var-assign.0 +++ /dev/null @@ -1,55 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break,\ - :,\ - continue,\ - . /dev/null, - eval, - exec, - export -p, - readonly -p, - set, - shift 0, - times, - trap, - unset foo" - -UTILS="alias,\ - bg,\ - bind,\ - cd,\ - command echo,\ - echo,\ - false,\ - fc -l,\ - fg,\ - getopts a var,\ - hash,\ - jobs,\ - printf a,\ - pwd,\ - read var < /dev/null,\ - test,\ - true,\ - type ls,\ - ulimit,\ - umask,\ - unalias -a,\ - wait" - -set -e - -# For special built-ins variable assignments affect the shell environment. -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "VAR=1; VAR=0 ${cmd}; exit \${VAR}" >/dev/null 2>&1 -done - -# For other built-ins and utilites they do not. -set -- ${UTILS} -for cmd in "$@" -do - ${SH} -c "VAR=0; VAR=1 ${cmd}; exit \${VAR}" >/dev/null 2>&1 -done diff --git a/tools/regression/bin/sh/builtins/var-assign2.0 b/tools/regression/bin/sh/builtins/var-assign2.0 deleted file mode 100644 index eafec89..0000000 --- a/tools/regression/bin/sh/builtins/var-assign2.0 +++ /dev/null @@ -1,55 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break,\ - :,\ - continue,\ - . /dev/null,\ - eval,\ - exec,\ - export -p,\ - readonly -p,\ - set,\ - shift 0,\ - times,\ - trap,\ - unset foo" - -UTILS="alias,\ - bg,\ - bind,\ - cd,\ - command echo,\ - echo,\ - false,\ - fc -l,\ - fg,\ - getopts a var,\ - hash,\ - jobs,\ - printf a,\ - pwd,\ - read var < /dev/null,\ - test,\ - true,\ - type ls,\ - ulimit,\ - umask,\ - unalias -a,\ - wait" - -set -e - -# With 'command', variable assignments do not affect the shell environment. - -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "VAR=0; VAR=1 command ${cmd}; exit \${VAR}" >/dev/null 2>&1 -done - -set -- ${UTILS} -for cmd in "$@" -do - ${SH} -c "VAR=0; VAR=1 command ${cmd}; exit \${VAR}" >/dev/null 2>&1 -done diff --git a/tools/regression/bin/sh/builtins/wait1.0 b/tools/regression/bin/sh/builtins/wait1.0 deleted file mode 100644 index 1ca8530..0000000 --- a/tools/regression/bin/sh/builtins/wait1.0 +++ /dev/null @@ -1,23 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -exit 4 & p4=$! -exit 8 & p8=$! -wait $p4 -[ $? = 4 ] || failure $LINENO -wait $p8 -[ $? = 8 ] || failure $LINENO - -exit 3 & p3=$! -exit 7 & p7=$! -wait $p7 -[ $? = 7 ] || failure $LINENO -wait $p3 -[ $? = 3 ] || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/wait10.0 b/tools/regression/bin/sh/builtins/wait10.0 deleted file mode 100644 index 864fc78..0000000 --- a/tools/regression/bin/sh/builtins/wait10.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -# Init cannot be a child of the shell. -exit 49 & p49=$! -wait 1 "$p49" -[ "$?" = 49 ] diff --git a/tools/regression/bin/sh/builtins/wait2.0 b/tools/regression/bin/sh/builtins/wait2.0 deleted file mode 100644 index e61455c..0000000 --- a/tools/regression/bin/sh/builtins/wait2.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -for i in 1 2 3 4 5 6 7 8 9 10; do - exit $i & -done -wait || failure $LINENO -wait || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/wait3.0 b/tools/regression/bin/sh/builtins/wait3.0 deleted file mode 100644 index 1ed5299..0000000 --- a/tools/regression/bin/sh/builtins/wait3.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -failures= -failure() { - echo "Error at line $1" >&2 - failures=x$failures -} - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd $T || exit 3 -mkfifo fifo1 -for i in 1 2 3 4 5 6 7 8 9 10; do - exit $i 4fifo1 -wait || failure $LINENO -(${SH} -c echo >&3) 2>/dev/null && failure $LINENO -wait || failure $LINENO - -test -z "$failures" diff --git a/tools/regression/bin/sh/builtins/wait4.0 b/tools/regression/bin/sh/builtins/wait4.0 deleted file mode 100644 index 7935131..0000000 --- a/tools/regression/bin/sh/builtins/wait4.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -T=`mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX` -trap 'rm -rf $T' 0 -cd $T || exit 3 -mkfifo fifo1 -trapped= -trap trapped=1 QUIT -{ kill -QUIT $$; sleep 1; exit 4; } >fifo1 & -wait $! fifo1 & -wait /dev/null && exit 1 - -# Special built-in utilities must abort on an assignment error. -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "readonly a=0; a=2 ${cmd}; exit 0" 2>/dev/null && exit 1 -done - -# Other utilities must not abort; we currently still execute them. -${SH} -c 'readonly a=0; a=1 true; exit $a' 2>/dev/null || exit 1 -${SH} -c 'readonly a=0; a=1 command :; exit $a' 2>/dev/null || exit 1 diff --git a/tools/regression/bin/sh/errors/assignment-error2.0 b/tools/regression/bin/sh/errors/assignment-error2.0 deleted file mode 100644 index ff4e629..0000000 --- a/tools/regression/bin/sh/errors/assignment-error2.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -set -e -HOME=/ -readonly HOME -cd /sbin -{ HOME=/bin cd; } 2>/dev/null || : -[ "$(pwd)" != /bin ] diff --git a/tools/regression/bin/sh/errors/backquote-error1.0 b/tools/regression/bin/sh/errors/backquote-error1.0 deleted file mode 100644 index 43e3303..0000000 --- a/tools/regression/bin/sh/errors/backquote-error1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -echo 'echo `for` echo ".BAD"CODE.' | ${SH} +m -i 2>&1 | grep -q BADCODE && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/errors/backquote-error2.0 b/tools/regression/bin/sh/errors/backquote-error2.0 deleted file mode 100644 index 5b49e2b..0000000 --- a/tools/regression/bin/sh/errors/backquote-error2.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -${SH} -c 'echo `echo .BA"DCODE.` -echo ".BAD"CODE.' 2>&1 | grep -q BADCODE && exit 1 -echo '`"`' | ${SH} -n 2>/dev/null && exit 1 -echo '`'"'"'`' | ${SH} -n 2>/dev/null && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/errors/bad-binary1.126 b/tools/regression/bin/sh/errors/bad-binary1.126 deleted file mode 100644 index d92e9de..0000000 --- a/tools/regression/bin/sh/errors/bad-binary1.126 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ -# Checking for binary "scripts" without magic number is permitted but not -# required by POSIX. However, it is preferable to getting errors like -# Syntax error: word unexpected (expecting ")") -# from trying to execute ELF binaries for the wrong architecture. - -T=`mktemp -d "${TMPDIR:-/tmp}/sh-test.XXXXXXXX"` || exit -trap 'rm -rf "${T}"' 0 -printf '\0echo bad\n' >"$T/testshellproc" -chmod 755 "$T/testshellproc" -PATH=$T:$PATH -testshellproc 2>/dev/null diff --git a/tools/regression/bin/sh/errors/bad-keyword1.0 b/tools/regression/bin/sh/errors/bad-keyword1.0 deleted file mode 100644 index ac01536..0000000 --- a/tools/regression/bin/sh/errors/bad-keyword1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -echo ':; fi' | ${SH} -n 2>/dev/null && exit 1 -exit 0 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp1.0 b/tools/regression/bin/sh/errors/bad-parm-exp1.0 deleted file mode 100644 index 6e94994..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -false && { - ${} - ${foo/} - ${foo@bar} -} -: diff --git a/tools/regression/bin/sh/errors/bad-parm-exp2.2 b/tools/regression/bin/sh/errors/bad-parm-exp2.2 deleted file mode 100644 index 7e13d2b..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp2.2 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -${} diff --git a/tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr b/tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr deleted file mode 100644 index d027a5a..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr +++ /dev/null @@ -1 +0,0 @@ -./errors/bad-parm-exp2.2: ${}: Bad substitution diff --git a/tools/regression/bin/sh/errors/bad-parm-exp3.2 b/tools/regression/bin/sh/errors/bad-parm-exp3.2 deleted file mode 100644 index a5ecba5..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp3.2 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -${foo/} diff --git a/tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr b/tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr deleted file mode 100644 index ef40251..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr +++ /dev/null @@ -1 +0,0 @@ -./errors/bad-parm-exp3.2: ${foo/}: Bad substitution diff --git a/tools/regression/bin/sh/errors/bad-parm-exp4.2 b/tools/regression/bin/sh/errors/bad-parm-exp4.2 deleted file mode 100644 index 9eec8d0..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp4.2 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -${foo:@abc} diff --git a/tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr b/tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr deleted file mode 100644 index 89bd80f..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr +++ /dev/null @@ -1 +0,0 @@ -./errors/bad-parm-exp4.2: ${foo:@...}: Bad substitution diff --git a/tools/regression/bin/sh/errors/bad-parm-exp5.2 b/tools/regression/bin/sh/errors/bad-parm-exp5.2 deleted file mode 100644 index 459281f..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp5.2 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -${/} diff --git a/tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr b/tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr deleted file mode 100644 index 89b1997..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr +++ /dev/null @@ -1 +0,0 @@ -./errors/bad-parm-exp5.2: ${/}: Bad substitution diff --git a/tools/regression/bin/sh/errors/bad-parm-exp6.2 b/tools/regression/bin/sh/errors/bad-parm-exp6.2 deleted file mode 100644 index ba51442..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp6.2 +++ /dev/null @@ -1,2 +0,0 @@ -# $FreeBSD$ -${#foo^} diff --git a/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr b/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr deleted file mode 100644 index dbf14b5..0000000 --- a/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr +++ /dev/null @@ -1 +0,0 @@ -./errors/bad-parm-exp6.2: ${foo...}: Bad substitution diff --git a/tools/regression/bin/sh/errors/option-error.0 b/tools/regression/bin/sh/errors/option-error.0 deleted file mode 100644 index b4b44c4..0000000 --- a/tools/regression/bin/sh/errors/option-error.0 +++ /dev/null @@ -1,46 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break abc,\ - continue abc,\ - ., - exit abc, - export -x, - readonly -x, - return abc, - set -z, - shift abc, - trap -y, - unset -y" - -UTILS="alias -y,\ - cat -z,\ - cd abc def,\ - command break abc,\ - expr 1 +,\ - fc -z,\ - getopts,\ - hash -z,\ - jobs -z,\ - printf,\ - pwd abc,\ - read,\ - test abc =,\ - ulimit -z,\ - umask -z,\ - unalias -z,\ - wait abc" - -# Special built-in utilities must abort on an option or operand error. -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "${cmd}; exit 0" 2>/dev/null && exit 1 -done - -# Other utilities must not abort. -set -- ${UTILS} -for cmd in "$@" -do - ${SH} -c "${cmd}; exit 0" 2>/dev/null || exit 1 -done diff --git a/tools/regression/bin/sh/errors/redirection-error.0 b/tools/regression/bin/sh/errors/redirection-error.0 deleted file mode 100644 index cb8c0b1..0000000 --- a/tools/regression/bin/sh/errors/redirection-error.0 +++ /dev/null @@ -1,53 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break,\ - :,\ - continue,\ - . /dev/null, - eval, - exec, - export -p, - readonly -p, - set, - shift, - times, - trap, - unset foo" - -UTILS="alias,\ - bg,\ - bind,\ - cd,\ - command echo,\ - echo,\ - false,\ - fc -l,\ - fg,\ - getopts a -a,\ - hash,\ - jobs,\ - printf a,\ - pwd,\ - read var < /dev/null,\ - test,\ - true,\ - type ls,\ - ulimit,\ - umask,\ - unalias -a,\ - wait" - -# Special built-in utilities must abort on a redirection error. -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 -done - -# Other utilities must not abort. -set -- ${UTILS} -for cmd in "$@" -do - ${SH} -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 -done diff --git a/tools/regression/bin/sh/errors/redirection-error2.2 b/tools/regression/bin/sh/errors/redirection-error2.2 deleted file mode 100644 index 32bccd8..0000000 --- a/tools/regression/bin/sh/errors/redirection-error2.2 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -# sh should fail gracefully on this bad redirect -${SH} -c 'echo 1 >&$a' 2>/dev/null diff --git a/tools/regression/bin/sh/errors/redirection-error3.0 b/tools/regression/bin/sh/errors/redirection-error3.0 deleted file mode 100644 index 8a07d03..0000000 --- a/tools/regression/bin/sh/errors/redirection-error3.0 +++ /dev/null @@ -1,54 +0,0 @@ -# $FreeBSD$ -IFS=, - -SPECIAL="break,\ - :,\ - continue,\ - . /dev/null,\ - eval,\ - exec,\ - export -p,\ - readonly -p,\ - set,\ - shift,\ - times,\ - trap,\ - unset foo" - -UTILS="alias,\ - bg,\ - bind,\ - cd,\ - command echo,\ - echo,\ - false,\ - fc -l,\ - fg,\ - getopts a -a,\ - hash,\ - jobs,\ - printf a,\ - pwd,\ - read var < /dev/null,\ - test,\ - true,\ - type ls,\ - ulimit,\ - umask,\ - unalias -a,\ - wait" - -# When used with 'command', neither special built-in utilities nor other -# utilities must abort on a redirection error. - -set -- ${SPECIAL} -for cmd in "$@" -do - ${SH} -c "command ${cmd} > /; exit 0" 2>/dev/null || exit 1 -done - -set -- ${UTILS} -for cmd in "$@" -do - ${SH} -c "command ${cmd} > /; exit 0" 2>/dev/null || exit 1 -done diff --git a/tools/regression/bin/sh/errors/redirection-error4.0 b/tools/regression/bin/sh/errors/redirection-error4.0 deleted file mode 100644 index 2060974..0000000 --- a/tools/regression/bin/sh/errors/redirection-error4.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -# A redirection error should not abort the shell if there is no command word. -exec 2>/dev/null -/dev/null -( echo bad ) /dev/null -{ echo bad; } &1 >&2 2>&3 - ulimit -n 9 - exec 9<. -) && [ -n "$dummy" ] diff --git a/tools/regression/bin/sh/errors/write-error1.0 b/tools/regression/bin/sh/errors/write-error1.0 deleted file mode 100644 index fcb52e7..0000000 --- a/tools/regression/bin/sh/errors/write-error1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -! echo >&- 2>/dev/null diff --git a/tools/regression/bin/sh/execution/bg1.0 b/tools/regression/bin/sh/execution/bg1.0 deleted file mode 100644 index edb92ae..0000000 --- a/tools/regression/bin/sh/execution/bg1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -: `false` & diff --git a/tools/regression/bin/sh/execution/bg2.0 b/tools/regression/bin/sh/execution/bg2.0 deleted file mode 100644 index 2e2fbc5..0000000 --- a/tools/regression/bin/sh/execution/bg2.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -f() { return 42; } -f -: | : & diff --git a/tools/regression/bin/sh/execution/bg3.0 b/tools/regression/bin/sh/execution/bg3.0 deleted file mode 100644 index 359fc6f..0000000 --- a/tools/regression/bin/sh/execution/bg3.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -f() { return 42; } -f -(:) & diff --git a/tools/regression/bin/sh/execution/bg4.0 b/tools/regression/bin/sh/execution/bg4.0 deleted file mode 100644 index 25e4f4e..0000000 --- a/tools/regression/bin/sh/execution/bg4.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -x='' -: ${x:=1} & -wait -exit ${x:-0} diff --git a/tools/regression/bin/sh/execution/fork1.0 b/tools/regression/bin/sh/execution/fork1.0 deleted file mode 100644 index 2eeac79..0000000 --- a/tools/regression/bin/sh/execution/fork1.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -shname=${SH%% *} -shname=${shname##*/} - -result=$(${SH} -c 'ps -p $$ -o comm=') -test "$result" = "ps" || exit 1 - -result=$(${SH} -c 'ps -p $$ -o comm=; :') -test "$result" = "$shname" || exit 1 diff --git a/tools/regression/bin/sh/execution/fork2.0 b/tools/regression/bin/sh/execution/fork2.0 deleted file mode 100644 index 62a2537..0000000 --- a/tools/regression/bin/sh/execution/fork2.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -result=$(${SH} -c '(/bin/sleep 1)& sleep 0.1; ps -p $! -o comm=; kill $!') -test "$result" = sleep || exit 1 - -result=$(${SH} -c '{ trap "echo trapped" EXIT; (/usr/bin/true); } & wait') -test "$result" = trapped || exit 1 - -exit 0 diff --git a/tools/regression/bin/sh/execution/fork3.0 b/tools/regression/bin/sh/execution/fork3.0 deleted file mode 100644 index 3cb678c..0000000 --- a/tools/regression/bin/sh/execution/fork3.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -result=$(${SH} -c 'f() { ps -p $$ -o comm=; }; f') -test "$result" = "ps" diff --git a/tools/regression/bin/sh/execution/func1.0 b/tools/regression/bin/sh/execution/func1.0 deleted file mode 100644 index 29fcc07..0000000 --- a/tools/regression/bin/sh/execution/func1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -MALLOC_OPTIONS=J ${SH} -c 'g() { g() { :; }; :; }; g' && -MALLOC_OPTIONS=J ${SH} -c 'g() { unset -f g; :; }; g' diff --git a/tools/regression/bin/sh/execution/func2.0 b/tools/regression/bin/sh/execution/func2.0 deleted file mode 100644 index 9830b5e..0000000 --- a/tools/regression/bin/sh/execution/func2.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ -# The empty pairs of braces here are to test that this does not cause a crash. - -f() { } -f -hash -v f >/dev/null -f() { { }; } -f -hash -v f >/dev/null -f() { { } } -f -hash -v f >/dev/null diff --git a/tools/regression/bin/sh/execution/func3.0 b/tools/regression/bin/sh/execution/func3.0 deleted file mode 100644 index e0ed581..0000000 --- a/tools/regression/bin/sh/execution/func3.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# This may fail when parsing or when defining the function, or the definition -# may silently do nothing. In no event may the function be executed. - -${SH} -c 'unset() { echo overriding function executed, bad; }; v=1; unset v; exit "${v-0}"' 2>/dev/null -: diff --git a/tools/regression/bin/sh/execution/hash1.0 b/tools/regression/bin/sh/execution/hash1.0 deleted file mode 100644 index a645c2a..0000000 --- a/tools/regression/bin/sh/execution/hash1.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -T=`mktemp -d "${TMPDIR:-/tmp}/sh-test.XXXXXXXX"` || exit -trap 'rm -rf "${T}"' 0 -PATH=$T:$PATH -ls -ld . >/dev/null -cat <"$T/ls" -: -EOF -chmod 755 "$T/ls" -PATH=$PATH -ls -ld . diff --git a/tools/regression/bin/sh/execution/int-cmd1.0 b/tools/regression/bin/sh/execution/int-cmd1.0 deleted file mode 100644 index a1f097b..0000000 --- a/tools/regression/bin/sh/execution/int-cmd1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -! echo echo bad | $SH -ic 'fi' 2>/dev/null diff --git a/tools/regression/bin/sh/execution/killed1.0 b/tools/regression/bin/sh/execution/killed1.0 deleted file mode 100644 index 41d3e05..0000000 --- a/tools/regression/bin/sh/execution/killed1.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ -# Sometimes the "Killed" message is not flushed soon enough and it -# is redirected along with the output of a builtin. -# Do not change the semicolon to a newline as it would hide the bug. - -exec 3>&1 -exec >/dev/null 2>&1 -${SH} -c 'kill -9 $$'; : >&3 2>&3 diff --git a/tools/regression/bin/sh/execution/killed2.0 b/tools/regression/bin/sh/execution/killed2.0 deleted file mode 100644 index 7ff3fe2..0000000 --- a/tools/regression/bin/sh/execution/killed2.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ -# Most shells print a message when a foreground job is killed by a signal. -# POSIX allows this, provided the message is sent to stderr, not stdout. -# Some trickery is needed to capture the message as redirecting stderr of -# the command itself does not affect it. The colon command ensures that -# the subshell forks for ${SH}. - -exec 3>&1 -r=`(${SH} -c 'kill $$'; :) 2>&1 >&3` -[ -n "$r" ] diff --git a/tools/regression/bin/sh/execution/not1.0 b/tools/regression/bin/sh/execution/not1.0 deleted file mode 100644 index 12c6265..0000000 --- a/tools/regression/bin/sh/execution/not1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -f() { ! return $1; } -f 0 && ! f 1 diff --git a/tools/regression/bin/sh/execution/not2.0 b/tools/regression/bin/sh/execution/not2.0 deleted file mode 100644 index 1b128d0..0000000 --- a/tools/regression/bin/sh/execution/not2.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -while :; do - ! break - exit 3 -done diff --git a/tools/regression/bin/sh/execution/path1.0 b/tools/regression/bin/sh/execution/path1.0 deleted file mode 100644 index 50829d6..0000000 --- a/tools/regression/bin/sh/execution/path1.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ -# Some builtins should not be overridable via PATH. - -set -e -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf ${T}' 0 -echo '#!/bin/sh -echo bad' >"$T/cd" -chmod 755 "$T/cd" -cd /bin -oPATH=$PATH -PATH=$T:$PATH:%builtin -cd / -PATH=$oPATH -[ "$(pwd)" = / ] diff --git a/tools/regression/bin/sh/execution/redir1.0 b/tools/regression/bin/sh/execution/redir1.0 deleted file mode 100644 index dd0011f..0000000 --- a/tools/regression/bin/sh/execution/redir1.0 +++ /dev/null @@ -1,27 +0,0 @@ -# $FreeBSD$ -trap ': $((brokenpipe+=1))' PIPE - -P=${TMPDIR:-/tmp} -cd $P -T=$(mktemp -d sh-test.XXXXXX) -cd $T - -brokenpipe=0 -mkfifo fifo1 fifo2 -read dummy >fifo2 fifo2 -} 3fifo1 -if [ $brokenpipe -ne 0 ]; then - rc=3 -fi -wait -echo dummy >&4 2>/dev/null -if [ $brokenpipe -eq 1 ]; then - : ${rc:=0} -fi - -rm fifo1 fifo2 -rmdir ${P}/${T} -exit ${rc:-3} diff --git a/tools/regression/bin/sh/execution/redir2.0 b/tools/regression/bin/sh/execution/redir2.0 deleted file mode 100644 index 1588105..0000000 --- a/tools/regression/bin/sh/execution/redir2.0 +++ /dev/null @@ -1,29 +0,0 @@ -# $FreeBSD$ -trap ': $((brokenpipe+=1))' PIPE - -P=${TMPDIR:-/tmp} -cd $P -T=$(mktemp -d sh-test.XXXXXX) -cd $T - -brokenpipe=0 -mkfifo fifo1 fifo2 -{ - { - exec ${SH} -c 'exec fifo2 -exec 3>fifo1 -echo dummy >&4 2>/dev/null -if [ $brokenpipe -eq 1 ]; then - : ${rc:=0} -fi -echo dummy >&3 -wait - -rm fifo1 fifo2 -rmdir ${P}/${T} -exit ${rc:-3} diff --git a/tools/regression/bin/sh/execution/redir3.0 b/tools/regression/bin/sh/execution/redir3.0 deleted file mode 100644 index d68e450..0000000 --- a/tools/regression/bin/sh/execution/redir3.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -3>&- 3>&- diff --git a/tools/regression/bin/sh/execution/redir4.0 b/tools/regression/bin/sh/execution/redir4.0 deleted file mode 100644 index 57054c1..0000000 --- a/tools/regression/bin/sh/execution/redir4.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -{ echo bad 0>&3; } 2>/dev/null 3>/dev/null 3>&- -exit 0 diff --git a/tools/regression/bin/sh/execution/redir5.0 b/tools/regression/bin/sh/execution/redir5.0 deleted file mode 100644 index 707ca68..0000000 --- a/tools/regression/bin/sh/execution/redir5.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -{ (echo bad) >/dev/null; } &2 - failures=$((failures + 1)) - fi -} - -check $LINENO "$(trap "echo bye" EXIT; : >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; { :; } >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; (:) >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; (: >/dev/null))" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; : >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; { :; } >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; (:) >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; (: >/dev/null)')" bye - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/execution/redir7.0 b/tools/regression/bin/sh/execution/redir7.0 deleted file mode 100644 index 2487bcf..0000000 --- a/tools/regression/bin/sh/execution/redir7.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ "$2" != "$3" ]; then - echo "Failure at $1" >&2 - failures=$((failures + 1)) - fi -} - -check $LINENO "$(trap "echo bye" EXIT; f() { :; }; f >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f) >/dev/null)" bye -check $LINENO "$(trap "echo bye" EXIT; f() { :; }; (f >/dev/null))" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; f >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; { f; } >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f) >/dev/null')" bye -check $LINENO "$(${SH} -c 'trap "echo bye" EXIT; f() { :; }; (f >/dev/null)')" bye - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/execution/set-n1.0 b/tools/regression/bin/sh/execution/set-n1.0 deleted file mode 100644 index 14c9b93..0000000 --- a/tools/regression/bin/sh/execution/set-n1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -v=$( ($SH -n <<'EOF' -for -EOF -) 2>&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/execution/set-n2.0 b/tools/regression/bin/sh/execution/set-n2.0 deleted file mode 100644 index c7f3162..0000000 --- a/tools/regression/bin/sh/execution/set-n2.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -$SH -n <<'EOF' -echo bad -EOF diff --git a/tools/regression/bin/sh/execution/set-n3.0 b/tools/regression/bin/sh/execution/set-n3.0 deleted file mode 100644 index 24a9159..0000000 --- a/tools/regression/bin/sh/execution/set-n3.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -v=$( ($SH -nc 'for') 2>&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/execution/set-n4.0 b/tools/regression/bin/sh/execution/set-n4.0 deleted file mode 100644 index 3698508..0000000 --- a/tools/regression/bin/sh/execution/set-n4.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -$SH -nc 'echo bad' diff --git a/tools/regression/bin/sh/execution/set-x1.0 b/tools/regression/bin/sh/execution/set-x1.0 deleted file mode 100644 index 7fe1dbf..0000000 --- a/tools/regression/bin/sh/execution/set-x1.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -key='must_contain_this' -{ r=`set -x; { : "$key"; } 2>&1 >/dev/null`; } 2>/dev/null -case $r in -*"$key"*) true ;; -*) false ;; -esac diff --git a/tools/regression/bin/sh/execution/set-x2.0 b/tools/regression/bin/sh/execution/set-x2.0 deleted file mode 100644 index 56d54e3..0000000 --- a/tools/regression/bin/sh/execution/set-x2.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -key='must contain this' -PS4="$key+ " -{ r=`set -x; { :; } 2>&1 >/dev/null`; } 2>/dev/null -case $r in -*"$key"*) true ;; -*) false ;; -esac diff --git a/tools/regression/bin/sh/execution/set-x3.0 b/tools/regression/bin/sh/execution/set-x3.0 deleted file mode 100644 index 1ca57ac..0000000 --- a/tools/regression/bin/sh/execution/set-x3.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -key='must contain this' -PS4='$key+ ' -{ r=`set -x; { :; } 2>&1 >/dev/null`; } 2>/dev/null -case $r in -*"$key"*) true ;; -*) false ;; -esac diff --git a/tools/regression/bin/sh/execution/shellproc1.0 b/tools/regression/bin/sh/execution/shellproc1.0 deleted file mode 100644 index 1326bc2..0000000 --- a/tools/regression/bin/sh/execution/shellproc1.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -T=`mktemp -d "${TMPDIR:-/tmp}/sh-test.XXXXXXXX"` || exit -trap 'rm -rf "${T}"' 0 -cat <"$T/testshellproc" -printf 'this ' -echo is a test -EOF -chmod 755 "$T/testshellproc" -PATH=$T:$PATH -[ "`testshellproc`" = "this is a test" ] diff --git a/tools/regression/bin/sh/execution/subshell1.0 b/tools/regression/bin/sh/execution/subshell1.0 deleted file mode 100644 index 347806e..0000000 --- a/tools/regression/bin/sh/execution/subshell1.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -(eval "cd / -v=$(printf %0100000d 1) -echo \${#v}") -echo end diff --git a/tools/regression/bin/sh/execution/subshell1.0.stdout b/tools/regression/bin/sh/execution/subshell1.0.stdout deleted file mode 100644 index 8c71af3..0000000 --- a/tools/regression/bin/sh/execution/subshell1.0.stdout +++ /dev/null @@ -1,2 +0,0 @@ -100000 -end diff --git a/tools/regression/bin/sh/execution/subshell2.0 b/tools/regression/bin/sh/execution/subshell2.0 deleted file mode 100644 index 3216449..0000000 --- a/tools/regression/bin/sh/execution/subshell2.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -f() { - x=2 -} -( - x=1 - f - [ "$x" = 2 ] -) diff --git a/tools/regression/bin/sh/execution/subshell3.0 b/tools/regression/bin/sh/execution/subshell3.0 deleted file mode 100644 index 9a87acb..0000000 --- a/tools/regression/bin/sh/execution/subshell3.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -(false; exit) && exit 3 -exit 0 diff --git a/tools/regression/bin/sh/execution/subshell4.0 b/tools/regression/bin/sh/execution/subshell4.0 deleted file mode 100644 index b39edb1..0000000 --- a/tools/regression/bin/sh/execution/subshell4.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -(eval "set v=1"; false) && echo bad; : diff --git a/tools/regression/bin/sh/execution/unknown1.0 b/tools/regression/bin/sh/execution/unknown1.0 deleted file mode 100644 index 45f541e..0000000 --- a/tools/regression/bin/sh/execution/unknown1.0 +++ /dev/null @@ -1,29 +0,0 @@ -# $FreeBSD$ - -nosuchtool 2>/dev/null -[ $? -ne 127 ] && exit 1 -/var/empty/nosuchtool 2>/dev/null -[ $? -ne 127 ] && exit 1 -(nosuchtool) 2>/dev/null -[ $? -ne 127 ] && exit 1 -(/var/empty/nosuchtool) 2>/dev/null -[ $? -ne 127 ] && exit 1 -/ 2>/dev/null -[ $? -ne 126 ] && exit 1 -PATH=/usr bin 2>/dev/null -[ $? -ne 126 ] && exit 1 - -dummy=$(nosuchtool 2>/dev/null) -[ $? -ne 127 ] && exit 1 -dummy=$(/var/empty/nosuchtool 2>/dev/null) -[ $? -ne 127 ] && exit 1 -dummy=$( (nosuchtool) 2>/dev/null) -[ $? -ne 127 ] && exit 1 -dummy=$( (/var/empty/nosuchtool) 2>/dev/null) -[ $? -ne 127 ] && exit 1 -dummy=$(/ 2>/dev/null) -[ $? -ne 126 ] && exit 1 -dummy=$(PATH=/usr bin 2>/dev/null) -[ $? -ne 126 ] && exit 1 - -exit 0 diff --git a/tools/regression/bin/sh/execution/var-assign1.0 b/tools/regression/bin/sh/execution/var-assign1.0 deleted file mode 100644 index 26e5424..0000000 --- a/tools/regression/bin/sh/execution/var-assign1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -[ "$(HOME=/etc HOME=/ cd && pwd)" = / ] diff --git a/tools/regression/bin/sh/expansion/arith1.0 b/tools/regression/bin/sh/expansion/arith1.0 deleted file mode 100644 index 118ba22..0000000 --- a/tools/regression/bin/sh/expansion/arith1.0 +++ /dev/null @@ -1,30 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -check "0&&0" 0 -check "1&&0" 0 -check "0&&1" 0 -check "1&&1" 1 -check "2&&2" 1 -check "1&&2" 1 -check "1<<40&&1<<40" 1 -check "1<<40&&4" 1 - -check "0||0" 0 -check "1||0" 1 -check "0||1" 1 -check "1||1" 1 -check "2||2" 1 -check "1||2" 1 -check "1<<40||1<<40" 1 -check "1<<40||4" 1 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith10.0 b/tools/regression/bin/sh/expansion/arith10.0 deleted file mode 100644 index 1aaf619..0000000 --- a/tools/regression/bin/sh/expansion/arith10.0 +++ /dev/null @@ -1,35 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -readonly ro=4 -rw=1 -check "0 && 0 / 0" 0 -check "1 || 0 / 0" 1 -check "0 && (ro = 2)" 0 -check "ro" 4 -check "1 || (ro = -1)" 1 -check "ro" 4 -check "0 && (rw += 1)" 0 -check "rw" 1 -check "1 || (rw += 1)" 1 -check "rw" 1 -check "0 ? 44 / 0 : 51" 51 -check "0 ? ro = 3 : 52" 52 -check "ro" 4 -check "0 ? rw += 1 : 52" 52 -check "rw" 1 -check "1 ? 68 : 30 / 0" 68 -check "2 ? 1 : (ro += 2)" 1 -check "ro" 4 -check "4 ? 1 : (rw += 1)" 1 -check "rw" 1 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith11.0 b/tools/regression/bin/sh/expansion/arith11.0 deleted file mode 100644 index 6bc7369..0000000 --- a/tools/regression/bin/sh/expansion/arith11.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ -# Try to divide the smallest integer by -1. -# On amd64 this causes SIGFPE, so make sure the shell checks. - -# Calculate the minimum possible value, assuming two's complement and -# a certain interpretation of overflow when shifting left. -minint=1 -while [ $((minint <<= 1)) -gt 0 ]; do - : -done -v=$( eval ': $((minint / -1))' 2>&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/expansion/arith12.0 b/tools/regression/bin/sh/expansion/arith12.0 deleted file mode 100644 index cb7da3b..0000000 --- a/tools/regression/bin/sh/expansion/arith12.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -_x=4 y_=5 z_z=6 -[ "$((_x*100+y_*10+z_z))" = 456 ] diff --git a/tools/regression/bin/sh/expansion/arith13.0 b/tools/regression/bin/sh/expansion/arith13.0 deleted file mode 100644 index 207e488..0000000 --- a/tools/regression/bin/sh/expansion/arith13.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ -# Pre-increment and pre-decrement in arithmetic expansion are not in POSIX. -# Require either an error or a correct implementation. - -! (eval 'x=4; [ $((++x)) != 5 ] || [ $x != 5 ]') 2>/dev/null && -! (eval 'x=2; [ $((--x)) != 1 ] || [ $x != 1 ]') 2>/dev/null diff --git a/tools/regression/bin/sh/expansion/arith2.0 b/tools/regression/bin/sh/expansion/arith2.0 deleted file mode 100644 index 95b48a0..0000000 --- a/tools/regression/bin/sh/expansion/arith2.0 +++ /dev/null @@ -1,77 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -# variables -unset v -check "v=2" 2 -check "v" 2 -check "$(($v))" 2 -check "v+=1" 3 -check "v" 3 - -# constants -check "4611686018427387904" 4611686018427387904 -check "0x4000000000000000" 4611686018427387904 -check "0400000000000000000000" 4611686018427387904 -check "0x4Ab0000000000000" 5381801554707742720 -check "010" 8 - -# try out all operators -v=42 -check "!v" 0 -check "!!v" 1 -check "!0" 1 -check "~0" -1 -check "~(-1)" 0 -check "-0" 0 -check "-v" -42 -check "v*v" 1764 -check "v/2" 21 -check "v%10" 2 -check "v+v" 84 -check "v-4" 38 -check "v<<1" 84 -check "v>>1" 21 -check "v<43" 1 -check "v>42" 0 -check "v<=43" 1 -check "v>=43" 0 -check "v==41" 0 -check "v!=42" 0 -check "v&3" 2 -check "v^3" 41 -check "v|3" 43 -check "v>=40&&v<=44" 1 -check "v<40||v>44" 0 -check "(v=42)&&(v+=1)==43" 1 -check "v" 43 -check "(v=42)&&(v-=1)==41" 1 -check "v" 41 -check "(v=42)&&(v*=2)==84" 1 -check "v" 84 -check "(v=42)&&(v/=10)==4" 1 -check "v" 4 -check "(v=42)&&(v%=10)==2" 1 -check "v" 2 -check "(v=42)&&(v<<=1)==84" 1 -check "v" 84 -check "(v=42)&&(v>>=2)==10" 1 -check "v" 10 -check "(v=42)&&(v&=32)==32" 1 -check "v" 32 -check "(v=42)&&(v^=32)==10" 1 -check "v" 10 -check "(v=42)&&(v|=32)==42" 1 -check "v" 42 - -# missing: ternary - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith3.0 b/tools/regression/bin/sh/expansion/arith3.0 deleted file mode 100644 index b69159d..0000000 --- a/tools/regression/bin/sh/expansion/arith3.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -check "1 << 1 + 1 | 1" 5 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith4.0 b/tools/regression/bin/sh/expansion/arith4.0 deleted file mode 100644 index 610dad8..0000000 --- a/tools/regression/bin/sh/expansion/arith4.0 +++ /dev/null @@ -1,20 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -check '20 / 2 / 2' 5 -check '20 - 2 - 2' 16 -unset a b c d -check "a = b = c = d = 1" 1 -check "a == 1 && b == 1 && c == 1 && d == 1" 1 -check "a += b += c += d" 4 -check "a == 4 && b == 3 && c == 2 && d == 1" 1 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith5.0 b/tools/regression/bin/sh/expansion/arith5.0 deleted file mode 100644 index d0f2331..0000000 --- a/tools/regression/bin/sh/expansion/arith5.0 +++ /dev/null @@ -1,17 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ "$2" != "$3" ]; then - failures=$((failures+1)) - echo "For $1, expected $3 actual $2" - fi -} - -unset a -check '$((1+${a:-$((7+2))}))' "$((1+${a:-$((7+2))}))" 10 -check '$((1+${a:=$((2+2))}))' "$((1+${a:=$((2+2))}))" 5 -check '$a' "$a" 4 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/arith6.0 b/tools/regression/bin/sh/expansion/arith6.0 deleted file mode 100644 index fc4589c..0000000 --- a/tools/regression/bin/sh/expansion/arith6.0 +++ /dev/null @@ -1,16 +0,0 @@ -# $FreeBSD$ - -v1=1\ +\ 1 -v2=D -v3=C123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 -f() { v4="$*"; } - -while [ ${#v2} -lt 1250 ]; do - eval $v2=$((3+${#v2})) $v3=$((4-${#v2})) - eval f $(($v2+ $v1 +$v3)) - if [ $v4 -ne 9 ]; then - echo bad: $v4 -ne 9 at ${#v2} - fi - v2=x$v2 - v3=y$v3 -done diff --git a/tools/regression/bin/sh/expansion/arith7.0 b/tools/regression/bin/sh/expansion/arith7.0 deleted file mode 100644 index 5aada2b..0000000 --- a/tools/regression/bin/sh/expansion/arith7.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -v=1+ -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -[ "$(cat <&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/expansion/arith9.0 b/tools/regression/bin/sh/expansion/arith9.0 deleted file mode 100644 index cc8b597..0000000 --- a/tools/regression/bin/sh/expansion/arith9.0 +++ /dev/null @@ -1,20 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if [ $(($1)) != $2 ]; then - failures=$((failures+1)) - echo "For $1, expected $2 actual $(($1))" - fi -} - -check "0 ? 44 : 51" 51 -check "1 ? 68 : 30" 68 -check "2 ? 1 : -5" 1 -check "0 ? 4 : 0 ? 5 : 6" 6 -check "0 ? 4 : 1 ? 5 : 6" 5 -check "1 ? 4 : 0 ? 5 : 6" 4 -check "1 ? 4 : 1 ? 5 : 6" 4 - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/assign1.0 b/tools/regression/bin/sh/expansion/assign1.0 deleted file mode 100644 index d4fa772..0000000 --- a/tools/regression/bin/sh/expansion/assign1.0 +++ /dev/null @@ -1,37 +0,0 @@ -# $FreeBSD$ - -e= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' -h='##' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'v=; set -- ${v=a b} $v' '0|' -testcase 'unset v; set -- ${v=a b} $v' '4|a|b|a|b' -testcase 'v=; set -- ${v:=a b} $v' '4|a|b|a|b' -testcase 'v=; set -- "${v:=a b}" "$v"' '2|a b|a b' -# expect sensible behaviour, although it disagrees with POSIX -testcase 'v=; set -- ${v:=a\ b} $v' '4|a|b|a|b' -testcase 'v=; set -- ${v:=$p} $v' '2|/etc/|/etc/' -testcase 'v=; set -- "${v:=$p}" "$v"' '2|/et[c]/|/et[c]/' -testcase 'v=; set -- "${v:=a\ b}" "$v"' '2|a\ b|a\ b' -testcase 'v=; set -- ${v:="$p"} $v' '2|/etc/|/etc/' -# whether $p is quoted or not shouldn't really matter -testcase 'v=; set -- "${v:="$p"}" "$v"' '2|/et[c]/|/et[c]/' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/cmdsubst1.0 b/tools/regression/bin/sh/expansion/cmdsubst1.0 deleted file mode 100644 index 515c7da..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst1.0 +++ /dev/null @@ -1,48 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$(echo abcde)" = "abcde"' -check '"$(echo abcde; :)" = "abcde"' - -check '"$(printf abcde)" = "abcde"' -check '"$(printf abcde; :)" = "abcde"' - -# regular -check '-n "$(umask)"' -check '-n "$(umask; :)"' -check '-n "$(umask 2>&1)"' -check '-n "$(umask 2>&1; :)"' - -# special -check '-n "$(times)"' -check '-n "$(times; :)"' -check '-n "$(times 2>&1)"' -check '-n "$(times 2>&1; :)"' - -# regular -check '".$(umask -@ 2>&1)." = ".umask: Illegal option -@."' -check '".$(umask -@ 2>&1; :)." = ".umask: Illegal option -@."' -check '".$({ umask -@; } 2>&1)." = ".umask: Illegal option -@."' - -# special -check '".$(shift xyz 2>&1)." = ".shift: Illegal number: xyz."' -check '".$(shift xyz 2>&1; :)." = ".shift: Illegal number: xyz."' -check '".$({ shift xyz; } 2>&1)." = ".shift: Illegal number: xyz."' - -v=1 -check '-z "$(v=2 :)"' -check '"$v" = 1' -check '-z "$(v=3)"' -check '"$v" = 1' -check '"$(v=4 eval echo \$v)" = 4' -check '"$v" = 1' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/expansion/cmdsubst10.0 b/tools/regression/bin/sh/expansion/cmdsubst10.0 deleted file mode 100644 index 7cf17a3..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst10.0 +++ /dev/null @@ -1,51 +0,0 @@ -# $FreeBSD$ - -a1=$(alias) -: $(alias testalias=abcd) -a2=$(alias) -[ "$a1" = "$a2" ] || echo Error at line $LINENO - -alias testalias2=abcd -a1=$(alias) -: $(unalias testalias2) -a2=$(alias) -[ "$a1" = "$a2" ] || echo Error at line $LINENO - -[ "$(command -V pwd)" = "$(command -V pwd; exit $?)" ] || echo Error at line $LINENO - -v=1 -: $(export v=2) -[ "$v" = 1 ] || echo Error at line $LINENO - -rotest=1 -: $(readonly rotest=2) -[ "$rotest" = 1 ] || echo Error at line $LINENO - -set +u -: $(set -u) -case $- in -*u*) echo Error at line $LINENO ;; -esac -set +u - -set +u -: $(set -o nounset) -case $- in -*u*) echo Error at line $LINENO ;; -esac -set +u - -set +u -: $(command set -u) -case $- in -*u*) echo Error at line $LINENO ;; -esac -set +u - -umask 77 -u1=$(umask) -: $(umask 022) -u2=$(umask) -[ "$u1" = "$u2" ] || echo Error at line $LINENO - -dummy=$(exit 3); [ $? -eq 3 ] || echo Error at line $LINENO diff --git a/tools/regression/bin/sh/expansion/cmdsubst11.0 b/tools/regression/bin/sh/expansion/cmdsubst11.0 deleted file mode 100644 index f1af547..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst11.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# Not required by POSIX but useful for efficiency. - -[ $$ = $(eval '${SH} -c echo\ \$PPID') ] diff --git a/tools/regression/bin/sh/expansion/cmdsubst12.0 b/tools/regression/bin/sh/expansion/cmdsubst12.0 deleted file mode 100644 index 50394db..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst12.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -f() { - echo x$(printf foo >&2)y -} -[ "$(f 2>&1)" = "fooxy" ] diff --git a/tools/regression/bin/sh/expansion/cmdsubst13.0 b/tools/regression/bin/sh/expansion/cmdsubst13.0 deleted file mode 100644 index 7fdc5b2..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst13.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -x=1 y=2 -[ "$( - case $((x+=1)) in - ($((y+=1))) echo bad1 ;; - ($((y-1))) echo $x.$y ;; - ($((y=2))) echo bad2 ;; - (*) echo bad3 ;; - esac -)" = "2.3" ] || echo "Error at $LINENO" -[ "$x.$y" = "1.2" ] || echo "Error at $LINENO" diff --git a/tools/regression/bin/sh/expansion/cmdsubst14.0 b/tools/regression/bin/sh/expansion/cmdsubst14.0 deleted file mode 100644 index bdbbb82..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst14.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -! v=`false - -` diff --git a/tools/regression/bin/sh/expansion/cmdsubst15.0 b/tools/regression/bin/sh/expansion/cmdsubst15.0 deleted file mode 100644 index 31d85d4..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst15.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -! v=`false; - -` diff --git a/tools/regression/bin/sh/expansion/cmdsubst16.0 b/tools/regression/bin/sh/expansion/cmdsubst16.0 deleted file mode 100644 index 71df562..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst16.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -f() { return 3; } -f -[ `echo $?` = 3 ] diff --git a/tools/regression/bin/sh/expansion/cmdsubst17.0 b/tools/regression/bin/sh/expansion/cmdsubst17.0 deleted file mode 100644 index 8c29e83..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst17.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -f() { return 3; } -f -[ `echo $?; :` = 3 ] diff --git a/tools/regression/bin/sh/expansion/cmdsubst2.0 b/tools/regression/bin/sh/expansion/cmdsubst2.0 deleted file mode 100644 index b86776e..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst2.0 +++ /dev/null @@ -1,43 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '`echo /et[c]/` = "/etc/"' -check '`printf /var/empty%s /et[c]/` = "/var/empty/etc/"' -check '"`echo /et[c]/`" = "/etc/"' -check '`echo "/et[c]/"` = "/etc/"' -check '`printf /var/empty%s "/et[c]/"` = "/var/empty/et[c]/"' -check '`printf /var/empty/%s \"/et[c]/\"` = "/var/empty/\"/et[c]/\""' -check '"`echo \"/et[c]/\"`" = "/et[c]/"' -check '"`echo "/et[c]/"`" = "/et[c]/"' -check '`echo $$` = $$' -check '"`echo $$`" = $$' -check '`echo \$\$` = $$' -check '"`echo \$\$`" = $$' - -# Command substitutions consisting of a single builtin may be treated -# differently. -check '`:; echo /et[c]/` = "/etc/"' -check '`:; printf /var/empty%s /et[c]/` = "/var/empty/etc/"' -check '"`:; echo /et[c]/`" = "/etc/"' -check '`:; echo "/et[c]/"` = "/etc/"' -check '`:; printf /var/empty%s "/et[c]/"` = "/var/empty/et[c]/"' -check '`:; printf /var/empty/%s \"/et[c]/\"` = "/var/empty/\"/et[c]/\""' -check '"`:; echo \"/et[c]/\"`" = "/et[c]/"' -check '"`:; echo "/et[c]/"`" = "/et[c]/"' -check '`:; echo $$` = $$' -check '"`:; echo $$`" = $$' -check '`:; echo \$\$` = $$' -check '"`:; echo \$\$`" = $$' - -check '`set -f; echo /et[c]/` = "/etc/"' -check '"`set -f; echo /et[c]/`" = "/et[c]/"' - -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/expansion/cmdsubst3.0 b/tools/regression/bin/sh/expansion/cmdsubst3.0 deleted file mode 100644 index abb6b22..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst3.0 +++ /dev/null @@ -1,23 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -export LC_CTYPE=en_US.ISO8859-1 - -e= -for i in 0 1 2 3; do - for j in 0 1 2 3 4 5 6 7; do - for k in 0 1 2 3 4 5 6 7; do - case $i$j$k in - 000) continue ;; - esac - e="$e\n\\$i$j$k" - done - done -done -e1=$(printf "$e") -e2="$(printf "$e")" -[ "${#e1}" = 510 ] || echo length bad -[ "$e1" = "$e2" ] || echo e1 != e2 -[ "$e1" = "$(printf "$e")" ] || echo quoted bad -IFS= -[ "$e1" = $(printf "$e") ] || echo unquoted bad diff --git a/tools/regression/bin/sh/expansion/cmdsubst4.0 b/tools/regression/bin/sh/expansion/cmdsubst4.0 deleted file mode 100644 index ee1ce73..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst4.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -exec 2>/dev/null -! y=$(: /dev/null -! y=$(: ${v?}) diff --git a/tools/regression/bin/sh/expansion/cmdsubst6.0 b/tools/regression/bin/sh/expansion/cmdsubst6.0 deleted file mode 100644 index 6586f33..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst6.0 +++ /dev/null @@ -1,53 +0,0 @@ -# $FreeBSD$ -# This tests if the cmdsubst optimization is still used if possible. - -failures='' -ok='' - -testcase() { - code="$1" - - unset v - eval "pid=\$(dummy=$code echo \$(\$SH -c echo\ \\\$PPID))" - - if [ "$pid" = "$$" ]; then - ok=x$ok - else - failures=x$failures - echo "Failure for $code" - fi -} - -unset v -w=1 -testcase '$w' -testcase '1${w+1}' -testcase '1${w-1}' -testcase '1${v+1}' -testcase '1${v-1}' -testcase '1${w:+1}' -testcase '1${w:-1}' -testcase '1${v:+1}' -testcase '1${v:-1}' -testcase '${w?}' -testcase '${w:?}' -testcase '${w#x}' -testcase '${w##x}' -testcase '${w%x}' -testcase '${w%%x}' - -testcase '$((w))' -testcase '$(((w+4)*2/3))' -testcase '$((w==1))' -testcase '$((w>=0 && w<=5 && w!=2))' -testcase '$((${#w}))' -testcase '$((${#IFS}))' -testcase '$((${#w}>=1))' -testcase '$(($$))' -testcase '$(($#))' -testcase '$(($?))' - -testcase '$(: $((w=4)))' -testcase '$(: ${v=2})' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/cmdsubst7.0 b/tools/regression/bin/sh/expansion/cmdsubst7.0 deleted file mode 100644 index dbd1aec..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst7.0 +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -failures='' -ok='' - -testcase() { - code="$1" - - unset v - eval ": \$($code)" - - if [ "${v:+bad}" = "" ]; then - ok=x$ok - else - failures=x$failures - echo "Failure for $code" - fi -} - -testcase ': ${v=0}' -testcase ': ${v:=0}' -testcase ': $((v=1))' -testcase ': $((v+=1))' -w='v=1' -testcase ': $(($w))' -testcase ': $((${$+v=1}))' -testcase ': $((v${$+=1}))' -testcase ': $((v $(echo =) 1))' -testcase ': $(($(echo $w)))' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/cmdsubst8.0 b/tools/regression/bin/sh/expansion/cmdsubst8.0 deleted file mode 100644 index 52adaea..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst8.0 +++ /dev/null @@ -1,17 +0,0 @@ -# $FreeBSD$ -# Not required by POSIX (although referenced in a non-normative section), -# but possibly useful. - -: hi there & -p=$! -q=$(jobs -l $p) - -# Change tabs to spaces. -set -f -set -- $q -r="$*" - -case $r in -*" $p "*) ;; -*) echo Pid missing; exit 3 ;; -esac diff --git a/tools/regression/bin/sh/expansion/cmdsubst9.0 b/tools/regression/bin/sh/expansion/cmdsubst9.0 deleted file mode 100644 index 0b1f81f..0000000 --- a/tools/regression/bin/sh/expansion/cmdsubst9.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -set -e - -cd / -dummy=$(cd /bin) -[ "$(pwd)" = / ] - -v=1 -dummy=$(eval v=2) -[ "$v" = 1 ] diff --git a/tools/regression/bin/sh/expansion/export1.0 b/tools/regression/bin/sh/expansion/export1.0 deleted file mode 100644 index 4ee3ef4..0000000 --- a/tools/regression/bin/sh/expansion/export1.0 +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ - -w='@ vv=6' - -v=0 vv=0 -export \v=$w -[ "$v" = "@" ] || echo "Expected @ got $v" -[ "$vv" = "6" ] || echo "Expected 6 got $vv" - -HOME=/known/value - -export \v=~ -[ "$v" = \~ ] || echo "Expected ~ got $v" diff --git a/tools/regression/bin/sh/expansion/export2.0 b/tools/regression/bin/sh/expansion/export2.0 deleted file mode 100644 index 57f64e7..0000000 --- a/tools/regression/bin/sh/expansion/export2.0 +++ /dev/null @@ -1,24 +0,0 @@ -# $FreeBSD$ - -w='@ @' -check() { - [ "$v" = "$w" ] || echo "Expected $w got $v" -} - -export v=$w -check - -HOME=/known/value -check() { - [ "$v" = ~ ] || echo "Expected $HOME got $v" -} - -export v=~ -check - -check() { - [ "$v" = "x:$HOME" ] || echo "Expected x:$HOME got $v" -} - -export v=x:~ -check diff --git a/tools/regression/bin/sh/expansion/export3.0 b/tools/regression/bin/sh/expansion/export3.0 deleted file mode 100644 index a1a0e66..0000000 --- a/tools/regression/bin/sh/expansion/export3.0 +++ /dev/null @@ -1,30 +0,0 @@ -# $FreeBSD$ - -w='@ @' -check() { - [ "$v" = "$w" ] || echo "Expected $w got $v" -} - -command export v=$w -check -command command export v=$w -check - -HOME=/known/value -check() { - [ "$v" = ~ ] || echo "Expected $HOME got $v" -} - -command export v=~ -check -command command export v=~ -check - -check() { - [ "$v" = "x:$HOME" ] || echo "Expected x:$HOME got $v" -} - -command export v=x:~ -check -command command export v=x:~ -check diff --git a/tools/regression/bin/sh/expansion/heredoc1.0 b/tools/regression/bin/sh/expansion/heredoc1.0 deleted file mode 100644 index a67b2da..0000000 --- a/tools/regression/bin/sh/expansion/heredoc1.0 +++ /dev/null @@ -1,25 +0,0 @@ -# $FreeBSD$ - -f() { return $1; } - -[ `f 42; { cat; } <&2 - : $((failures += 1)) - fi - i=$((i+1)) -done -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/expansion/ifs3.0 b/tools/regression/bin/sh/expansion/ifs3.0 deleted file mode 100644 index 0569b57..0000000 --- a/tools/regression/bin/sh/expansion/ifs3.0 +++ /dev/null @@ -1,21 +0,0 @@ -# $FreeBSD$ - -failures=0 -unset LC_ALL -export LC_CTYPE=en_US.ISO8859-1 -i=128 -set -f -while [ "$i" -le 255 ]; do - i2=$((i^2)) - c=$(printf \\"$(printf %o "$i")") - c2=$(printf \\"$(printf %o "$i2")") - IFS=$c - set -- $c2$c$c2$c$c2 - if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] || - [ "$3" != "$c2" ]; then - echo "Bad results for separator $i (word $i2)" >&2 - : $((failures += 1)) - fi - i=$((i+1)) -done -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/expansion/ifs4.0 b/tools/regression/bin/sh/expansion/ifs4.0 deleted file mode 100644 index 5b896a2..0000000 --- a/tools/regression/bin/sh/expansion/ifs4.0 +++ /dev/null @@ -1,39 +0,0 @@ -# $FreeBSD$ - -c=: e= s=' ' -failures='' -ok='' - -check_result() { - if [ "x$2" = "x$3" ]; then - ok=x$ok - else - failures=x$failures - echo "For $1, expected $3 actual $2" - fi -} - -IFS=' -' -set -- a b '' c -set -- $@ -check_result 'set -- $@' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" - -IFS='' -set -- a b '' c -set -- $@ -check_result 'set -- $@' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" - -set -- a b '' c -set -- $* -check_result 'set -- $*' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" - -set -- a b '' c -set -- "$@" -check_result 'set -- "$@"' "($#)($1)($2)($3)($4)" "(4)(a)(b)()(c)" - -set -- a b '' c -set -- "$*" -check_result 'set -- "$*"' "($#)($1)($2)($3)($4)" "(1)(abc)()()()" - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/length1.0 b/tools/regression/bin/sh/expansion/length1.0 deleted file mode 100644 index 2aaebf9..0000000 --- a/tools/regression/bin/sh/expansion/length1.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -v=abcd -[ "${#v}" = 4 ] || echo '${#v} wrong' -v=$$ -[ "${#$}" = "${#v}" ] || echo '${#$} wrong' -[ "${#!}" = 0 ] || echo '${#!} wrong' -set -- 01 2 3 4 5 6 7 8 9 10 11 12 0013 -[ "${#1}" = 2 ] || echo '${#1} wrong' -[ "${#13}" = 4 ] || echo '${#13} wrong' -v=$0 -[ "${#0}" = "${#v}" ] || echo '${#0} wrong' diff --git a/tools/regression/bin/sh/expansion/length2.0 b/tools/regression/bin/sh/expansion/length2.0 deleted file mode 100644 index d749b51..0000000 --- a/tools/regression/bin/sh/expansion/length2.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -v=$- -[ "${#-}" = "${#v}" ] || echo '${#-} wrong' diff --git a/tools/regression/bin/sh/expansion/length3.0 b/tools/regression/bin/sh/expansion/length3.0 deleted file mode 100644 index 2093eed..0000000 --- a/tools/regression/bin/sh/expansion/length3.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -set -- 1 2 3 4 5 6 7 8 9 10 11 12 13 -[ "$#" = 13 ] || echo '$# wrong' -[ "${#}" = 13 ] || echo '${#} wrong' -[ "${##}" = 2 ] || echo '${##} wrong' -set -- -[ "$#" = 0 ] || echo '$# wrong' -[ "${#}" = 0 ] || echo '${#} wrong' -[ "${##}" = 1 ] || echo '${##} wrong' diff --git a/tools/regression/bin/sh/expansion/length4.0 b/tools/regression/bin/sh/expansion/length4.0 deleted file mode 100644 index 5348be5..0000000 --- a/tools/regression/bin/sh/expansion/length4.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -# The construct ${#?} is ambiguous in POSIX.1-2008: it could be the length -# of $? or it could be $# giving an error in the (impossible) case that it -# is not set. -# We use the former interpretation; it seems more useful. - -: -[ "${#?}" = 1 ] || echo '${#?} wrong' -(exit 42) -[ "${#?}" = 2 ] || echo '${#?} wrong' diff --git a/tools/regression/bin/sh/expansion/length5.0 b/tools/regression/bin/sh/expansion/length5.0 deleted file mode 100644 index 322ca16..0000000 --- a/tools/regression/bin/sh/expansion/length5.0 +++ /dev/null @@ -1,27 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.ISO8859-1 -export LC_CTYPE - -e= -for i in 0 1 2 3; do - for j in 0 1 2 3 4 5 6 7; do - for k in 0 1 2 3 4 5 6 7; do - case $i$j$k in - 000) continue ;; - esac - e="$e\\$i$j$k" - done - done -done -ee=`printf "$e"` -[ ${#ee} = 255 ] || echo bad 1 -[ "${#ee}" = 255 ] || echo bad 2 -[ $((${#ee})) = 255 ] || echo bad 3 -[ "$((${#ee}))" = 255 ] || echo bad 4 -set -- "$ee" -[ ${#1} = 255 ] || echo bad 5 -[ "${#1}" = 255 ] || echo bad 6 -[ $((${#1})) = 255 ] || echo bad 7 -[ "$((${#1}))" = 255 ] || echo bad 8 diff --git a/tools/regression/bin/sh/expansion/length6.0 b/tools/regression/bin/sh/expansion/length6.0 deleted file mode 100644 index 6b78309..0000000 --- a/tools/regression/bin/sh/expansion/length6.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -x='!@#$%^&*()[]' -[ ${#x} = 12 ] || echo bad 1 -[ "${#x}" = 12 ] || echo bad 2 -IFS=2 -[ ${#x} = 1 ] || echo bad 3 -[ "${#x}" = 12 ] || echo bad 4 diff --git a/tools/regression/bin/sh/expansion/length7.0 b/tools/regression/bin/sh/expansion/length7.0 deleted file mode 100644 index b79b116..0000000 --- a/tools/regression/bin/sh/expansion/length7.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.UTF-8 -export LC_CTYPE - -# a umlaut -s=$(printf '\303\244') -# euro sign -s=$s$(printf '\342\202\254') -# some sort of 't' outside BMP -s=$s$(printf '\360\235\225\245') -set -- "$s" -[ ${#s} = 3 ] && [ ${#1} = 3 ] diff --git a/tools/regression/bin/sh/expansion/length8.0 b/tools/regression/bin/sh/expansion/length8.0 deleted file mode 100644 index 3cc6c15..0000000 --- a/tools/regression/bin/sh/expansion/length8.0 +++ /dev/null @@ -1,14 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.ISO8859-1 -export LC_CTYPE - -# a umlaut -s=$(printf '\303\244') -# euro sign -s=$s$(printf '\342\202\254') -# some sort of 't' outside BMP -s=$s$(printf '\360\235\225\245') -set -- "$s" -[ ${#s} = 9 ] && [ ${#1} = 9 ] diff --git a/tools/regression/bin/sh/expansion/local1.0 b/tools/regression/bin/sh/expansion/local1.0 deleted file mode 100644 index 3477835..0000000 --- a/tools/regression/bin/sh/expansion/local1.0 +++ /dev/null @@ -1,28 +0,0 @@ -# $FreeBSD$ - -run_test() { - w='@ @' - check() { - [ "$v" = "$w" ] || echo "Expected $w got $v" - } - - local v=$w - check - - HOME=/known/value - check() { - [ "$v" = ~ ] || echo "Expected $HOME got $v" - } - - local v=~ - check - - check() { - [ "$v" = "x:$HOME" ] || echo "Expected x:$HOME got $v" - } - - local v=x:~ - check -} - -run_test diff --git a/tools/regression/bin/sh/expansion/local2.0 b/tools/regression/bin/sh/expansion/local2.0 deleted file mode 100644 index 1984290..0000000 --- a/tools/regression/bin/sh/expansion/local2.0 +++ /dev/null @@ -1,34 +0,0 @@ -# $FreeBSD$ - -run_test() { - w='@ @' - check() { - [ "$v" = "$w" ] || echo "Expected $w got $v" - } - - command local v=$w - check - command command local v=$w - check - - HOME=/known/value - check() { - [ "$v" = ~ ] || echo "Expected $HOME got $v" - } - - command local v=~ - check - command command local v=~ - check - - check() { - [ "$v" = "x:$HOME" ] || echo "Expected x:$HOME got $v" - } - - command local v=x:~ - check - command command local v=x:~ - check -} - -run_test diff --git a/tools/regression/bin/sh/expansion/pathname1.0 b/tools/regression/bin/sh/expansion/pathname1.0 deleted file mode 100644 index 8c6b01c..0000000 --- a/tools/regression/bin/sh/expansion/pathname1.0 +++ /dev/null @@ -1,61 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - testcase=$1 - expect=$2 - eval "set -- $testcase" - actual="$*" - if [ "$actual" != "$expect" ]; then - failures=$((failures+1)) - printf '%s\n' "For $testcase, expected $expect actual $actual" - fi -} - -set -e -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd -P $T - -mkdir testdir testdir2 'testdir/*' 'testdir/?' testdir/a testdir/b testdir2/b -mkdir testdir2/.c -touch testf 'testdir/*/1' 'testdir/?/1' testdir/a/1 testdir/b/1 testdir2/b/.a - -check '' '' -check 'testdir/b' 'testdir/b' -check 'testdir/c' 'testdir/c' -check '\*' '*' -check '\?' '?' -check '*' 'testdir testdir2 testf' -check '*""' 'testdir testdir2 testf' -check '""*' 'testdir testdir2 testf' -check '*/' 'testdir/ testdir2/' -check 'testdir*/a' 'testdir/a' -check 'testdir*/b' 'testdir/b testdir2/b' -check '*/.c' 'testdir2/.c' -check 'testdir2/*' 'testdir2/b' -check 'testdir2/b/*' 'testdir2/b/*' -check 'testdir/*' 'testdir/* testdir/? testdir/a testdir/b' -check 'testdir/*/1' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' -check '"testdir/"*/1' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' -check 'testdir/\*/*' 'testdir/*/1' -check 'testdir/\?/*' 'testdir/?/1' -check 'testdir/"?"/*' 'testdir/?/1' -check '"testdir"/"?"/*' 'testdir/?/1' -check '"testdir"/"?"*/*' 'testdir/?/1' -check '"testdir"/*"?"/*' 'testdir/?/1' -check '"testdir/?"*/*' 'testdir/?/1' -check 'testdir/\*/' 'testdir/*/' -check 'testdir/\?/' 'testdir/?/' -check 'testdir/"?"/' 'testdir/?/' -check '"testdir"/"?"/' 'testdir/?/' -check '"testdir"/"?"*/' 'testdir/?/' -check '"testdir"/*"?"/' 'testdir/?/' -check '"testdir/?"*/' 'testdir/?/' -check 'testdir/[*]/' 'testdir/*/' -check 'testdir/[?]/' 'testdir/?/' -check 'testdir/[*?]/' 'testdir/*/ testdir/?/' -check '[tz]estdir/[*]/' 'testdir/*/' - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/pathname2.0 b/tools/regression/bin/sh/expansion/pathname2.0 deleted file mode 100644 index 8a884ff..0000000 --- a/tools/regression/bin/sh/expansion/pathname2.0 +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - testcase=$1 - expect=$2 - eval "set -- $testcase" - actual="$*" - if [ "$actual" != "$expect" ]; then - failures=$((failures+1)) - printf '%s\n' "For $testcase, expected $expect actual $actual" - fi -} - -set -e -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd -P $T - -mkdir testdir testdir2 'testdir/*' 'testdir/?' testdir/a testdir/b testdir2/b -mkdir testdir2/.c -touch testf 'testdir/*/1' 'testdir/?/1' testdir/a/1 testdir/b/1 testdir2/b/.a - -check '*\/' 'testdir/ testdir2/' -check '"testdir/"*"/1"' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' -check '"testdir/"*"/"*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' -check '"testdir/"*\/*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' -check '"testdir"*"/"*"/"*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/pathname3.0 b/tools/regression/bin/sh/expansion/pathname3.0 deleted file mode 100644 index d1672e0..0000000 --- a/tools/regression/bin/sh/expansion/pathname3.0 +++ /dev/null @@ -1,29 +0,0 @@ -# $FreeBSD$ - -v=12345678 -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -v=$v$v$v$v -# 8192 bytes -v=${v##???} -[ /*/$v = "/*/$v" ] || exit 1 - -s=//// -s=$s$s$s$s -s=$s$s$s$s -s=$s$s$s$s -s=$s$s$s$s -# 1024 bytes -s=${s##??????????} -[ /var/empt[y]/$s/$v = "/var/empt[y]/$s/$v" ] || exit 2 -while [ ${#s} -lt 1034 ]; do - set -- /.${s}et[c] - [ ${#s} -gt 1018 ] || [ "$1" = /.${s}etc ] || exit 3 - set -- /.${s}et[c]/ - [ ${#s} -gt 1017 ] || [ "$1" = /.${s}etc/ ] || exit 4 - set -- /.${s}et[c]/. - [ ${#s} -gt 1016 ] || [ "$1" = /.${s}etc/. ] || exit 5 - s=$s/ -done diff --git a/tools/regression/bin/sh/expansion/pathname4.0 b/tools/regression/bin/sh/expansion/pathname4.0 deleted file mode 100644 index 18269c4..0000000 --- a/tools/regression/bin/sh/expansion/pathname4.0 +++ /dev/null @@ -1,28 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - testcase=$1 - expect=$2 - eval "set -- $testcase" - actual="$*" - if [ "$actual" != "$expect" ]; then - failures=$((failures+1)) - printf '%s\n' "For $testcase, expected $expect actual $actual" - fi -} - -set -e -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd -P $T - -mkdir !!a -touch !!a/fff - -chmod u-r . -check '!!a/ff*' '!!a/fff' -chmod u+r . - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/expansion/plus-minus1.0 b/tools/regression/bin/sh/expansion/plus-minus1.0 deleted file mode 100644 index 9a6a53a..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus1.0 +++ /dev/null @@ -1,76 +0,0 @@ -# $FreeBSD$ - -e= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' -h='##' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- a b' '2|a|b' -testcase 'set --' '0|' -testcase 'set -- ${e}' '0|' -testcase 'set -- "${e}"' '1|' - -testcase 'set -- $p' '1|/etc/' -testcase 'set -- "$p"' '1|/et[c]/' -testcase 'set -- ${s+$p}' '1|/etc/' -testcase 'set -- "${s+$p}"' '1|/et[c]/' -testcase 'set -- ${s+"$p"}' '1|/et[c]/' -# Dquotes in dquotes is undefined for Bourne shell operators -#testcase 'set -- "${s+"$p"}"' '1|/et[c]/' -testcase 'set -- ${e:-$p}' '1|/etc/' -testcase 'set -- "${e:-$p}"' '1|/et[c]/' -testcase 'set -- ${e:-"$p"}' '1|/et[c]/' -# Dquotes in dquotes is undefined for Bourne shell operators -#testcase 'set -- "${e:-"$p"}"' '1|/et[c]/' -testcase 'set -- ${e:+"$e"}' '0|' -testcase 'set -- ${e:+$w"$e"}' '0|' -testcase 'set -- ${w:+"$w"}' '1|a b c' -testcase 'set -- ${w:+$w"$w"}' '3|a|b|ca b c' - -testcase 'set -- "${s+a b}"' '1|a b' -testcase 'set -- "${e:-a b}"' '1|a b' -testcase 'set -- ${e:-\}}' '1|}' -testcase 'set -- ${e:+{}}' '1|}' -testcase 'set -- "${e:+{}}"' '1|}' - -testcase 'set -- ${e+x}${e+x}' '1|xx' -testcase 'set -- "${e+x}"${e+x}' '1|xx' -testcase 'set -- ${e+x}"${e+x}"' '1|xx' -testcase 'set -- "${e+x}${e+x}"' '1|xx' -testcase 'set -- "${e+x}""${e+x}"' '1|xx' - -testcase 'set -- ${e:-${e:-$p}}' '1|/etc/' -testcase 'set -- "${e:-${e:-$p}}"' '1|/et[c]/' -testcase 'set -- ${e:-"${e:-$p}"}' '1|/et[c]/' -testcase 'set -- ${e:-${e:-"$p"}}' '1|/et[c]/' -testcase 'set -- ${e:-${e:-${e:-$w}}}' '3|a|b|c' -testcase 'set -- ${e:-${e:-${e:-"$w"}}}' '1|a b c' -testcase 'set -- ${e:-${e:-"${e:-$w}"}}' '1|a b c' -testcase 'set -- ${e:-"${e:-${e:-$w}}"}' '1|a b c' -testcase 'set -- "${e:-${e:-${e:-$w}}}"' '1|a b c' - -testcase 'shift $#; set -- ${1+"$@"}' '0|' -testcase 'set -- ""; set -- ${1+"$@"}' '1|' -testcase 'set -- "" a; set -- ${1+"$@"}' '2||a' -testcase 'set -- a ""; set -- ${1+"$@"}' '2|a|' -testcase 'set -- a b; set -- ${1+"$@"}' '2|a|b' -testcase 'set -- a\ b; set -- ${1+"$@"}' '1|a b' -testcase 'set -- " " ""; set -- ${1+"$@"}' '2| |' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/plus-minus2.0 b/tools/regression/bin/sh/expansion/plus-minus2.0 deleted file mode 100644 index f5a8752..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus2.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -e= -test "${e:-\}}" = '}' diff --git a/tools/regression/bin/sh/expansion/plus-minus3.0 b/tools/regression/bin/sh/expansion/plus-minus3.0 deleted file mode 100644 index 49fcdc2..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus3.0 +++ /dev/null @@ -1,44 +0,0 @@ -# $FreeBSD$ - -e= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' -h='##' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -# We follow original ash behaviour for quoted ${var+-=?} expansions: -# a double-quote in one switches back to unquoted state. -# This allows expanding a variable as a single word if it is set -# and substituting multiple words otherwise. -# It is also close to the Bourne and Korn shells. -# POSIX leaves this undefined, and various other shells treat -# such double-quotes as introducing a second level of quoting -# which does not do much except quoting close braces. - -testcase 'set -- "${p+"/et[c]/"}"' '1|/etc/' -testcase 'set -- "${p-"/et[c]/"}"' '1|/et[c]/' -testcase 'set -- "${p+"$p"}"' '1|/etc/' -testcase 'set -- "${p-"$p"}"' '1|/et[c]/' -testcase 'set -- "${p+"""/et[c]/"}"' '1|/etc/' -testcase 'set -- "${p-"""/et[c]/"}"' '1|/et[c]/' -testcase 'set -- "${p+"""$p"}"' '1|/etc/' -testcase 'set -- "${p-"""$p"}"' '1|/et[c]/' -testcase 'set -- "${p+"\@"}"' '1|@' -testcase 'set -- "${p+"'\''/et[c]/'\''"}"' '1|/et[c]/' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/plus-minus4.0 b/tools/regression/bin/sh/expansion/plus-minus4.0 deleted file mode 100644 index 66dea38..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus4.0 +++ /dev/null @@ -1,38 +0,0 @@ -# $FreeBSD$ - -# These may be a bit unclear in the POSIX spec or the proposed revisions, -# and conflict with bash's interpretation, but I think ksh93's interpretation -# makes most sense. In particular, it makes no sense to me that single-quotes -# must match but are not removed. - -e= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' -h='##' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- ${e:-'"'"'}'"'"'}' '1|}' -testcase "set -- \${e:-\\'}" "1|'" -testcase "set -- \${e:-\\'\\'}" "1|''" -testcase "set -- \"\${e:-'}\"" "1|'" -testcase "set -- \"\${e:-'}'}\"" "1|''}" -testcase "set -- \"\${e:-''}\"" "1|''" -testcase 'set -- ${e:-\a}' '1|a' -testcase 'set -- "${e:-\a}"' '1|\a' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/plus-minus5.0 b/tools/regression/bin/sh/expansion/plus-minus5.0 deleted file mode 100644 index 0b25e53..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus5.0 +++ /dev/null @@ -1,31 +0,0 @@ -# $FreeBSD$ - -e= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' -h='##' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- ${e:-"{x}"}' '1|{x}' -testcase 'set -- "${e:-"{x}"}"' '1|{x}' -testcase 'set -- ${h+"{x}"}' '1|{x}' -testcase 'set -- "${h+"{x}"}"' '1|{x}' -testcase 'set -- ${h:-"{x}"}' '1|##' -testcase 'set -- "${h:-"{x}"}"' '1|##' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/plus-minus6.0 b/tools/regression/bin/sh/expansion/plus-minus6.0 deleted file mode 100644 index bc66805..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus6.0 +++ /dev/null @@ -1,34 +0,0 @@ -# $FreeBSD$ - -failures=0 -unset LC_ALL -export LC_CTYPE=en_US.ISO8859-1 -nl=' -' -i=1 -set -f -while [ "$i" -le 255 ]; do - # A different byte still in the range 1..255. - i2=$((i^2+(i==2))) - # Add a character to work around command substitution's removal of - # final newlines, then remove it again. - c=$(printf \\"$(printf %o@ "$i")") - c=${c%@} - c2=$(printf \\"$(printf %o@ "$i2")") - c2=${c2%@} - case $c in - [\'$nl'$}();&|\"`']) c=M - esac - case $c2 in - [\'$nl'$}();&|\"`']) c2=N - esac - IFS=$c - command eval "set -- \${\$+$c2$c$c2$c$c2}" - if [ "$#" -ne 3 ] || [ "$1" != "$c2" ] || [ "$2" != "$c2" ] || - [ "$3" != "$c2" ]; then - echo "Bad results for separator $i (word $i2)" >&2 - : $((failures += 1)) - fi - i=$((i+1)) -done -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/expansion/plus-minus7.0 b/tools/regression/bin/sh/expansion/plus-minus7.0 deleted file mode 100644 index 9e81f58..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus7.0 +++ /dev/null @@ -1,26 +0,0 @@ -# $FreeBSD$ - -e= s='foo' -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- ${s+a b}' '2|a|b' -testcase 'set -- ${e:-a b}' '2|a|b' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/expansion/plus-minus8.0 b/tools/regression/bin/sh/expansion/plus-minus8.0 deleted file mode 100644 index beba009..0000000 --- a/tools/regression/bin/sh/expansion/plus-minus8.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -set -- 1 2 3 4 5 6 7 8 9 10 11 12 13 -[ "${#+hi}" = hi ] || echo '${#+hi} wrong' -[ "${#-hi}" = 13 ] || echo '${#-hi} wrong' diff --git a/tools/regression/bin/sh/expansion/question1.0 b/tools/regression/bin/sh/expansion/question1.0 deleted file mode 100644 index 663c68d..0000000 --- a/tools/regression/bin/sh/expansion/question1.0 +++ /dev/null @@ -1,22 +0,0 @@ -# $FreeBSD$ - -x=a\ b -[ "$x" = "${x?}" ] || exit 1 -set -- ${x?} -{ [ "$#" = 2 ] && [ "$1" = a ] && [ "$2" = b ]; } || exit 1 -unset x -(echo ${x?abcdefg}) 2>&1 | grep -q abcdefg || exit 1 -${SH} -c 'unset foo; echo ${foo?}' 2>/dev/null && exit 1 -${SH} -c 'foo=; echo ${foo:?}' 2>/dev/null && exit 1 -${SH} -c 'foo=; echo ${foo?}' >/dev/null || exit 1 -${SH} -c 'foo=1; echo ${foo:?}' >/dev/null || exit 1 -${SH} -c 'echo ${!?}' 2>/dev/null && exit 1 -${SH} -c ':& echo ${!?}' >/dev/null || exit 1 -${SH} -c 'echo ${#?}' >/dev/null || exit 1 -${SH} -c 'echo ${*?}' 2>/dev/null && exit 1 -${SH} -c 'echo ${*?}' ${SH} x >/dev/null || exit 1 -${SH} -c 'echo ${1?}' 2>/dev/null && exit 1 -${SH} -c 'echo ${1?}' ${SH} x >/dev/null || exit 1 -${SH} -c 'echo ${2?}' ${SH} x 2>/dev/null && exit 1 -${SH} -c 'echo ${2?}' ${SH} x y >/dev/null || exit 1 -exit 0 diff --git a/tools/regression/bin/sh/expansion/readonly1.0 b/tools/regression/bin/sh/expansion/readonly1.0 deleted file mode 100644 index 5ad0e14..0000000 --- a/tools/regression/bin/sh/expansion/readonly1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -w='@ @' - -v=0 HOME=/known/value -readonly v=~:~/:$w -[ "$v" = "$HOME:$HOME/:$w" ] || echo "Expected $HOME/:$w got $v" diff --git a/tools/regression/bin/sh/expansion/set-u1.0 b/tools/regression/bin/sh/expansion/set-u1.0 deleted file mode 100644 index 763eb7d..0000000 --- a/tools/regression/bin/sh/expansion/set-u1.0 +++ /dev/null @@ -1,29 +0,0 @@ -# $FreeBSD$ - -${SH} -uc 'unset foo; echo $foo' 2>/dev/null && exit 1 -${SH} -uc 'foo=; echo $foo' >/dev/null || exit 1 -${SH} -uc 'foo=1; echo $foo' >/dev/null || exit 1 -# -/+/= are unaffected by set -u -${SH} -uc 'unset foo; echo ${foo-}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo+}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo=}' >/dev/null || exit 1 -# length/trimming are affected -${SH} -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 1 -${SH} -uc 'foo=; echo ${#foo}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 1 -${SH} -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 1 -${SH} -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 1 -${SH} -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 1 -${SH} -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 1 -${SH} -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 1 - -${SH} -uc 'echo $!' 2>/dev/null && exit 1 -${SH} -uc ':& echo $!' >/dev/null || exit 1 -${SH} -uc 'echo $#' >/dev/null || exit 1 -${SH} -uc 'echo $1' 2>/dev/null && exit 1 -${SH} -uc 'echo $1' ${SH} x >/dev/null || exit 1 -${SH} -uc 'echo $2' ${SH} x 2>/dev/null && exit 1 -${SH} -uc 'echo $2' ${SH} x y >/dev/null || exit 1 -exit 0 diff --git a/tools/regression/bin/sh/expansion/set-u2.0 b/tools/regression/bin/sh/expansion/set-u2.0 deleted file mode 100644 index f81aa62..0000000 --- a/tools/regression/bin/sh/expansion/set-u2.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -set -u -: $* $@ "$@" "$*" -set -- x -: $* $@ "$@" "$*" -shift $# -: $* $@ "$@" "$*" -set -- y -set -- -: $* $@ "$@" "$*" -exit 0 diff --git a/tools/regression/bin/sh/expansion/set-u3.0 b/tools/regression/bin/sh/expansion/set-u3.0 deleted file mode 100644 index 7f199b4..0000000 --- a/tools/regression/bin/sh/expansion/set-u3.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -set -u -unset x -v=$( (eval ': $((x))') 2>&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/expansion/tilde1.0 b/tools/regression/bin/sh/expansion/tilde1.0 deleted file mode 100644 index 7d8581b..0000000 --- a/tools/regression/bin/sh/expansion/tilde1.0 +++ /dev/null @@ -1,56 +0,0 @@ -# $FreeBSD$ - -HOME=/tmp -roothome=~root -if [ "$roothome" = "~root" ]; then - echo "~root is not expanded!" - exit 2 -fi - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- ~' '1|/tmp' -testcase 'set -- ~/foo' '1|/tmp/foo' -testcase 'set -- x~' '1|x~' -testcase 'set -- ~root' "1|$roothome" -h=~ -testcase 'set -- "$h"' '1|/tmp' -ooIFS=$IFS -IFS=m -testcase 'set -- ~' '1|/tmp' -testcase 'set -- ~/foo' '1|/tmp/foo' -testcase 'set -- $h' '2|/t|p' -IFS=$ooIFS -t=\~ -testcase 'set -- $t' '1|~' -r=$(cat <&1 >/dev/null <<\EOF -exit 0 -EOF -) && case $r in -*"$key"*) true ;; -*) false ;; -esac diff --git a/tools/regression/bin/sh/parameters/exitstatus1.0 b/tools/regression/bin/sh/parameters/exitstatus1.0 deleted file mode 100644 index 696823d..0000000 --- a/tools/regression/bin/sh/parameters/exitstatus1.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -f() { - [ $? = $1 ] || exit 1 -} - -true -f 0 -false -f 1 diff --git a/tools/regression/bin/sh/parameters/mail1.0 b/tools/regression/bin/sh/parameters/mail1.0 deleted file mode 100644 index 5791a5a..0000000 --- a/tools/regression/bin/sh/parameters/mail1.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ -# Test that a non-interactive shell does not access $MAIL. - -goodfile=/var/empty/sh-test-goodfile -mailfile=/var/empty/sh-test-mailfile -T=$(mktemp sh-test.XXXXXX) || exit -MAIL=$mailfile ktrace -i -f "$T" ${SH} -c "[ -s $goodfile ]" 2>/dev/null -if ! grep -q $goodfile "$T"; then - # ktrace problem - rc=0 -elif ! grep -q $mailfile "$T"; then - rc=0 -fi -rm "$T" -exit ${rc:-3} diff --git a/tools/regression/bin/sh/parameters/mail2.0 b/tools/regression/bin/sh/parameters/mail2.0 deleted file mode 100644 index 343c99d..0000000 --- a/tools/regression/bin/sh/parameters/mail2.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ -# Test that an interactive shell accesses $MAIL. - -goodfile=/var/empty/sh-test-goodfile -mailfile=/var/empty/sh-test-mailfile -T=$(mktemp sh-test.XXXXXX) || exit -ENV=$goodfile MAIL=$mailfile ktrace -i -f "$T" ${SH} +m -i /dev/null 2>&1 -if ! grep -q $goodfile "$T"; then - # ktrace problem - rc=0 -elif grep -q $mailfile "$T"; then - rc=0 -fi -rm "$T" -exit ${rc:-3} diff --git a/tools/regression/bin/sh/parameters/optind1.0 b/tools/regression/bin/sh/parameters/optind1.0 deleted file mode 100644 index 33e0288..0000000 --- a/tools/regression/bin/sh/parameters/optind1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -unset OPTIND && [ -z "$OPTIND" ] diff --git a/tools/regression/bin/sh/parameters/positional1.0 b/tools/regression/bin/sh/parameters/positional1.0 deleted file mode 100644 index 67d1951..0000000 --- a/tools/regression/bin/sh/parameters/positional1.0 +++ /dev/null @@ -1,13 +0,0 @@ -# $FreeBSD$ - -set -- a b c d e f g h i j -[ "$1" = a ] || echo "error at line $LINENO" -[ "${1}" = a ] || echo "error at line $LINENO" -[ "${1-foo}" = a ] || echo "error at line $LINENO" -[ "${1+foo}" = foo ] || echo "error at line $LINENO" -[ "$1+foo" = a+foo ] || echo "error at line $LINENO" -[ "$10" = a0 ] || echo "error at line $LINENO" -[ "$100" = a00 ] || echo "error at line $LINENO" -[ "${10}" = j ] || echo "error at line $LINENO" -[ "${10-foo}" = j ] || echo "error at line $LINENO" -[ "${100-foo}" = foo ] || echo "error at line $LINENO" diff --git a/tools/regression/bin/sh/parameters/positional2.0 b/tools/regression/bin/sh/parameters/positional2.0 deleted file mode 100644 index fcec2a4..0000000 --- a/tools/regression/bin/sh/parameters/positional2.0 +++ /dev/null @@ -1,65 +0,0 @@ -# $FreeBSD$ - -failures='' -ok='' - -testcase() { - code="$1" - expected="$2" - oIFS="$IFS" - eval "$code" - IFS='|' - result="$#|$*" - IFS="$oIFS" - if [ "x$result" = "x$expected" ]; then - ok=x$ok - else - failures=x$failures - echo "For $code, expected $expected actual $result" - fi -} - -testcase 'set -- a b; set -- p$@q' '2|pa|bq' -testcase 'set -- a b; set -- $@q' '2|a|bq' -testcase 'set -- a b; set -- p$@' '2|pa|b' -testcase 'set -- a b; set -- p$@q' '2|pa|bq' -testcase 'set -- a b; set -- $@q' '2|a|bq' -testcase 'set -- a b; set -- p$@' '2|pa|b' -testcase 'set -- a b; set -- p$*q' '2|pa|bq' -testcase 'set -- a b; set -- $*q' '2|a|bq' -testcase 'set -- a b; set -- p$*' '2|pa|b' -testcase 'set -- a b; set -- p$*q' '2|pa|bq' -testcase 'set -- a b; set -- $*q' '2|a|bq' -testcase 'set -- a b; set -- p$*' '2|pa|b' -testcase 'set -- a b; set -- "p$@q"' '2|pa|bq' -testcase 'set -- a b; set -- "$@q"' '2|a|bq' -testcase 'set -- a b; set -- "p$@"' '2|pa|b' -testcase 'set -- a b; set -- p"$@"q' '2|pa|bq' -testcase 'set -- a b; set -- "$@"q' '2|a|bq' -testcase 'set -- a b; set -- p"$@"' '2|pa|b' -testcase 'set -- "" a b; set -- "p$@q"' '3|p|a|bq' -testcase 'set -- "" a b; set -- "$@q"' '3||a|bq' -testcase 'set -- "" a b; set -- "p$@"' '3|p|a|b' -testcase 'set -- "" a b; set -- p"$@"q' '3|p|a|bq' -testcase 'set -- "" a b; set -- "$@"q' '3||a|bq' -testcase 'set -- "" a b; set -- p"$@"' '3|p|a|b' -testcase 'set -- a; set -- p$@q' '1|paq' -testcase 'set -- a; set -- $@q' '1|aq' -testcase 'set -- a; set -- p$@' '1|pa' -testcase 'set -- a; set -- p$@q' '1|paq' -testcase 'set -- a; set -- $@q' '1|aq' -testcase 'set -- a; set -- p$@' '1|pa' -testcase 'set -- a; set -- p$*q' '1|paq' -testcase 'set -- a; set -- $*q' '1|aq' -testcase 'set -- a; set -- p$*' '1|pa' -testcase 'set -- a; set -- p$*q' '1|paq' -testcase 'set -- a; set -- $*q' '1|aq' -testcase 'set -- a; set -- p$*' '1|pa' -testcase 'set -- a; set -- "p$@q"' '1|paq' -testcase 'set -- a; set -- "$@q"' '1|aq' -testcase 'set -- a; set -- "p$@"' '1|pa' -testcase 'set -- a; set -- p"$@"q' '1|paq' -testcase 'set -- a; set -- "$@"q' '1|aq' -testcase 'set -- a; set -- p"$@"' '1|pa' - -test "x$failures" = x diff --git a/tools/regression/bin/sh/parameters/pwd1.0 b/tools/regression/bin/sh/parameters/pwd1.0 deleted file mode 100644 index 0099379..0000000 --- a/tools/regression/bin/sh/parameters/pwd1.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ -# Check that bogus PWD values are not accepted from the environment. - -cd / || exit 3 -failures=0 -[ "$(PWD=foo ${SH} -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/var/empty ${SH} -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/var/empty/foo ${SH} -c 'pwd')" = / ] || : $((failures += 1)) -[ "$(PWD=/bin/ls ${SH} -c 'pwd')" = / ] || : $((failures += 1)) - -exit $((failures != 0)) diff --git a/tools/regression/bin/sh/parameters/pwd2.0 b/tools/regression/bin/sh/parameters/pwd2.0 deleted file mode 100644 index 2297f8b..0000000 --- a/tools/regression/bin/sh/parameters/pwd2.0 +++ /dev/null @@ -1,24 +0,0 @@ -# $FreeBSD$ -# Check that PWD is exported and accepted from the environment. -set -e - -T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) -trap 'rm -rf $T' 0 -cd -P $T -TP=$(pwd) -mkdir test1 -ln -s test1 link -cd link -[ "$PWD" = "$TP/link" ] -[ "$(pwd)" = "$TP/link" ] -[ "$(pwd -P)" = "$TP/test1" ] -[ "$(${SH} -c pwd)" = "$TP/link" ] -[ "$(${SH} -c pwd\ -P)" = "$TP/test1" ] -cd .. -[ "$(pwd)" = "$TP" ] -cd -P link -[ "$PWD" = "$TP/test1" ] -[ "$(pwd)" = "$TP/test1" ] -[ "$(pwd -P)" = "$TP/test1" ] -[ "$(${SH} -c pwd)" = "$TP/test1" ] -[ "$(${SH} -c pwd\ -P)" = "$TP/test1" ] diff --git a/tools/regression/bin/sh/parser/alias1.0 b/tools/regression/bin/sh/parser/alias1.0 deleted file mode 100644 index 75dd9ab..0000000 --- a/tools/regression/bin/sh/parser/alias1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -alias alias0=exit -eval 'alias0 0' -exit 1 diff --git a/tools/regression/bin/sh/parser/alias10.0 b/tools/regression/bin/sh/parser/alias10.0 deleted file mode 100644 index 30d99f4..0000000 --- a/tools/regression/bin/sh/parser/alias10.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -# This test may start consuming memory indefinitely if it fails. -ulimit -t 5 2>/dev/null -ulimit -v 100000 2>/dev/null - -alias echo='echo' -alias echo='echo' -[ "`eval echo b`" = b ] diff --git a/tools/regression/bin/sh/parser/alias2.0 b/tools/regression/bin/sh/parser/alias2.0 deleted file mode 100644 index ae99b8a..0000000 --- a/tools/regression/bin/sh/parser/alias2.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -alias alias0=exit -x=alias0 -eval 'case $x in alias0) exit 0;; esac' -exit 1 diff --git a/tools/regression/bin/sh/parser/alias3.0 b/tools/regression/bin/sh/parser/alias3.0 deleted file mode 100644 index e0721e2..0000000 --- a/tools/regression/bin/sh/parser/alias3.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -alias alias0=exit -x=alias0 -eval 'case $x in "alias0") alias0 0;; esac' -exit 1 diff --git a/tools/regression/bin/sh/parser/alias4.0 b/tools/regression/bin/sh/parser/alias4.0 deleted file mode 100644 index 19332ed..0000000 --- a/tools/regression/bin/sh/parser/alias4.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -alias alias0=exit -eval 'x=1 alias0 0' -exit 1 diff --git a/tools/regression/bin/sh/parser/alias5.0 b/tools/regression/bin/sh/parser/alias5.0 deleted file mode 100644 index 3d0205f..0000000 --- a/tools/regression/bin/sh/parser/alias5.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -alias alias0=exit -eval '&2 ;; - esac) -} -f1 -f2() { - x=$(case x in - (x|esac) ;; - (*) echo bad >&2 - esac) -} -f2 -f3() { - x=$(case x in - x|esac) ;; - *) echo bad >&2 ;; - esac) -} -f3 -f4() { - x=$(case x in - x|esac) ;; - *) echo bad >&2 - esac) -} -f4 diff --git a/tools/regression/bin/sh/parser/dollar-quote1.0 b/tools/regression/bin/sh/parser/dollar-quote1.0 deleted file mode 100644 index 1206141..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote1.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -set -e - -[ $'hi' = hi ] -[ $'hi -there' = 'hi -there' ] -[ $'\"\'\\\a\b\f\t\v' = "\"'\\$(printf "\a\b\f\t\v")" ] -[ $'hi\nthere' = 'hi -there' ] -[ $'a\rb' = "$(printf "a\rb")" ] diff --git a/tools/regression/bin/sh/parser/dollar-quote10.0 b/tools/regression/bin/sh/parser/dollar-quote10.0 deleted file mode 100644 index ad166da..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote10.0 +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD$ - -# a umlaut -s=$(printf '\303\244') -# euro sign -s=$s$(printf '\342\202\254') - -# Start a new shell so the locale change is picked up. -ss="$(LC_ALL=en_US.UTF-8 ${SH} -c "printf %s \$'\u00e4\u20ac'")" -[ "$s" = "$ss" ] diff --git a/tools/regression/bin/sh/parser/dollar-quote11.0 b/tools/regression/bin/sh/parser/dollar-quote11.0 deleted file mode 100644 index 2e872ab..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote11.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -# some sort of 't' outside BMP -s=$s$(printf '\360\235\225\245') - -# Start a new shell so the locale change is picked up. -ss="$(LC_ALL=en_US.UTF-8 ${SH} -c "printf %s \$'\U0001d565'")" -[ "$s" = "$ss" ] diff --git a/tools/regression/bin/sh/parser/dollar-quote2.0 b/tools/regression/bin/sh/parser/dollar-quote2.0 deleted file mode 100644 index 4617ed8..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote2.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# This depends on the ASCII character set. - -[ $'\e' = "$(printf "\033")" ] diff --git a/tools/regression/bin/sh/parser/dollar-quote3.0 b/tools/regression/bin/sh/parser/dollar-quote3.0 deleted file mode 100644 index a7e6852..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote3.0 +++ /dev/null @@ -1,22 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.ISO8859-1 -export LC_CTYPE - -e= -for i in 0 1 2 3; do - for j in 0 1 2 3 4 5 6 7; do - for k in 0 1 2 3 4 5 6 7; do - case $i$j$k in - 000) continue ;; - esac - e="$e\\$i$j$k" - done - done -done -ee=`printf "$e"` -[ "${#ee}" = 255 ] || echo length bad - -# Start a new shell so the locale change is picked up. -[ "$(${SH} -c "printf %s \$'$e'")" = "$ee" ] diff --git a/tools/regression/bin/sh/parser/dollar-quote4.0 b/tools/regression/bin/sh/parser/dollar-quote4.0 deleted file mode 100644 index f620af5..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote4.0 +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -unset LC_ALL -LC_CTYPE=en_US.ISO8859-1 -export LC_CTYPE - -e= -for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do - for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do - case $i$j in - 00) continue ;; - esac - e="$e\x$i$j" - done -done - -# Start a new shell so the locale change is picked up. -ee="$(${SH} -c "printf %s \$'$e'")" -[ "${#ee}" = 255 ] || echo length bad diff --git a/tools/regression/bin/sh/parser/dollar-quote5.0 b/tools/regression/bin/sh/parser/dollar-quote5.0 deleted file mode 100644 index c2c44ca..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote5.0 +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ - -# This depends on the ASCII character set. - -set -e - -[ $'\ca\cb\cc\cd\ce\cf\cg\ch\ci\cj\ck\cl\cm\cn\co\cp\cq\cr\cs\ct\cu\cv\cw\cx\cy\cz' = $'\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032' ] -[ $'\cA\cB\cC\cD\cE\cF\cG\cH\cI\cJ\cK\cL\cM\cN\cO\cP\cQ\cR\cS\cT\cU\cV\cW\cX\cY\cZ' = $'\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032' ] -[ $'\c[' = $'\033' ] -[ $'\c]' = $'\035' ] -[ $'\c^' = $'\036' ] -[ $'\c_' = $'\037' ] diff --git a/tools/regression/bin/sh/parser/dollar-quote6.0 b/tools/regression/bin/sh/parser/dollar-quote6.0 deleted file mode 100644 index a4b1e3f..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote6.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -# This depends on the ASCII character set. - -[ $'\c\\' = $'\034' ] diff --git a/tools/regression/bin/sh/parser/dollar-quote7.0 b/tools/regression/bin/sh/parser/dollar-quote7.0 deleted file mode 100644 index c866b1a..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote7.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -set -e - -[ $'\u0024\u0040\u0060' = '$@`' ] -[ $'\U00000024\U00000040\U00000060' = '$@`' ] diff --git a/tools/regression/bin/sh/parser/dollar-quote8.0 b/tools/regression/bin/sh/parser/dollar-quote8.0 deleted file mode 100644 index 8f0b41a..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote8.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -[ $'hello\0' = hello ] -[ $'hello\0world' = hello ] -[ $'hello\0'$'world' = helloworld ] -[ $'hello\000' = hello ] -[ $'hello\000world' = hello ] -[ $'hello\000'$'world' = helloworld ] -[ $'hello\x00' = hello ] -[ $'hello\x00world' = hello ] -[ $'hello\x00'$'world' = helloworld ] diff --git a/tools/regression/bin/sh/parser/dollar-quote9.0 b/tools/regression/bin/sh/parser/dollar-quote9.0 deleted file mode 100644 index df64b7d..0000000 --- a/tools/regression/bin/sh/parser/dollar-quote9.0 +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -# POSIX and C99 say D800-DFFF are undefined in a universal character name. -# We reject this but many other shells expand to something that looks like -# CESU-8. - -v=$( (eval ": \$'\uD800'") 2>&1 >/dev/null) -[ $? -ne 0 ] && [ -n "$v" ] diff --git a/tools/regression/bin/sh/parser/empty-braces1.0 b/tools/regression/bin/sh/parser/empty-braces1.0 deleted file mode 100644 index 5ab443c..0000000 --- a/tools/regression/bin/sh/parser/empty-braces1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# Unfortunately, some scripts depend on the extension of allowing an empty -# pair of braces. - -{ } & -wait $! diff --git a/tools/regression/bin/sh/parser/empty-cmd1.0 b/tools/regression/bin/sh/parser/empty-cmd1.0 deleted file mode 100644 index f8b01e9..0000000 --- a/tools/regression/bin/sh/parser/empty-cmd1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -! (eval ': || f()') 2>/dev/null diff --git a/tools/regression/bin/sh/parser/for1.0 b/tools/regression/bin/sh/parser/for1.0 deleted file mode 100644 index eb7c881..0000000 --- a/tools/regression/bin/sh/parser/for1.0 +++ /dev/null @@ -1,29 +0,0 @@ -# $FreeBSD$ - -nl=' -' -list=' a b c' -for s1 in "$nl" " "; do - for s2 in "$nl" ";" ";$nl"; do - for s3 in "$nl" " "; do - r='' - eval "for i${s1}in ${list}${s2}do${s3}r=\"\$r \$i\"; done" - [ "$r" = "$list" ] || exit 1 - done - done -done -set -- $list -for s2 in "$nl" " "; do - for s3 in "$nl" " "; do - r='' - eval "for i${s2}do${s3}r=\"\$r \$i\"; done" - [ "$r" = "$list" ] || exit 1 - done -done -for s1 in "$nl" " "; do - for s2 in "$nl" ";" ";$nl"; do - for s3 in "$nl" " "; do - eval "for i${s1}in${s2}do${s3}exit 1; done" - done - done -done diff --git a/tools/regression/bin/sh/parser/for2.0 b/tools/regression/bin/sh/parser/for2.0 deleted file mode 100644 index 54ebfc3..0000000 --- a/tools/regression/bin/sh/parser/for2.0 +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ - -# Common extensions to the 'for' syntax. - -nl=' -' -list=' a b c' -set -- $list -for s2 in ";" ";$nl"; do - for s3 in "$nl" " "; do - r='' - eval "for i${s2}do${s3}r=\"\$r \$i\"; done" - [ "$r" = "$list" ] || exit 1 - done -done diff --git a/tools/regression/bin/sh/parser/func1.0 b/tools/regression/bin/sh/parser/func1.0 deleted file mode 100644 index 4e887b2..0000000 --- a/tools/regression/bin/sh/parser/func1.0 +++ /dev/null @@ -1,25 +0,0 @@ -# $FreeBSD$ -# POSIX does not require these bytes to work in function names, -# but making them all work seems a good goal. - -failures=0 -unset LC_ALL -export LC_CTYPE=en_US.ISO8859-1 -i=128 -set -f -while [ "$i" -le 255 ]; do - c=$(printf \\"$(printf %o "$i")") - ok=0 - eval "$c() { ok=1; }" - $c - ok1=$ok - ok=0 - "$c" - if [ "$ok" != 1 ] || [ "$ok1" != 1 ]; then - echo "Bad results for character $i" >&2 - : $((failures += 1)) - fi - unset -f $c - i=$((i+1)) -done -exit $((failures > 0)) diff --git a/tools/regression/bin/sh/parser/func2.0 b/tools/regression/bin/sh/parser/func2.0 deleted file mode 100644 index 5fd4dda..0000000 --- a/tools/regression/bin/sh/parser/func2.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -f() { return 42; } -f() { return 3; } & -f -[ $? -eq 42 ] diff --git a/tools/regression/bin/sh/parser/func3.0 b/tools/regression/bin/sh/parser/func3.0 deleted file mode 100644 index dcac732..0000000 --- a/tools/regression/bin/sh/parser/func3.0 +++ /dev/null @@ -1,6 +0,0 @@ -# $FreeBSD$ - -name=/var/empty/nosuch -f() { true; } <$name -name=/dev/null -f diff --git a/tools/regression/bin/sh/parser/heredoc1.0 b/tools/regression/bin/sh/parser/heredoc1.0 deleted file mode 100644 index 5ce3897..0000000 --- a/tools/regression/bin/sh/parser/heredoc1.0 +++ /dev/null @@ -1,85 +0,0 @@ -# $FreeBSD$ - -failures=0 - -check() { - if ! eval "[ $* ]"; then - echo "Failed: $*" - : $((failures += 1)) - fi -} - -check '"$(cat </dev/null; command eval : hi \${r:=0} -exit ${r:-3} diff --git a/tools/regression/bin/sh/parser/heredoc7.0 b/tools/regression/bin/sh/parser/heredoc7.0 deleted file mode 100644 index a150106..0000000 --- a/tools/regression/bin/sh/parser/heredoc7.0 +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -# Some of these created malformed parse trees with null pointers for here -# documents, causing the here document writing process to segfault. -eval ': < tmp.stdout 2> tmp.stderr - if [ $? -ne $2 ]; then - echo "not ok ${c} - ${1} # wrong exit status" - rm tmp.stdout tmp.stderr - return - fi - for i in stdout stderr; do - if [ -f ${1}.${i} ]; then - if ! cmp -s tmp.${i} ${1}.${i}; then - echo "not ok ${c} - ${1} # wrong output on ${i}" - rm tmp.stdout tmp.stderr - return - fi - elif [ -s tmp.${i} ]; then - echo "not ok ${c} - ${1} # wrong output on ${i}" - rm tmp.stdout tmp.stderr - return - fi - done - echo "ok ${c} - ${1}" - rm tmp.stdout tmp.stderr -} - -TESTS=$(find -Es . -regex ".*\.[0-9]+") -printf "1..%d\n" $(echo ${TESTS} | wc -w) - -for i in ${TESTS} ; do - do_test ${i} ${i##*.} -done diff --git a/tools/regression/bin/sh/regress.t b/tools/regression/bin/sh/regress.t deleted file mode 100644 index 89b1828..0000000 --- a/tools/regression/bin/sh/regress.t +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -export SH="${SH:-sh}" - -cd `dirname $0` - -${SH} regress.sh diff --git a/tools/regression/bin/sh/set-e/and1.0 b/tools/regression/bin/sh/set-e/and1.0 deleted file mode 100644 index 607b7c3..0000000 --- a/tools/regression/bin/sh/set-e/and1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -true && true diff --git a/tools/regression/bin/sh/set-e/and2.1 b/tools/regression/bin/sh/set-e/and2.1 deleted file mode 100644 index 78e203a..0000000 --- a/tools/regression/bin/sh/set-e/and2.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -true && false -exit 0 diff --git a/tools/regression/bin/sh/set-e/and3.0 b/tools/regression/bin/sh/set-e/and3.0 deleted file mode 100644 index 9fafb1c..0000000 --- a/tools/regression/bin/sh/set-e/and3.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -false && true -exit 0 diff --git a/tools/regression/bin/sh/set-e/and4.0 b/tools/regression/bin/sh/set-e/and4.0 deleted file mode 100644 index 25d0e61..0000000 --- a/tools/regression/bin/sh/set-e/and4.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -false && false -exit 0 diff --git a/tools/regression/bin/sh/set-e/background1.0 b/tools/regression/bin/sh/set-e/background1.0 deleted file mode 100644 index 21577f4..0000000 --- a/tools/regression/bin/sh/set-e/background1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -false & diff --git a/tools/regression/bin/sh/set-e/cmd1.0 b/tools/regression/bin/sh/set-e/cmd1.0 deleted file mode 100644 index 67fdcbc..0000000 --- a/tools/regression/bin/sh/set-e/cmd1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -true diff --git a/tools/regression/bin/sh/set-e/cmd2.1 b/tools/regression/bin/sh/set-e/cmd2.1 deleted file mode 100644 index 7cd8b09..0000000 --- a/tools/regression/bin/sh/set-e/cmd2.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -false -exit 0 diff --git a/tools/regression/bin/sh/set-e/elif1.0 b/tools/regression/bin/sh/set-e/elif1.0 deleted file mode 100644 index 6a5937d..0000000 --- a/tools/regression/bin/sh/set-e/elif1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -set -e -if false; then - : -elif false; then - : -fi diff --git a/tools/regression/bin/sh/set-e/elif2.0 b/tools/regression/bin/sh/set-e/elif2.0 deleted file mode 100644 index 9dbb4bf..0000000 --- a/tools/regression/bin/sh/set-e/elif2.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -set -e -if false; then - : -elif false; false; then - : -fi diff --git a/tools/regression/bin/sh/set-e/eval1.0 b/tools/regression/bin/sh/set-e/eval1.0 deleted file mode 100644 index 9b7f67b..0000000 --- a/tools/regression/bin/sh/set-e/eval1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -eval false || true diff --git a/tools/regression/bin/sh/set-e/eval2.1 b/tools/regression/bin/sh/set-e/eval2.1 deleted file mode 100644 index 8bb7f3a..0000000 --- a/tools/regression/bin/sh/set-e/eval2.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -eval false -exit 0 diff --git a/tools/regression/bin/sh/set-e/for1.0 b/tools/regression/bin/sh/set-e/for1.0 deleted file mode 100644 index 67eb718..0000000 --- a/tools/regression/bin/sh/set-e/for1.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -set -e -f() { - for i in a b c; do - false - true - done -} -f || true diff --git a/tools/regression/bin/sh/set-e/func1.0 b/tools/regression/bin/sh/set-e/func1.0 deleted file mode 100644 index 3c6b704..0000000 --- a/tools/regression/bin/sh/set-e/func1.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -set -e -f() { - false - true -} -f || true diff --git a/tools/regression/bin/sh/set-e/func2.1 b/tools/regression/bin/sh/set-e/func2.1 deleted file mode 100644 index cc76d6e..0000000 --- a/tools/regression/bin/sh/set-e/func2.1 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -set -e -f() { - false - exit 0 -} -f diff --git a/tools/regression/bin/sh/set-e/if1.0 b/tools/regression/bin/sh/set-e/if1.0 deleted file mode 100644 index 36aa4bd..0000000 --- a/tools/regression/bin/sh/set-e/if1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -if false; then - : -fi diff --git a/tools/regression/bin/sh/set-e/if2.0 b/tools/regression/bin/sh/set-e/if2.0 deleted file mode 100644 index 4955408..0000000 --- a/tools/regression/bin/sh/set-e/if2.0 +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ -set -e -# PR 28852 -if true; then - false && true -fi -exit 0 diff --git a/tools/regression/bin/sh/set-e/if3.0 b/tools/regression/bin/sh/set-e/if3.0 deleted file mode 100644 index a4916a8..0000000 --- a/tools/regression/bin/sh/set-e/if3.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -if false; false; then - : -fi diff --git a/tools/regression/bin/sh/set-e/not1.0 b/tools/regression/bin/sh/set-e/not1.0 deleted file mode 100644 index 21c089a..0000000 --- a/tools/regression/bin/sh/set-e/not1.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -! true -exit 0 diff --git a/tools/regression/bin/sh/set-e/not2.0 b/tools/regression/bin/sh/set-e/not2.0 deleted file mode 100644 index 7d93b4d..0000000 --- a/tools/regression/bin/sh/set-e/not2.0 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -! false -! eval false diff --git a/tools/regression/bin/sh/set-e/or1.0 b/tools/regression/bin/sh/set-e/or1.0 deleted file mode 100644 index c2dcbe9..0000000 --- a/tools/regression/bin/sh/set-e/or1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -true || false diff --git a/tools/regression/bin/sh/set-e/or2.0 b/tools/regression/bin/sh/set-e/or2.0 deleted file mode 100644 index 934e2a6..0000000 --- a/tools/regression/bin/sh/set-e/or2.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -false || true diff --git a/tools/regression/bin/sh/set-e/or3.1 b/tools/regression/bin/sh/set-e/or3.1 deleted file mode 100644 index 7a617a1..0000000 --- a/tools/regression/bin/sh/set-e/or3.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -false || false -exit 0 diff --git a/tools/regression/bin/sh/set-e/pipe1.1 b/tools/regression/bin/sh/set-e/pipe1.1 deleted file mode 100644 index c0bad0f..0000000 --- a/tools/regression/bin/sh/set-e/pipe1.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -true | false -exit 0 diff --git a/tools/regression/bin/sh/set-e/pipe2.0 b/tools/regression/bin/sh/set-e/pipe2.0 deleted file mode 100644 index 1e25566..0000000 --- a/tools/regression/bin/sh/set-e/pipe2.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -false | true diff --git a/tools/regression/bin/sh/set-e/return1.0 b/tools/regression/bin/sh/set-e/return1.0 deleted file mode 100644 index 961bd41..0000000 --- a/tools/regression/bin/sh/set-e/return1.0 +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ -set -e - -# PR 77067, 85267 -f() { - return 1 - true -} - -f || true -exit 0 diff --git a/tools/regression/bin/sh/set-e/semi1.1 b/tools/regression/bin/sh/set-e/semi1.1 deleted file mode 100644 index 90476a9..0000000 --- a/tools/regression/bin/sh/set-e/semi1.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -false; true -exit 0 diff --git a/tools/regression/bin/sh/set-e/semi2.1 b/tools/regression/bin/sh/set-e/semi2.1 deleted file mode 100644 index 8f510ac..0000000 --- a/tools/regression/bin/sh/set-e/semi2.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -true; false -exit 0 diff --git a/tools/regression/bin/sh/set-e/subshell1.0 b/tools/regression/bin/sh/set-e/subshell1.0 deleted file mode 100644 index 8e5831b..0000000 --- a/tools/regression/bin/sh/set-e/subshell1.0 +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ -set -e -(true) diff --git a/tools/regression/bin/sh/set-e/subshell2.1 b/tools/regression/bin/sh/set-e/subshell2.1 deleted file mode 100644 index 619e98a..0000000 --- a/tools/regression/bin/sh/set-e/subshell2.1 +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ -set -e -(false) -exit 0 diff --git a/tools/regression/bin/sh/set-e/until1.0 b/tools/regression/bin/sh/set-e/until1.0 deleted file mode 100644 index 71ea7f2..0000000 --- a/tools/regression/bin/sh/set-e/until1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -until false; do - break -done diff --git a/tools/regression/bin/sh/set-e/until2.0 b/tools/regression/bin/sh/set-e/until2.0 deleted file mode 100644 index 24ea276..0000000 --- a/tools/regression/bin/sh/set-e/until2.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -until false; false; do - break -done diff --git a/tools/regression/bin/sh/set-e/until3.0 b/tools/regression/bin/sh/set-e/until3.0 deleted file mode 100644 index 597db59..0000000 --- a/tools/regression/bin/sh/set-e/until3.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -set -e -f() { - until false; do - false - break - done -} -f || true diff --git a/tools/regression/bin/sh/set-e/while1.0 b/tools/regression/bin/sh/set-e/while1.0 deleted file mode 100644 index 371c94a..0000000 --- a/tools/regression/bin/sh/set-e/while1.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -while false; do - : -done diff --git a/tools/regression/bin/sh/set-e/while2.0 b/tools/regression/bin/sh/set-e/while2.0 deleted file mode 100644 index 124966c..0000000 --- a/tools/regression/bin/sh/set-e/while2.0 +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ -set -e -while false; false; do - : -done diff --git a/tools/regression/bin/sh/set-e/while3.0 b/tools/regression/bin/sh/set-e/while3.0 deleted file mode 100644 index dd3c790..0000000 --- a/tools/regression/bin/sh/set-e/while3.0 +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ -set -e -f() { - while true; do - false - break - done -} -f || true diff --git a/tools/regression/bin/test/Makefile b/tools/regression/bin/test/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/test/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/test/regress.sh b/tools/regression/bin/test/regress.sh deleted file mode 100644 index 9229551..0000000 --- a/tools/regression/bin/test/regress.sh +++ /dev/null @@ -1,196 +0,0 @@ -#!/bin/sh - -#- -# Copyright (c) June 1996 Wolfram Schneider . Berlin. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. - -# -# TEST.sh - check if test(1) or builtin test works -# -# $FreeBSD$ - -# force a specified test program, e.g. `env test=/bin/test sh regress.sh' -: ${test=test} - -t () -{ - # $1 -> exit code - # $2 -> $test expression - - count=$((count+1)) - # check for syntax errors - syntax="`eval $test $2 2>&1`" - ret=$? - if test -n "$syntax"; then - printf "not ok %s - (syntax error)\n" "$count $2" - elif [ "$ret" != "$1" ]; then - printf "not ok %s - (got $ret, expected $1)\n" "$count $2" - else - printf "ok %s\n" "$count $2" - fi -} - -count=0 -echo "1..130" - -t 0 'b = b' -t 0 'b == b' -t 1 'b != b' -t 0 '\( b = b \)' -t 0 '\( b == b \)' -t 1 '! \( b = b \)' -t 1 '! \( b == b \)' -t 1 '! -f /etc/passwd' - -t 0 '-h = -h' -t 0 '-o = -o' -t 1 '-f = h' -t 1 '-h = f' -t 1 '-o = f' -t 1 'f = -o' -t 0 '\( -h = -h \)' -t 1 '\( a = -h \)' -t 1 '\( -f = h \)' -t 0 '-h = -h -o a' -t 0 '\( -h = -h \) -o 1' -t 0 '-h = -h -o -h = -h' -t 0 '\( -h = -h \) -o \( -h = -h \)' -t 0 'roedelheim = roedelheim' -t 1 'potsdam = berlin-dahlem' - -t 0 '-d /' -t 0 '-d / -a a != b' -t 1 '-z "-z"' -t 0 '-n -n' - -t 0 '0' -t 0 '\( 0 \)' -t 0 '-E' -t 0 '-X -a -X' -t 0 '-XXX' -t 0 '\( -E \)' -t 0 'true -o X' -t 0 'true -o -X' -t 0 '\( \( \( a = a \) -o 1 \) -a 1 \) -a true' -t 1 '-h /' -t 0 '-r /' -t 1 '-w /' -t 0 '-x /bin/sh' -t 0 '-c /dev/null' -t 0 '-f /etc/passwd' -t 0 '-s /etc/passwd' - -t 1 '! \( 700 -le 1000 -a -n "1" -a "20" = "20" \)' -t 0 '100 -eq 100' -t 0 '100 -lt 200' -t 1 '1000 -lt 200' -t 0 '1000 -gt 200' -t 0 '1000 -ge 200' -t 0 '1000 -ge 1000' -t 1 '2 -ne 2' -t 0 '0 -eq 0' -t 1 '-5 -eq 5' -t 0 '\( 0 -eq 0 \)' -t 1 '1 -eq 0 -o a = a -a 1 -eq 0 -o a = aa' - -t 1 '"" -o ""' -t 1 '"" -a ""' -t 1 '"a" -a ""' -t 0 '"a" -a ! ""' -t 1 '""' -t 0 '! ""' - -t 0 '!' -t 0 '\(' -t 0 '\)' - -t 1 '\( = \)' -t 0 '\( != \)' -t 0 '\( ! \)' -t 0 '\( \( \)' -t 0 '\( \) \)' -t 0 '! = !' -t 1 '! != !' -t 1 '-n = \)' -t 0 '! != \)' -t 1 '! = a' -t 0 '! != -n' -t 0 '! -c /etc/passwd' - -t 1 '! = = =' -t 0 '! = = \)' -t 0 '! "" -o ""' -t 1 '! "x" -o ""' -t 1 '! "" -o "x"' -t 1 '! "x" -o "x"' -t 0 '\( -f /etc/passwd \)' -t 0 '\( ! "" \)' -t 1 '\( ! -e \)' - -t 0 '0 -eq 0 -a -d /' -t 0 '-s = "" -o "" = ""' -t 0 '"" = "" -o -s = ""' -t 1 '-s = "" -o -s = ""' -t 0 '-z x -o x = "#" -o x = x' -t 1 '-z y -o y = "#" -o y = x' -t 0 '0 -ne 0 -o ! -f /' -t 0 '1 -ne 0 -o ! -f /etc/passwd' -t 1 '0 -ne 0 -o ! -f /etc/passwd' - -t 0 '-n =' -t 1 '-z =' -t 1 '! =' -t 0 '-n -eq' -t 1 '-z -eq' -t 1 '! -eq' -t 0 '-n -a' -t 1 '-z -a' -t 1 '! -a' -t 0 '-n -o' -t 1 '-z -o' -t 1 '! -o' -t 1 '! -n =' -t 0 '! -z =' -t 0 '! ! =' -t 1 '! -n -eq' -t 0 '! -z -eq' -t 0 '! ! -eq' -t 1 '! -n -a' -t 0 '! -z -a' -t 0 '! ! -a' -t 1 '! -n -o' -t 0 '! -z -o' -t 0 '! ! -o' -t 0 '\( -n = \)' -t 1 '\( -z = \)' -t 1 '\( ! = \)' -t 0 '\( -n -eq \)' -t 1 '\( -z -eq \)' -t 1 '\( ! -eq \)' -t 0 '\( -n -a \)' -t 1 '\( -z -a \)' -t 1 '\( ! -a \)' -t 0 '\( -n -o \)' -t 1 '\( -z -o \)' -t 1 '\( ! -o \)' diff --git a/tools/regression/bin/test/regress.t b/tools/regression/bin/test/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/test/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh -- cgit v1.1