diff options
192 files changed, 910 insertions, 623 deletions
diff --git a/tools/regression/usr.bin/make/README b/tools/regression/usr.bin/make/README index 351d541..624434a 100644 --- a/tools/regression/usr.bin/make/README +++ b/tools/regression/usr.bin/make/README @@ -2,28 +2,68 @@ $FreeBSD$ This directory contains regression tests for make(1). -The tests are invoked via the test.sh script or prove(1) from p5-Test-Harness +To invoke the tests install prove(1) from ports/devel/p5-Test-Harness and +run 'prove -r'. Alternatively one can use 'sh ./all.sh test' and scan the +output for '^not ok'. - % test.sh [-v] [-m path_to_make_binary] command +---------------------------------------------------------------------------- - clean - Remove the results and the other temp files that - are produced by running the test. This brings the - test into its initial state. +The rest of this file is intented for developers. - compare - Check if results of the test match the expected - output from stdout, stderr, and the status. +The tests are invoked via the test.sh script or prove(1) from p5-Test-Harness. +Tests are normally executed in a special test directory that is built under +/tmp. The reason for this is, that make tests are generally influenced by +all file in a directory, by files in one of make's obscure object directories +as well as in other directories make happens to look into. Therefor the +test scripts build a clean environment in the temp directory and the +tests are executed by cd-ing into that directory and invoking make. The +output of the make run (standard output, standard error and the exit status) +are written into files that are created in another directory. So the layout +for the shell/builtin test looks like: - desc - print description of test + ./shell/builtin/ - directory with test stuff + /tmp/make.${USER}/shell/builtin - actual test directory + /tmp/make.${USER}/shell/builtin.OUTPUT - output files - diff - Output the diffs from the tests and the expected - stdout, stderr, and the status files. +So a full test consists of the following steps: - run - Invoke test, compare, and clean in sequence. + setup - Set up the test environment by creating the test directory + and populating it with the needed files. If the test + directory already exists an error is printed. - test - Invoke the test code + run - Run the test and produce the output into the output + directory. - update - Copy the output of the last test run as the expected - output from stdout, stderr, and the status. + show - Show the result files on the screen. + + compare - Compare the results in the output directory with those + in the test source directory. This just prints whether + the test was ok or not in the format used by prove(1). + + diff - Diff the output files and the expected output files. + + reset - Reset the test to its initial state. + + clean - Remove both the test directory and the output directory. + +Each of these steps can independently be invoked with the test script +contained in each directory. These test scripts are called test.t. +Additionally the scripts understand the following commands: + + test - Run setup, run and compare. + + prove - Run setup, run, compare and clean. This is identically + to invoking the script without an argument. + + desc - Print a short test description. + + update - Update the expected results from the actual results. + +The test script has the following syntax: + + % test.t [-v] [-m path_to_make_binary] command + +To invoke it via prove(1) use: % [MAKE_PROG=path_to_make_binary] prove [options] [files/directories] @@ -31,30 +71,102 @@ Example: % sh test.t -m `pwd`/../obj/make run % MAKE_PROG=/usr/obj/usr/src/usr.bin/make/make prove -r -Variables ---------- -WORK_BASE - base directory for working files -SRC_BASE - test source base directory -SUBDIR - subdirectory below WORK_BASE and SRC_BASE for current test -WORK_DIR - ${WORK_BASE}/${SUBDIR} -SRC_DIR - ${SRC_BASE}/${SUBDIR} -MAKE_PROG - path to the make program to test - -WORK_BASE and MAKE_PROG are intented to be set by the user. All other -variables are set by the script and can be used in scripts. - -Directory layout ----------------- -common.sh - common code -all.sh - recursively call test scripts - -basic/ - t0/test.t - regression test - t1/test.t - regression test - t2/test.t - regression test -variables/ - t0/test.t - regression test - t1/test.t - regression test - -Each test directory should contain at least a test.t script -and the expected output files. +The test scripts use the following environment variables that can be set +by the user in the test script's environment: + + WORK_BASE + - Base directory for working files. If not set + /tmp/make.${USER} is used. + + MAKE_PROG + - Path to the make program to test. If not set + /usr/bin/make is used. + +The following variables are available to test scripts: + + SRC_BASE + - test source base directory. This is determined by + repeatedly doing cd .. and checking for common.sh. + Therefor this can fail if a test source directory is + actually a symbolic link and is physically not located + below the directory containing common.sh. + + SUBDIR + - subdirectory below WORK_BASE and SRC_BASE for current test + + WORK_DIR + - ${WORK_BASE}/${SUBDIR} + + SRC_DIR + - ${SRC_BASE}/${SUBDIR} + +The following variables and functions may be defined by the test script. +This also lists special filenames. + + DESC + A one-line description of the test. + + TEST_MAKE_DIRS + A list of pairs of directory names and modes. These + directories are created during setup and reset. When + the directory already exists (during reset) only the + mode change is applied. + + TEST_MAKE_DIRS="subdir 775 subdir/sub 555" + + TEST_COPY_FILES + A list of pairs of file names and modes. These files + are copied from the source to the working directory + during setup and reset. When the file already exists + (during reset) only the mode change is applied. Files + may be copied from/to sub-directories. The sub-directory + in the working directory must already exists (see + TEST_MAKE_DIRS). + + TEST_COPY_FILES="libtest.a 444 subdir/libfoo.a 444" + + TEST_TOUCH + List of pairs of file names and arguments to touch(1). + During setup and reset for each list element touch(1) + is executed. + + TEST_TOUCH="file1 '-t 200501011257'" + + TEST_LINK + List of pairs of filenames. Each pair is passed to ln(1). + All names are prefixed with the working directory. + + Makefile + If a file with this name exists in the source directory + it is automatically copied to the working directory. + + setup_test() + If this function exists it is executed at the end of the + setup. + + reset_test() + If this function exists it is executed at the end of the + reset. + + TEST_CLEAN_FILES + A list of file to be deleted when resetting. + + TEST_N + Number of tests in this script. If not set this is assumed + to be 1. + + TEST_<number> + Arguments to make for test number <number>. If not set + the default argument of test<number> is used. To run a test + without argument to make, set TEST_<number> to the empty string. + + TEST_<number>_SKIP + To skip a test (for whatever reason) this should be set + to a string explaining the reason for skipping the test. + + run_test() + Function to run a test. This function gets a single argument + which is the number of the test to executed. The default + function evaluates the variable TEST_<number> and calls + make with the arguments in this variable. + diff --git a/tools/regression/usr.bin/make/archives/t0/Makefile b/tools/regression/usr.bin/make/archives/fmt_44bsd/Makefile index ecb991a..5a8b065 100644 --- a/tools/regression/usr.bin/make/archives/t0/Makefile +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/Makefile @@ -2,18 +2,10 @@ # This test checks the code reading archive files. The archive file # is a BSD4.4 file with __.SYMTAB and #1/N long file names. -all: - -@make test_ok1 && echo "1 ok" - -@make test_ok2 && echo "2 ok" - -@make test_ok3 && echo "3 ok" - -@make test_ok4 && echo "4 ok" - -@make test_fail5 || echo "5 ok" - -@make test_fail6 || echo "6 ok" - -@make test_fail7 || echo "7 ok" - ############################################################################# -test_ok1: libtest.a(short.o) +# should be ok +test1: libtest.a(short.o) @: libtest.a(short.o): ood @@ -21,7 +13,8 @@ libtest.a(short.o): ood ############################################################################# -test_ok2: libtest.a(exactly15char.o) +# should be ok +test2: libtest.a(exactly15char.o) @: libtest.a(exactly15char.o): ood @@ -29,7 +22,8 @@ libtest.a(exactly15char.o): ood ############################################################################# -test_ok3: libtest.a(exactly16chars.o) +# should be ok +test3: libtest.a(exactly16chars.o) @: libtest.a(exactly16chars.o): ood @@ -37,7 +31,8 @@ libtest.a(exactly16chars.o): ood ############################################################################# -test_ok4: libtest.a(verylongobjectname.o) +# should be ok +test4: libtest.a(verylongobjectname.o) @: libtest.a(verylongobjectname.o): ood @@ -46,18 +41,21 @@ libtest.a(verylongobjectname.o): ood ############################################################################# # Truncated to 16 characters -test_fail5: libtest.a(verylongobjectna) +# should fail +test5: libtest.a(verylongobjectna) @: ############################################################################# # Truncated to 15 characters -test_fail6: libtest.a(verylongobjectn) +# should fail +test6: libtest.a(verylongobjectn) @: ############################################################################# -test_fail7: libtest.a(\#1/20) +# should fail +test7: libtest.a(\#1/20) @: ood: diff --git a/tools/regression/usr.bin/make/archives/t0/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.1 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/archives/t0/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.1 diff --git a/tools/regression/usr.bin/make/archives/t1/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.2 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/archives/t1/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.2 diff --git a/tools/regression/usr.bin/make/archives/t2/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.3 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/archives/t2/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.3 diff --git a/tools/regression/usr.bin/make/basic/t1/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.4 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/basic/t1/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.4 diff --git a/tools/regression/usr.bin/make/basic/t0/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.5 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/basic/t0/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.5 diff --git a/tools/regression/usr.bin/make/basic/t3/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.6 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/basic/t3/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.6 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.7 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/shell/builtin/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.status.7 diff --git a/tools/regression/usr.bin/make/basic/t0/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.1 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/basic/t0/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/basic/t1/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.2 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/basic/t1/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/basic/t1/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.3 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/basic/t1/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.3 diff --git a/tools/regression/usr.bin/make/basic/t2/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.4 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/basic/t2/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.4 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.5 b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.5 new file mode 100644 index 0000000..7b91643 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.5 @@ -0,0 +1 @@ +make: don't know how to make verylongobjectna. Stop diff --git a/tools/regression/usr.bin/make/archives/t2/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.6 index b0d6c00..fd15190 100644 --- a/tools/regression/usr.bin/make/archives/t2/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.6 @@ -1,2 +1 @@ make: don't know how to make verylongobjectn. Stop -make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.7 b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.7 new file mode 100644 index 0000000..cb572e1 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stderr.7 @@ -0,0 +1 @@ +make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/basic/t3/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.1 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/basic/t3/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.2 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/builtin/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.2 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.3 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/meta/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.3 diff --git a/tools/regression/usr.bin/make/shell/path/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.4 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/path/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.4 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.5 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/path_select/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.5 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stdout b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.6 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/replace/expected.stdout +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.6 diff --git a/tools/regression/usr.bin/make/shell/select/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.7 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/shell/select/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/expected.stdout.7 diff --git a/tools/regression/usr.bin/make/archives/t0/libtest.a b/tools/regression/usr.bin/make/archives/fmt_44bsd/libtest.a Binary files differindex 891ce6e..891ce6e 100644 --- a/tools/regression/usr.bin/make/archives/t0/libtest.a +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/libtest.a diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd/test.t b/tools/regression/usr.bin/make/archives/fmt_44bsd/test.t new file mode 100644 index 0000000..eba6aed --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd/test.t @@ -0,0 +1,17 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Archive parsing (BSD4.4 format)." + +# Setup +TEST_COPY_FILES="libtest.a 644" + +# Run +TEST_N=7 + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/archives/t1/Makefile b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/Makefile index c8c3d58..cd999da 100644 --- a/tools/regression/usr.bin/make/archives/t1/Makefile +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/Makefile @@ -5,18 +5,10 @@ # The modification of the archive consists in slashes appended to short names. # -all: - -@make test_ok1 && echo "1 ok" - -@make test_ok2 && echo "2 ok" - -@make test_ok3 && echo "3 ok" - -@make test_ok4 && echo "4 ok" - -@make test_fail5 || echo "5 ok" - -@make test_fail6 || echo "6 ok" - -@make test_fail7 || echo "7 ok" - ############################################################################# -test_ok1: libtest.a(short.o) +# must be ok +test1: libtest.a(short.o) @: libtest.a(short.o): ood @@ -24,7 +16,8 @@ libtest.a(short.o): ood ############################################################################# -test_ok2: libtest.a(exactly15char.o) +# must be ok +test2: libtest.a(exactly15char.o) @: libtest.a(exactly15char.o): ood @@ -32,7 +25,8 @@ libtest.a(exactly15char.o): ood ############################################################################# -test_ok3: libtest.a(exactly16chars.o) +# must be ok +test3: libtest.a(exactly16chars.o) @: libtest.a(exactly16chars.o): ood @@ -40,7 +34,8 @@ libtest.a(exactly16chars.o): ood ############################################################################# -test_ok4: libtest.a(verylongobjectname.o) +# must be ok +test4: libtest.a(verylongobjectname.o) @: libtest.a(verylongobjectname.o): ood @@ -49,18 +44,21 @@ libtest.a(verylongobjectname.o): ood ############################################################################# # Truncated to 16 characters -test_fail5: libtest.a(verylongobjectna) +# must fail +test5: libtest.a(verylongobjectna) @: ############################################################################# # Truncated to 15 characters -test_fail6: libtest.a(verylongobjectn) +# must fail +test6: libtest.a(verylongobjectn) @: ############################################################################# -test_fail7: libtest.a(\#1/20) +# must fail +test7: libtest.a(\#1/20) @: ood: diff --git a/tools/regression/usr.bin/make/basic/t2/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.1 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/basic/t2/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.1 diff --git a/tools/regression/usr.bin/make/shell/select/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.2 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/shell/select/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.2 diff --git a/tools/regression/usr.bin/make/suffixes/t0/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.3 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/suffixes/t0/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.3 diff --git a/tools/regression/usr.bin/make/suffixes/t1/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.4 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.4 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.5 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/shell/meta/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.5 diff --git a/tools/regression/usr.bin/make/shell/path/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.6 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/shell/path/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.6 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.status b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.7 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/shell/path_select/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.status.7 diff --git a/tools/regression/usr.bin/make/suffixes/t0/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.1 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/suffixes/t0/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/suffixes/t1/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.2 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/suffixes/t2/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.3 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.3 diff --git a/tools/regression/usr.bin/make/variables/t0/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.4 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/variables/t0/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.4 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.5 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.5 new file mode 100644 index 0000000..7b91643 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.5 @@ -0,0 +1 @@ +make: don't know how to make verylongobjectna. Stop diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.6 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.6 new file mode 100644 index 0000000..fd15190 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.6 @@ -0,0 +1 @@ +make: don't know how to make verylongobjectn. Stop diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.7 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.7 new file mode 100644 index 0000000..cb572e1 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stderr.7 @@ -0,0 +1 @@ +make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/variables/t1/expected.stderr b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.1 index e69de29..e69de29 100644 --- a/tools/regression/usr.bin/make/variables/t1/expected.stderr +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.2 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.2 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.3 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.3 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.3 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.4 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.4 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.4 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.5 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.5 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.5 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.6 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.6 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.6 diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.7 b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.7 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/expected.stdout.7 diff --git a/tools/regression/usr.bin/make/archives/t1/libtest.a b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/libtest.a Binary files differindex 57bc407..57bc407 100644 --- a/tools/regression/usr.bin/make/archives/t1/libtest.a +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/libtest.a diff --git a/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/test.t b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/test.t new file mode 100644 index 0000000..aa65a3e --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_44bsd_mod/test.t @@ -0,0 +1,17 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Archive parsing (modified BSD4.4 format)." + +# Setup +TEST_COPY_FILES="libtest.a 644" + +# Run +TEST_N=7 + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/archives/t2/Makefile b/tools/regression/usr.bin/make/archives/fmt_oldbsd/Makefile index be58a91..b8f5116 100644 --- a/tools/regression/usr.bin/make/archives/t2/Makefile +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/Makefile @@ -3,18 +3,10 @@ # is an old BSD file with __.SYMTAB and no long file names. Filenames # are truncated to 16 characters. -all: - -@make test_ok1 && echo "1 ok" - -@make test_ok2 && echo "2 ok" - -@make test_ok3 && echo "3 ok" - -@make test_ok4 && echo "4 ok" - -@make test_fail5 && echo "5 ok" - -@make test_fail6 || echo "6 ok" - -@make test_fail7 || echo "7 ok" - ############################################################################# -test_ok1: libtest.a(short.o) +# must be ok +test1: libtest.a(short.o) @: libtest.a(short.o): ood @@ -22,7 +14,8 @@ libtest.a(short.o): ood ############################################################################# -test_ok2: libtest.a(exactly15char.o) +# must be ok +test2: libtest.a(exactly15char.o) @: libtest.a(exactly15char.o): ood @@ -30,7 +23,8 @@ libtest.a(exactly15char.o): ood ############################################################################# -test_ok3: libtest.a(exactly16chars.o) +# must be ok +test3: libtest.a(exactly16chars.o) @: libtest.a(exactly16chars.o): ood @@ -38,7 +32,8 @@ libtest.a(exactly16chars.o): ood ############################################################################# -test_ok4: libtest.a(verylongobjectname.o) +# must be ok +test4: libtest.a(verylongobjectname.o) @: libtest.a(verylongobjectname.o): ood @@ -47,18 +42,21 @@ libtest.a(verylongobjectname.o): ood ############################################################################# # Truncated to 16 characters -test_fail5: libtest.a(verylongobjectna) +# must be ok +test5: libtest.a(verylongobjectna) @: ############################################################################# # Truncated to 15 characters -test_fail6: libtest.a(verylongobjectn) +# must fail +test6: libtest.a(verylongobjectn) @: ############################################################################# -test_fail7: libtest.a(\#1/20) +# must fail +test7: libtest.a(\#1/20) @: ood: diff --git a/tools/regression/usr.bin/make/suffixes/t2/expected.status b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.1 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.1 diff --git a/tools/regression/usr.bin/make/variables/t0/expected.status b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.2 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/variables/t0/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.2 diff --git a/tools/regression/usr.bin/make/variables/t1/expected.status b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.3 index 573541a..573541a 100644 --- a/tools/regression/usr.bin/make/variables/t1/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.3 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.4 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.4 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.4 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.5 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.5 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.5 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.status b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.6 index 0cfbf08..0cfbf08 100644 --- a/tools/regression/usr.bin/make/shell/replace/expected.status +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.6 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.7 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.7 new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.status.7 @@ -0,0 +1 @@ +2 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.1 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.2 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.3 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.3 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.3 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.4 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.4 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.4 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.5 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.5 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.5 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.6 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.6 new file mode 100644 index 0000000..fd15190 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.6 @@ -0,0 +1 @@ +make: don't know how to make verylongobjectn. Stop diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.7 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.7 new file mode 100644 index 0000000..cb572e1 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stderr.7 @@ -0,0 +1 @@ +make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.1 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.2 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.2 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.3 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.3 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.3 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.4 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.4 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.4 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.5 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.5 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.5 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.6 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.6 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.6 diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.7 b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.7 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/expected.stdout.7 diff --git a/tools/regression/usr.bin/make/archives/t2/libtest.a b/tools/regression/usr.bin/make/archives/fmt_oldbsd/libtest.a Binary files differindex 3434c53..3434c53 100644 --- a/tools/regression/usr.bin/make/archives/t2/libtest.a +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/libtest.a diff --git a/tools/regression/usr.bin/make/archives/fmt_oldbsd/test.t b/tools/regression/usr.bin/make/archives/fmt_oldbsd/test.t new file mode 100644 index 0000000..03f7800 --- /dev/null +++ b/tools/regression/usr.bin/make/archives/fmt_oldbsd/test.t @@ -0,0 +1,17 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Archive parsing (old BSD format)." + +# Setup +TEST_COPY_FILES="libtest.a 644" + +# Run +TEST_N=7 + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/archives/t0/expected.stderr b/tools/regression/usr.bin/make/archives/t0/expected.stderr deleted file mode 100644 index 8dedeaf..0000000 --- a/tools/regression/usr.bin/make/archives/t0/expected.stderr +++ /dev/null @@ -1,3 +0,0 @@ -make: don't know how to make verylongobjectna. Stop -make: don't know how to make verylongobjectn. Stop -make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/archives/t0/expected.stdout b/tools/regression/usr.bin/make/archives/t0/expected.stdout deleted file mode 100644 index 7cd22e1..0000000 --- a/tools/regression/usr.bin/make/archives/t0/expected.stdout +++ /dev/null @@ -1,7 +0,0 @@ -1 ok -2 ok -3 ok -4 ok -5 ok -6 ok -7 ok diff --git a/tools/regression/usr.bin/make/archives/t0/test.t b/tools/regression/usr.bin/make/archives/t0/test.t deleted file mode 100644 index 6c58fbe..0000000 --- a/tools/regression/usr.bin/make/archives/t0/test.t +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp libtest.a ${WORK_DIR} -} - -desc_test() -{ - echo "Archive parsing (BSD4.4 format)." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/archives/t1/expected.stderr b/tools/regression/usr.bin/make/archives/t1/expected.stderr deleted file mode 100644 index 8dedeaf..0000000 --- a/tools/regression/usr.bin/make/archives/t1/expected.stderr +++ /dev/null @@ -1,3 +0,0 @@ -make: don't know how to make verylongobjectna. Stop -make: don't know how to make verylongobjectn. Stop -make: don't know how to make #1/20. Stop diff --git a/tools/regression/usr.bin/make/archives/t1/expected.stdout b/tools/regression/usr.bin/make/archives/t1/expected.stdout deleted file mode 100644 index 7cd22e1..0000000 --- a/tools/regression/usr.bin/make/archives/t1/expected.stdout +++ /dev/null @@ -1,7 +0,0 @@ -1 ok -2 ok -3 ok -4 ok -5 ok -6 ok -7 ok diff --git a/tools/regression/usr.bin/make/archives/t1/test.t b/tools/regression/usr.bin/make/archives/t1/test.t deleted file mode 100644 index 23e9d0c..0000000 --- a/tools/regression/usr.bin/make/archives/t1/test.t +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp libtest.a ${WORK_DIR} -} - -desc_test() -{ - echo "Archive parsing (modified BSD4.4 format)." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/archives/t2/expected.stdout b/tools/regression/usr.bin/make/archives/t2/expected.stdout deleted file mode 100644 index 7cd22e1..0000000 --- a/tools/regression/usr.bin/make/archives/t2/expected.stdout +++ /dev/null @@ -1,7 +0,0 @@ -1 ok -2 ok -3 ok -4 ok -5 ok -6 ok -7 ok diff --git a/tools/regression/usr.bin/make/archives/t2/test.t b/tools/regression/usr.bin/make/archives/t2/test.t deleted file mode 100644 index f83be0b..0000000 --- a/tools/regression/usr.bin/make/archives/t2/test.t +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp libtest.a ${WORK_DIR} -} - -desc_test() -{ - echo "Archive parsing (old BSD format)." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/basic/t0/expected.status.1 b/tools/regression/usr.bin/make/basic/t0/expected.status.1 new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t0/expected.status.1 @@ -0,0 +1 @@ +2 diff --git a/tools/regression/usr.bin/make/basic/t0/expected.stderr b/tools/regression/usr.bin/make/basic/t0/expected.stderr.1 index 90280c8..90280c8 100644 --- a/tools/regression/usr.bin/make/basic/t0/expected.stderr +++ b/tools/regression/usr.bin/make/basic/t0/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/basic/t0/expected.stdout.1 b/tools/regression/usr.bin/make/basic/t0/expected.stdout.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t0/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/basic/t0/test.t b/tools/regression/usr.bin/make/basic/t0/test.t index 768e269..d71a39a 100644 --- a/tools/regression/usr.bin/make/basic/t0/test.t +++ b/tools/regression/usr.bin/make/basic/t0/test.t @@ -5,14 +5,14 @@ cd `dirname $0` . ../../common.sh -setup_test() -{ - cp /dev/null ${WORK_DIR}/Makefile -} +# Description +DESC="An empty Makefile file and no target given." -desc_test() -{ - echo "An empty Makefile file." -} +# Setup +TEST_TOUCH="Makefile ''" -eval_cmd $1 +# Run +TEST_N=1 +TEST_1= + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/basic/t1/Makefile b/tools/regression/usr.bin/make/basic/t1/Makefile new file mode 100644 index 0000000..d120087 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t1/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ +# +# Just a target and nothing else. No target on command line. +# +all: diff --git a/tools/regression/usr.bin/make/basic/t1/expected.status.1 b/tools/regression/usr.bin/make/basic/t1/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t1/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/basic/t1/expected.stderr.1 b/tools/regression/usr.bin/make/basic/t1/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t1/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/basic/t1/expected.stdout.1 b/tools/regression/usr.bin/make/basic/t1/expected.stdout.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t1/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/basic/t1/test.t b/tools/regression/usr.bin/make/basic/t1/test.t index ea5b62f..4131f5d 100644 --- a/tools/regression/usr.bin/make/basic/t1/test.t +++ b/tools/regression/usr.bin/make/basic/t1/test.t @@ -5,16 +5,11 @@ cd `dirname $0` . ../../common.sh -setup_test() -{ - cat > ${WORK_DIR}/Makefile << _EOF_ -all: -_EOF_ -} +# Description +DESC="A Makefile file with only a 'all:' file dependency specification." -desc_test() -{ - echo "A Makefile file with only a 'all:' file dependency specification." -} +# Run +TEST_N=1 +TEST_1= -eval_cmd $1 +eval_cmd $* diff --git a/tools/regression/usr.bin/make/basic/t2/Makefile b/tools/regression/usr.bin/make/basic/t2/Makefile new file mode 100644 index 0000000..ab8fe49 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t2/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ +# +# Just a target and a command. No command line targets. +# +all: + echo hello diff --git a/tools/regression/usr.bin/make/basic/t2/expected.status.1 b/tools/regression/usr.bin/make/basic/t2/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t2/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/basic/t2/expected.stderr.1 b/tools/regression/usr.bin/make/basic/t2/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t2/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/basic/t2/expected.stdout b/tools/regression/usr.bin/make/basic/t2/expected.stdout.1 index e618540..e618540 100644 --- a/tools/regression/usr.bin/make/basic/t2/expected.stdout +++ b/tools/regression/usr.bin/make/basic/t2/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/basic/t2/test.t b/tools/regression/usr.bin/make/basic/t2/test.t index 861305b..f5866bb 100644 --- a/tools/regression/usr.bin/make/basic/t2/test.t +++ b/tools/regression/usr.bin/make/basic/t2/test.t @@ -5,17 +5,11 @@ cd `dirname $0` . ../../common.sh -setup_test() -{ - cat > ${WORK_DIR}/Makefile << _EOF_ -all: - echo hello -_EOF_ -} +# Description +DESC="A Makefile file with only a 'all:' file dependency specification, and shell command." -desc_test() -{ - echo "A Makefile file with only a 'all:' file dependency specification, and shell command." -} +# Run +TEST_N=1 +TEST_1= -eval_cmd $1 +eval_cmd $* diff --git a/tools/regression/usr.bin/make/basic/t3/expected.status.1 b/tools/regression/usr.bin/make/basic/t3/expected.status.1 new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t3/expected.status.1 @@ -0,0 +1 @@ +2 diff --git a/tools/regression/usr.bin/make/basic/t3/expected.stderr b/tools/regression/usr.bin/make/basic/t3/expected.stderr.1 index 90280c8..90280c8 100644 --- a/tools/regression/usr.bin/make/basic/t3/expected.stderr +++ b/tools/regression/usr.bin/make/basic/t3/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/basic/t3/expected.stdout.1 b/tools/regression/usr.bin/make/basic/t3/expected.stdout.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/basic/t3/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/basic/t3/test.t b/tools/regression/usr.bin/make/basic/t3/test.t index fb6cc41..782d27c 100644 --- a/tools/regression/usr.bin/make/basic/t3/test.t +++ b/tools/regression/usr.bin/make/basic/t3/test.t @@ -5,14 +5,11 @@ cd `dirname $0` . ../../common.sh -setup_test() -{ - rm -f ${WORK_DIR}/Makefile -} +# Description +DESC="No Makefile file, no command line target." -desc_test() -{ - echo "No Makefile file." -} +# Run +TEST_N=1 +TEST_1= -eval_cmd $1 +eval_cmd $* diff --git a/tools/regression/usr.bin/make/common.sh b/tools/regression/usr.bin/make/common.sh index 4bd9f7f..3f7f1e1 100644 --- a/tools/regression/usr.bin/make/common.sh +++ b/tools/regression/usr.bin/make/common.sh @@ -5,102 +5,286 @@ # $FreeBSD$ # -# Output usage messsage. +# Output a message and exit with an error. # -print_usage() +fatal() { - echo "Usage: $0 command" - echo " clean - remove temp files (get initial state)" - echo " compare - compare result of test to expected" - echo " desc - print description of test" - echo " diff - print diffs between results and expected" - echo " harness - produce output suiteable for Test::Harness" - echo " run - run the {test, compare, clean}" - echo " test - run test case" - echo " update - update the expected with current results" + echo "fatal: $*" >/dev/stderr + exit 1 } # -# Check if the test result is the same as the expected result. +# Check whether the working directory exists - it must. # -# $1 Input file +ensure_workdir() +{ + if [ ! -d ${WORK_DIR} ] ; then + fatal "working directory ${WORK_DIR} does not exist." + fi +} + +# +# Make sure all tests have been run # -hack_cmp() +ensure_run() { - local EXPECTED RESULT - EXPECTED="expected.$1" - RESULT=${WORK_DIR}/$1 + if [ -z "${TEST_N}" ] ; then + TEST_N=1 + fi - if [ -f $EXPECTED ]; then - diff -q $EXPECTED $RESULT 1> /dev/null 2> /dev/null - return $? - else - return 1 # FAIL + FAIL= + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + if [ ! -f ${OUTPUT_DIR}/status.${N} -o \ + ! -f ${OUTPUT_DIR}/stdout.${N} -o \ + ! -f ${OUTPUT_DIR}/stderr.${N} ] ; then + echo "Test ${SUBDIR}/${N} no yet run" + FAIL=yes + fi + fi + N=$((N + 1)) + done + + if [ ! -z "${FAIL}" ] ; then + exit 1 fi } # -# Check if the test result is the same as the expected result. -# -# $1 Input file +# Output usage messsage. # -hack_diff() +print_usage() { - local EXPECTED RESULT - EXPECTED="expected.$1" - RESULT=${WORK_DIR}/$1 + echo "Usage: sh -v -m <path> -w <dir> $0 command(s)" + echo " setup - setup working directory" + echo " run - run the tests" + echo " show - show test results" + echo " compare - compare actual and expected results" + echo " diff - diff actual and expected results" + echo " reset - reset the test to its initial state" + echo " clean - delete working and output directory" + echo " test - setup + run + compare" + echo " prove - setup + run + compare + clean" + echo " desc - print short description" + echo " update - update the expected results with the current results" + echo " help - show this information" +} - echo diff -u $EXPECTED $RESULT - if [ -f $EXPECTED ]; then - diff -u $EXPECTED $RESULT - return $? - else - return 1 # FAIL +# +# Common function for setup and reset. +# +common_setup() +{ + # + # If a Makefile exists in the source directory - copy it over + # + if [ -e Makefile -a ! -e ${WORK_DIR}/Makefile ] ; then + cp Makefile ${WORK_DIR}/Makefile fi + + # + # If the TEST_MAKE_DIRS variable is set, create those directories + # + set -- ${TEST_MAKE_DIRS} + while [ $# -ne 0 ] ; do + if [ ! -d ${WORK_DIR}/${1} ] ; then + mkdir -p -m ${2} ${WORK_DIR}/${1} + else + chmod ${2} ${WORK_DIR}/${1} + fi + shift ; shift + done + + # + # If the TEST_COPY_FILES variable is set, copy those files over to + # the working directory. The value is assumed to be pairs of + # filenames and modes. + # + set -- ${TEST_COPY_FILES} + while [ $# -ne 0 ] ; do + if [ ! -e ${WORK_DIR}/${1} ] ; then + cp ${1} ${WORK_DIR}/${1} + fi + chmod ${2} ${WORK_DIR}/${1} + shift ; shift + done + + # + # If the TEST_TOUCH variable is set, it is taken to be a list + # of pairs of filenames and arguments to touch(1). The arguments + # to touch must be surrounded by single quotes if there are more + # than one argument. + # + eval set -- ${TEST_TOUCH} + while [ $# -ne 0 ] ; do + eval touch ${2} ${WORK_DIR}/${1} + shift ; shift + done + + # + # Now create links + # + eval set -- ${TEST_LINKS} + while [ $# -ne 0 ] ; do + eval ln ${WORK_DIR}/${1} ${WORK_DIR}/${2} + shift ; shift + done } # -# Default setup_test() function. +# Setup the test. This creates the working and output directories and +# populates it with files. If there is a setup_test() function - call it. # -# The default function just does nothing. +eval_setup() +{ + # + # Check whether the working directory exists. If it does exit + # fatally so that we don't clobber a test the user is working on. + # + if [ -d ${WORK_DIR} ] ; then + fatal "working directory ${WORK_DIR} already exists." + fi + + # + # Now create it and the output directory + # + mkdir -p ${WORK_DIR} + rm -rf ${OUTPUT_DIR} + mkdir -p ${OUTPUT_DIR} + + # + # Common stuff + # + common_setup + + # + # Now after all execute the user's setup function if it exists. + # + setup_test +} + # -# Both the variables SRC_BASE WORK_BASE are available. +# Default setup_test function does nothing. This may be overriden by +# the test. # setup_test() { } # -# Default run_test() function. It can be replace by the -# user specified regression test. +# Reset the test. Here we need to rely on information from the test. +# We executed the same steps as in the setup, by try not to clobber existing +# files. +# All files and directories that are listed on the TEST_CLEAN_FILES +# variable are removed. Then the TEST_TOUCH list is executed and finally +# the reset_test() function called if it exists. # -# Both the variables SRC_BASE WORK_BASE are available. +eval_reset() +{ + ensure_workdir + + # + # Clean the output directory + # + rm -rf ${OUTPUT_DIR}/* + + # + # Common stuff + # + common_setup + + # + # Remove files. + # + for f in ${TEST_CLEAN_FILES} ; do + rm -rf ${WORK_DIR}/${f} + done + + # + # Execute test's function + # + reset_test +} + # -# Note: this function executes from a subshell. +# Default reset_test function does nothing. This may be overriden by +# the test. # -run_test() +reset_test() { - cd ${WORK_DIR} - $MAKE_PROG 1> stdout 2> stderr - echo $? > status } # -# Default clean routine +# Clean the test. This simply removes the working and output directories. # -clean_test() +eval_clean() { + rm -rf ${WORK_DIR} + rm -rf ${OUTPUT_DIR} } # -# Clean working directory +# Run the test. # -eval_clean() +eval_run() +{ + ensure_workdir + + if [ -z "${TEST_N}" ] ; then + TEST_N=1 + fi + + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + ( cd ${WORK_DIR} ; + exec 1>${OUTPUT_DIR}/stdout.${N} 2>${OUTPUT_DIR}/stderr.${N} + run_test ${N} + echo $? >${OUTPUT_DIR}/status.${N} + ) + fi + N=$((N + 1)) + done +} + +# +# Default run_test() function. It can be replaced by the +# user specified regression test. The argument to this function is +# the test number. +# +run_test() { - rm -f ${WORK_DIR}/stdout - rm -f ${WORK_DIR}/stderr - rm -f ${WORK_DIR}/status - clean_test + eval args=\${TEST_${1}-test${1}} + ${MAKE_PROG} $args +} + +# +# Show test results. +# +eval_show() +{ + ensure_workdir + + if [ -z "${TEST_N}" ] ; then + TEST_N=1 + fi + + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + echo "=== Test ${N} Status ==================" + cat ${OUTPUT_DIR}/status.${N} + echo ".......... Stdout .................." + cat ${OUTPUT_DIR}/stdout.${N} + echo ".......... Stderr .................." + cat ${OUTPUT_DIR}/stderr.${N} + fi + N=$((N + 1)) + done } # @@ -108,122 +292,183 @@ eval_clean() # eval_compare() { - hack_cmp stdout || FAIL="stdout $FAIL" - hack_cmp stderr || FAIL="stderr $FAIL" - hack_cmp status || FAIL="status $FAIL" + ensure_workdir + ensure_run - if [ ! -z "$FAIL" ]; then - FAIL=`echo $FAIL` - echo "$SUBDIR: Test failed {$FAIL}" + if [ -z "${TEST_N}" ] ; then + TEST_N=1 fi + + echo "1..${TEST_N}" + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + FAIL= + do_compare stdout ${N} || FAIL="${FAIL}stdout " + do_compare stderr ${N} || FAIL="${FAIL}stderr " + do_compare status ${N} || FAIL="${FAIL}status " + if [ ! -z "$FAIL" ]; then + echo "not ok ${N} ${SUBDIR}/${N} # reason: ${FAIL}" + else + echo "ok ${N} ${SUBDIR}/${N}" + fi + else + echo "ok ${N} ${SUBDIR}/${N} # skip: ${skip}" + fi + N=$((N + 1)) + done } # -# Compare results with expected results for prove(1) +# Check if the test result is the same as the expected result. # -eval_hcompare() +# $1 Input file +# $2 Test number +# +do_compare() { - FAIL= - hack_cmp stdout || FAIL="stdout $FAIL" - hack_cmp stderr || FAIL="stderr $FAIL" - hack_cmp status || FAIL="status $FAIL" + local EXPECTED RESULT + EXPECTED="expected.$1.$2" + RESULT="${OUTPUT_DIR}/$1.$2" - if [ ! -z "$FAIL" ]; then - FAIL=`echo $FAIL` - echo "not ok 1 $SUBDIR # reason: {$FAIL}" + if [ -f $EXPECTED ]; then + diff -q $EXPECTED $RESULT 1>/dev/null 2>/dev/null + return $? else - echo "ok 1 $SUBDIR" + return 1 # FAIL fi } # -# Print description +# Diff current and expected results # -eval_desc() +eval_diff() { - echo -n "$SUBDIR: " - desc_test + ensure_workdir + ensure_run + + if [ -z "${TEST_N}" ] ; then + TEST_N=1 + fi + + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + FAIL= + do_diff stdout ${N} + do_diff stderr ${N} + do_diff status ${N} + fi + N=$((N + 1)) + done } # -# Prepare and run the test +# Check if the test result is the same as the expected result. # -eval_test() +# $1 Input file +# $2 Test number +# +do_diff() { - [ -d ${WORK_DIR} ] || mkdir -p ${WORK_DIR} - if [ -f Makefile ] ; then - cp Makefile ${WORK_DIR} + local EXPECTED RESULT + EXPECTED="expected.$1.$2" + RESULT="${OUTPUT_DIR}/$1.$2" + + echo diff -u $EXPECTED $RESULT + if [ -f $EXPECTED ]; then + diff -u $EXPECTED $RESULT + else + echo "${EXPECTED} does not exist" fi - setup_test - ( run_test ) } # -# Diff current and expected results +# Update expected results # -eval_diff() +eval_update() { - eval_test - echo "------------------------" - echo "- $SUBDIR" - echo "------------------------" - hack_diff stdout - hack_diff stderr - hack_diff status + ensure_workdir + ensure_run + + if [ -z "${TEST_N}" ] ; then + TEST_N=1 + fi + + FAIL= + N=1 + while [ ${N} -le ${TEST_N} ] ; do + eval skip=\${TEST_${N}_SKIP} + if [ -z "${skip}" ] ; then + cp ${OUTPUT_DIR}/stdout.${N} expected.stdout.${N} + cp ${OUTPUT_DIR}/stderr.${N} expected.stderr.${N} + cp ${OUTPUT_DIR}/status.${N} expected.status.${N} + fi + N=$((N + 1)) + done } # -# Run the test for prove(1) +# Print description # -eval_harness() +eval_desc() { - echo 1..1 - eval_test - eval_hcompare - eval_clean + echo "${SUBDIR}: ${DESC}" } # # Run the test # -eval_run() +eval_test() { - eval_test + eval_setup + eval_run eval_compare - eval_clean } # -# Update expected results +# Run the test for prove(1) # -eval_update() +eval_prove() { - eval_test - cat ${WORK_DIR}/stdout > expected.stdout - cat ${WORK_DIR}/stderr > expected.stderr - cat ${WORK_DIR}/status > expected.status + eval_setup + eval_run + eval_compare + eval_clean } # -# Note: Uses global variable $DIR which might be assigned by -# the script which sourced this file. +# Main function. Execute the command(s) on the command line. # eval_cmd() { if [ $# -eq 0 ] ; then - set -- harness + # if no arguments given default to 'prove' + set -- prove fi - case $1 in - clean|compare|hcompare|desc|diff|harness|run|test|update) - eval eval_$1 - ;; - *) - print_usage - ;; - esac + for i + do + case $i in + + setup | run | compare | diff | clean | reset | show | \ + test | prove | desc | update) + eval eval_$i + ;; + * | help) + print_usage + ;; + esac + done } +############################################################################## +# +# Main code +# + # # Parse command line arguments. # @@ -263,14 +508,14 @@ SRC_DIR=`pwd` SRC_BASE=`while [ ! -f common.sh ] ; do cd .. ; done ; pwd` SUBDIR=`echo ${SRC_DIR} | sed "s@${SRC_BASE}/@@"` +# +# Construct working directory +# WORK_BASE=${WORK_BASE:-"/tmp/$USER.make.test"} WORK_DIR=${WORK_BASE}/${SUBDIR} -MAKE_PROG=${MAKE_PROG:-/usr/bin/make} +OUTPUT_DIR=${WORK_DIR}.OUTPUT -export MAKE_PROG -export VERBOSE -export SRC_BASE -export WORK_BASE -export SUBDIR -export SRC_DIR -export WORK_DIR +# +# Make to use +# +MAKE_PROG=${MAKE_PROG:-/usr/bin/make} diff --git a/tools/regression/usr.bin/make/shell/builtin/Makefile b/tools/regression/usr.bin/make/shell/builtin/Makefile index 6fe42ab..0376478 100644 --- a/tools/regression/usr.bin/make/shell/builtin/Makefile +++ b/tools/regression/usr.bin/make/shell/builtin/Makefile @@ -7,17 +7,7 @@ # # $FreeBSD$ -all: sh - @MAKEFLAGS= ${MAKE} -B no-builtin - @MAKEFLAGS= ${MAKE} -B builtin - -sh: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/sh - @chmod +x ${.OBJDIR}/sh - -.ifmake builtin || no-builtin - -.SHELL: path="${.OBJDIR}/sh" +.SHELL: path="${.CURDIR}/sh" .PHONY: builtin no-builtin @@ -26,5 +16,3 @@ builtin: no-builtin: @ls -d . - -.endif diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.status.1 b/tools/regression/usr.bin/make/shell/builtin/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.status.2 b/tools/regression/usr.bin/make/shell/builtin/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stderr b/tools/regression/usr.bin/make/shell/builtin/expected.stderr deleted file mode 100644 index 628ea8f..0000000 --- a/tools/regression/usr.bin/make/shell/builtin/expected.stderr +++ /dev/null @@ -1 +0,0 @@ -make: don't know how to make sh.sh. Stop diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stderr.1 b/tools/regression/usr.bin/make/shell/builtin/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stderr.2 b/tools/regression/usr.bin/make/shell/builtin/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stdout.1 b/tools/regression/usr.bin/make/shell/builtin/expected.stdout.1 new file mode 100644 index 0000000..9c558e3 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.stdout.1 @@ -0,0 +1 @@ +. diff --git a/tools/regression/usr.bin/make/shell/builtin/expected.stdout.2 b/tools/regression/usr.bin/make/shell/builtin/expected.stdout.2 new file mode 100644 index 0000000..e350eaf --- /dev/null +++ b/tools/regression/usr.bin/make/shell/builtin/expected.stdout.2 @@ -0,0 +1 @@ +-ec exec ls -d . diff --git a/tools/regression/usr.bin/make/shell/builtin/sh.sh b/tools/regression/usr.bin/make/shell/builtin/sh index 3a507b87..3a507b87 100644 --- a/tools/regression/usr.bin/make/shell/builtin/sh.sh +++ b/tools/regression/usr.bin/make/shell/builtin/sh diff --git a/tools/regression/usr.bin/make/shell/builtin/test.t b/tools/regression/usr.bin/make/shell/builtin/test.t index a20fb2a..1798afc 100644 --- a/tools/regression/usr.bin/make/shell/builtin/test.t +++ b/tools/regression/usr.bin/make/shell/builtin/test.t @@ -5,9 +5,15 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "Check that a command line with a builtin is passed to the shell." -} +# Description +DESC="Check that a command line with a builtin is passed to the shell." -eval_cmd $1 +# Setup +TEST_COPY_FILES="sh 755" + +# Run +TEST_N=2 +TEST_1="-B no-builtin" +TEST_2="-B builtin" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/shell/meta/Makefile b/tools/regression/usr.bin/make/shell/meta/Makefile index 28a50d6..bcf19d0 100644 --- a/tools/regression/usr.bin/make/shell/meta/Makefile +++ b/tools/regression/usr.bin/make/shell/meta/Makefile @@ -7,16 +7,6 @@ # # $FreeBSD$ -all: sh - @MAKEFLAGS= ${MAKE} -B no-meta - @MAKEFLAGS= ${MAKE} -B meta - -sh: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/sh - @chmod +x ${.OBJDIR}/sh - -.ifmake meta || no-meta - .SHELL: path="${.OBJDIR}/sh" .PHONY: meta no-meta @@ -26,5 +16,3 @@ meta: no-meta: @ls -d . - -.endif diff --git a/tools/regression/usr.bin/make/shell/meta/expected.status.1 b/tools/regression/usr.bin/make/shell/meta/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.status.2 b/tools/regression/usr.bin/make/shell/meta/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stderr b/tools/regression/usr.bin/make/shell/meta/expected.stderr deleted file mode 100644 index 628ea8f..0000000 --- a/tools/regression/usr.bin/make/shell/meta/expected.stderr +++ /dev/null @@ -1 +0,0 @@ -make: don't know how to make sh.sh. Stop diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stderr.1 b/tools/regression/usr.bin/make/shell/meta/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stderr.2 b/tools/regression/usr.bin/make/shell/meta/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stdout.1 b/tools/regression/usr.bin/make/shell/meta/expected.stdout.1 new file mode 100644 index 0000000..9c558e3 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.stdout.1 @@ -0,0 +1 @@ +. diff --git a/tools/regression/usr.bin/make/shell/meta/expected.stdout.2 b/tools/regression/usr.bin/make/shell/meta/expected.stdout.2 new file mode 100644 index 0000000..6ac6f19 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/meta/expected.stdout.2 @@ -0,0 +1 @@ +-ec ls * diff --git a/tools/regression/usr.bin/make/shell/meta/sh.sh b/tools/regression/usr.bin/make/shell/meta/sh index 3a507b87..3a507b87 100644 --- a/tools/regression/usr.bin/make/shell/meta/sh.sh +++ b/tools/regression/usr.bin/make/shell/meta/sh diff --git a/tools/regression/usr.bin/make/shell/meta/test.t b/tools/regression/usr.bin/make/shell/meta/test.t index f67a5c6..588b73c 100644 --- a/tools/regression/usr.bin/make/shell/meta/test.t +++ b/tools/regression/usr.bin/make/shell/meta/test.t @@ -5,9 +5,15 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "Check that a command line with meta characters is passed to the shell." -} +# Description +DESC="Check that a command line with meta characters is passed to the shell." -eval_cmd $1 +# Setup +TEST_COPY_FILES="sh 755" + +# Run +TEST_N=2 +TEST_1="-B no-meta" +TEST_2="-B meta" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/shell/path/Makefile b/tools/regression/usr.bin/make/shell/path/Makefile index 8b1ce1b..fe40b64 100644 --- a/tools/regression/usr.bin/make/shell/path/Makefile +++ b/tools/regression/usr.bin/make/shell/path/Makefile @@ -10,23 +10,6 @@ # $FreeBSD$ # -all: sh csh ksh - @${MAKE} sh_test - @${MAKE} csh_test - @if [ -x /bin/ksh ] ; then ${MAKE} ksh_test ; fi - -sh: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/sh - @chmod +x ${.OBJDIR}/sh - -csh: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/csh - @chmod +x ${.OBJDIR}/csh - -ksh: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/ksh - @chmod +x ${.OBJDIR}/ksh - .ifmake sh_test .SHELL: path=${.OBJDIR}/sh diff --git a/tools/regression/usr.bin/make/shell/path/expected.status.1 b/tools/regression/usr.bin/make/shell/path/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/path/expected.status.2 b/tools/regression/usr.bin/make/shell/path/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/path/expected.stderr b/tools/regression/usr.bin/make/shell/path/expected.stderr deleted file mode 100644 index 628ea8f..0000000 --- a/tools/regression/usr.bin/make/shell/path/expected.stderr +++ /dev/null @@ -1 +0,0 @@ -make: don't know how to make sh.sh. Stop diff --git a/tools/regression/usr.bin/make/shell/path/expected.stderr.1 b/tools/regression/usr.bin/make/shell/path/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/path/expected.stderr.2 b/tools/regression/usr.bin/make/shell/path/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/path/expected.stdout.1 b/tools/regression/usr.bin/make/shell/path/expected.stdout.1 new file mode 100644 index 0000000..d881364 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.stdout.1 @@ -0,0 +1 @@ +-ec : This is the shell. diff --git a/tools/regression/usr.bin/make/shell/path/expected.stdout.2 b/tools/regression/usr.bin/make/shell/path/expected.stdout.2 new file mode 100644 index 0000000..de3fc89 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path/expected.stdout.2 @@ -0,0 +1 @@ +-ec : This is the C-shell. diff --git a/tools/regression/usr.bin/make/shell/path/sh.sh b/tools/regression/usr.bin/make/shell/path/sh index 46169eb..46169eb 100644 --- a/tools/regression/usr.bin/make/shell/path/sh.sh +++ b/tools/regression/usr.bin/make/shell/path/sh diff --git a/tools/regression/usr.bin/make/shell/path/test.t b/tools/regression/usr.bin/make/shell/path/test.t index 890fb45..72ff252 100644 --- a/tools/regression/usr.bin/make/shell/path/test.t +++ b/tools/regression/usr.bin/make/shell/path/test.t @@ -5,9 +5,18 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "New path for builtin shells." -} +# Description +DESC="New path for builtin shells." -eval_cmd $1 +# Setup +TEST_COPY_FILES="sh 755" +TEST_LINKS="sh csh sh ksh" + +# Run +TEST_N=3 +TEST_1="sh_test" +TEST_2="csh_test" +TEST_3="ksh_test" +TEST_3_SKIP="no ksh on FreeBSD" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/shell/path_select/Makefile b/tools/regression/usr.bin/make/shell/path_select/Makefile index 6b74a41..05cfb27 100644 --- a/tools/regression/usr.bin/make/shell/path_select/Makefile +++ b/tools/regression/usr.bin/make/shell/path_select/Makefile @@ -10,30 +10,21 @@ # $FreeBSD$ # -all: shell - @${MAKE} sh_test - @${MAKE} csh_test - @if [ -x /bin/ksh ] ; then ${MAKE} ksh_test ; fi - -shell: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/shell - @chmod +x ${.OBJDIR}/shell - .ifmake sh_test -.SHELL: name=sh path=${.OBJDIR}/shell +.SHELL: name=sh path=${.CURDIR}/shell sh_test: @: This is the shell. .elifmake csh_test -.SHELL: name=csh path=${.OBJDIR}/shell +.SHELL: name=csh path=${.CURDIR}/shell csh_test: @: This is the C-shell. .elifmake ksh_test -.SHELL: name=ksh path=${.OBJDIR}/shell +.SHELL: name=ksh path=${.CURDIR}/shell ksh_test: @: This is the Korn-shell. diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.status.1 b/tools/regression/usr.bin/make/shell/path_select/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.status.2 b/tools/regression/usr.bin/make/shell/path_select/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stderr b/tools/regression/usr.bin/make/shell/path_select/expected.stderr deleted file mode 100644 index 628ea8f..0000000 --- a/tools/regression/usr.bin/make/shell/path_select/expected.stderr +++ /dev/null @@ -1 +0,0 @@ -make: don't know how to make sh.sh. Stop diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stderr.1 b/tools/regression/usr.bin/make/shell/path_select/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stderr.2 b/tools/regression/usr.bin/make/shell/path_select/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stdout.1 b/tools/regression/usr.bin/make/shell/path_select/expected.stdout.1 new file mode 100644 index 0000000..d881364 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.stdout.1 @@ -0,0 +1 @@ +-ec : This is the shell. diff --git a/tools/regression/usr.bin/make/shell/path_select/expected.stdout.2 b/tools/regression/usr.bin/make/shell/path_select/expected.stdout.2 new file mode 100644 index 0000000..de3fc89 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/path_select/expected.stdout.2 @@ -0,0 +1 @@ +-ec : This is the C-shell. diff --git a/tools/regression/usr.bin/make/shell/path_select/sh.sh b/tools/regression/usr.bin/make/shell/path_select/shell index 46169eb..46169eb 100644 --- a/tools/regression/usr.bin/make/shell/path_select/sh.sh +++ b/tools/regression/usr.bin/make/shell/path_select/shell diff --git a/tools/regression/usr.bin/make/shell/path_select/test.t b/tools/regression/usr.bin/make/shell/path_select/test.t index fef0eb9..5bac631 100644 --- a/tools/regression/usr.bin/make/shell/path_select/test.t +++ b/tools/regression/usr.bin/make/shell/path_select/test.t @@ -5,9 +5,17 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "New path for builtin shells (2)." -} +# Description +DESC="New path for builtin shells (2)." -eval_cmd $1 +# Setup +TEST_COPY_FILES="shell 755" + +# Run +TEST_N=3 +TEST_1="sh_test" +TEST_2="csh_test" +TEST_3="ksh_test" +TEST_3_SKIP="no ksh on FreeBSD" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/shell/replace/Makefile b/tools/regression/usr.bin/make/shell/replace/Makefile index f903f37..2160dbf 100644 --- a/tools/regression/usr.bin/make/shell/replace/Makefile +++ b/tools/regression/usr.bin/make/shell/replace/Makefile @@ -10,17 +10,7 @@ # # $FreeBSD$ -all: shell - ${MAKE} test1 - ${MAKE} -j1 test1 - -shell: sh.sh - @cp ${.CURDIR}/sh.sh ${.OBJDIR}/shell - @chmod +x ${.OBJDIR}/shell - -.ifmake test1 - -.SHELL: name="shell" path="${.OBJDIR}/shell" \ +.SHELL: name="shell" path="${.CURDIR}/shell" \ quiet="be quiet" echo="be verbose" filter="be verbose" \ echoFlag="x" errFlag="y" \ hasErrCtl=y check="check errors" ignore="ignore errors" @@ -29,5 +19,3 @@ shell: sh.sh test1: -@funny $$ funnier $$ - -.endif diff --git a/tools/regression/usr.bin/make/shell/replace/expected.status.1 b/tools/regression/usr.bin/make/shell/replace/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.status.2 b/tools/regression/usr.bin/make/shell/replace/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stderr b/tools/regression/usr.bin/make/shell/replace/expected.stderr deleted file mode 100644 index 628ea8f..0000000 --- a/tools/regression/usr.bin/make/shell/replace/expected.stderr +++ /dev/null @@ -1 +0,0 @@ -make: don't know how to make sh.sh. Stop diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stderr.1 b/tools/regression/usr.bin/make/shell/replace/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stderr.2 b/tools/regression/usr.bin/make/shell/replace/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stdout.1 b/tools/regression/usr.bin/make/shell/replace/expected.stdout.1 new file mode 100644 index 0000000..eff99ea --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.stdout.1 @@ -0,0 +1,3 @@ +-c funny $ +funnier $ +-ec funnier $ diff --git a/tools/regression/usr.bin/make/shell/replace/expected.stdout.2 b/tools/regression/usr.bin/make/shell/replace/expected.stdout.2 new file mode 100644 index 0000000..c79a09a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/replace/expected.stdout.2 @@ -0,0 +1,6 @@ +-yx +be quiet +ignore errors +funny $ +check errors +funnier $ diff --git a/tools/regression/usr.bin/make/shell/replace/sh.sh b/tools/regression/usr.bin/make/shell/replace/shell index 46169eb..46169eb 100644 --- a/tools/regression/usr.bin/make/shell/replace/sh.sh +++ b/tools/regression/usr.bin/make/shell/replace/shell diff --git a/tools/regression/usr.bin/make/shell/replace/test.t b/tools/regression/usr.bin/make/shell/replace/test.t index 838a605..5c91cf9 100644 --- a/tools/regression/usr.bin/make/shell/replace/test.t +++ b/tools/regression/usr.bin/make/shell/replace/test.t @@ -5,9 +5,15 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "Check that the shell can be replaced." -} +# Description +DESC="Check that the shell can be replaced." -eval_cmd $1 +# Setup +TEST_COPY_FILES="shell 755" + +# Run +TEST_N=2 +TEST_1= +TEST_2=-j2 + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/shell/select/Makefile b/tools/regression/usr.bin/make/shell/select/Makefile index 127dca2..e1ff023 100644 --- a/tools/regression/usr.bin/make/shell/select/Makefile +++ b/tools/regression/usr.bin/make/shell/select/Makefile @@ -7,25 +7,20 @@ # $FreeBSD$ # -all: - @${MAKE} sh - @${MAKE} csh - @if [ -x /bin/ksh ] ; then ${MAKE} ksh ; fi - -.ifmake sh +.ifmake sh_test .SHELL: name=sh -sh: print_path +sh_test: print_path -.elifmake csh +.elifmake csh_test .SHELL: name=csh -csh: print_path +csh_test: print_path -.elifmake ksh +.elifmake ksh_test .SHELL: name=ksh -ksh: print_path +ksh_test: print_path .endif diff --git a/tools/regression/usr.bin/make/shell/select/expected.status.1 b/tools/regression/usr.bin/make/shell/select/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/select/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/select/expected.status.2 b/tools/regression/usr.bin/make/shell/select/expected.status.2 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/shell/select/expected.status.2 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/shell/select/expected.stderr.1 b/tools/regression/usr.bin/make/shell/select/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/select/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/shell/select/expected.stderr.2 b/tools/regression/usr.bin/make/shell/select/expected.stderr.2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/select/expected.stderr.2 diff --git a/tools/regression/usr.bin/make/shell/select/expected.stdout.1 b/tools/regression/usr.bin/make/shell/select/expected.stdout.1 new file mode 100644 index 0000000..c2cdaa0 --- /dev/null +++ b/tools/regression/usr.bin/make/shell/select/expected.stdout.1 @@ -0,0 +1 @@ +/bin/sh diff --git a/tools/regression/usr.bin/make/shell/select/expected.stdout b/tools/regression/usr.bin/make/shell/select/expected.stdout.2 index 4e4093b..5a831e8 100644 --- a/tools/regression/usr.bin/make/shell/select/expected.stdout +++ b/tools/regression/usr.bin/make/shell/select/expected.stdout.2 @@ -1,2 +1 @@ -/bin/sh /bin/csh diff --git a/tools/regression/usr.bin/make/shell/select/test.t b/tools/regression/usr.bin/make/shell/select/test.t index 0a129c0..7f73f9b 100644 --- a/tools/regression/usr.bin/make/shell/select/test.t +++ b/tools/regression/usr.bin/make/shell/select/test.t @@ -5,9 +5,14 @@ cd `dirname $0` . ../../common.sh -desc_test() -{ - echo "Select the builtin sh shell." -} +# Description +DESC="Select the builtin sh shell." -eval_cmd $1 +# Run +TEST_N=3 +TEST_1="sh_test" +TEST_2="csh_test" +TEST_3="ksh_test" +TEST_3_SKIP="no ksh on FreeBSD" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/suffixes/t0/Makefile b/tools/regression/usr.bin/make/suffixes/basic/Makefile index 1f9753a..45d9130 100644 --- a/tools/regression/usr.bin/make/suffixes/t0/Makefile +++ b/tools/regression/usr.bin/make/suffixes/basic/Makefile @@ -1,6 +1,8 @@ # $FreeBSD$ +# +# Check that a simple suffix rule is correctly processed. -all: TEST1.b +test1: TEST1.b diff -u TEST1.a TEST1.b .SUFFIXES: diff --git a/tools/regression/usr.bin/make/suffixes/t0/TEST1.a b/tools/regression/usr.bin/make/suffixes/basic/TEST1.a index da5569b..da5569b 100644 --- a/tools/regression/usr.bin/make/suffixes/t0/TEST1.a +++ b/tools/regression/usr.bin/make/suffixes/basic/TEST1.a diff --git a/tools/regression/usr.bin/make/suffixes/basic/expected.status.1 b/tools/regression/usr.bin/make/suffixes/basic/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/basic/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/suffixes/basic/expected.stderr.1 b/tools/regression/usr.bin/make/suffixes/basic/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/basic/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/suffixes/t0/expected.stdout b/tools/regression/usr.bin/make/suffixes/basic/expected.stdout.1 index 582927e..582927e 100644 --- a/tools/regression/usr.bin/make/suffixes/t0/expected.stdout +++ b/tools/regression/usr.bin/make/suffixes/basic/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/suffixes/basic/test.t b/tools/regression/usr.bin/make/suffixes/basic/test.t new file mode 100644 index 0000000..0b387c8 --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/basic/test.t @@ -0,0 +1,21 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Basic suffix operation." + +# Setup +TEST_COPY_FILES="TEST1.a 644" + +# Reset +TEST_CLEAN="Test1.b" + +# Run +TEST_N=1 +TEST_1="-r test1" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/suffixes/t1/Makefile b/tools/regression/usr.bin/make/suffixes/src_wild1/Makefile index 38a4573..d0258ad 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/Makefile +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/Makefile @@ -1,6 +1,6 @@ # $FreeBSD$ -all: TEST1.b +test1: TEST1.b cat TEST1.a TEST2.a | diff -u - TEST1.b TEST1.b: *.a diff --git a/tools/regression/usr.bin/make/suffixes/t1/TEST1.a b/tools/regression/usr.bin/make/suffixes/src_wild1/TEST1.a index da5569b..da5569b 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/TEST1.a +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/TEST1.a diff --git a/tools/regression/usr.bin/make/suffixes/t1/TEST2.a b/tools/regression/usr.bin/make/suffixes/src_wild1/TEST2.a index 34f8508..34f8508 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/TEST2.a +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/TEST2.a diff --git a/tools/regression/usr.bin/make/suffixes/src_wild1/expected.status.1 b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/suffixes/src_wild1/expected.stderr.1 b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/suffixes/t1/expected.stdout b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.stdout.1 index 3cd2129..3cd2129 100644 --- a/tools/regression/usr.bin/make/suffixes/t1/expected.stdout +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/suffixes/src_wild1/test.t b/tools/regression/usr.bin/make/suffixes/src_wild1/test.t new file mode 100644 index 0000000..6b31118 --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild1/test.t @@ -0,0 +1,21 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Source wildcard expansion." + +# Setup +TEST_COPY_FILES="TEST1.a 644 TEST2.a 644" + +# Reset +TEST_CLEAN="TEST1.b" + +# Run +TEST_N=1 +TEST_1="-r test1" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/suffixes/t2/Makefile b/tools/regression/usr.bin/make/suffixes/src_wild2/Makefile index 42e26fb..1dea7ea 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/Makefile +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/Makefile @@ -1,8 +1,11 @@ # $FreeBSD$ +# +# Source expansion with the source in a macro +# SRC=*.a -all: TEST1.b +test1: TEST1.b cat TEST1.a TEST2.a | diff -u - TEST1.b TEST1.b: ${SRC} diff --git a/tools/regression/usr.bin/make/suffixes/t2/TEST1.a b/tools/regression/usr.bin/make/suffixes/src_wild2/TEST1.a index da5569b..da5569b 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/TEST1.a +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/TEST1.a diff --git a/tools/regression/usr.bin/make/suffixes/t2/TEST2.a b/tools/regression/usr.bin/make/suffixes/src_wild2/TEST2.a index 34f8508..34f8508 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/TEST2.a +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/TEST2.a diff --git a/tools/regression/usr.bin/make/suffixes/src_wild2/expected.status.1 b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/suffixes/src_wild2/expected.stderr.1 b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/suffixes/t2/expected.stdout b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.stdout.1 index 3cd2129..3cd2129 100644 --- a/tools/regression/usr.bin/make/suffixes/t2/expected.stdout +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/suffixes/src_wild2/test.t b/tools/regression/usr.bin/make/suffixes/src_wild2/test.t new file mode 100644 index 0000000..0d40e3d --- /dev/null +++ b/tools/regression/usr.bin/make/suffixes/src_wild2/test.t @@ -0,0 +1,21 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Source wildcard expansion (2)." + +# Setup +TEST_COPY_FILES="TEST1.a 644 TEST2.a 644" + +# Reset +TEST_CLEAN="TEST1.b" + +# Run +TEST_N=1 +TEST_1="-r test1" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/suffixes/t0/test.t b/tools/regression/usr.bin/make/suffixes/t0/test.t deleted file mode 100644 index 3715377..0000000 --- a/tools/regression/usr.bin/make/suffixes/t0/test.t +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp TEST1.a $WORK_DIR -} - -run_test() -{ - cd $WORK_DIR - $MAKE_PROG -r 1>stdout 2>stderr - echo $? >status -} - -clean_test() -{ - rm -f TEST1.b -} - -desc_test() -{ - echo "Basic suffix operation." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/suffixes/t1/test.t b/tools/regression/usr.bin/make/suffixes/t1/test.t deleted file mode 100644 index 844b8a0..0000000 --- a/tools/regression/usr.bin/make/suffixes/t1/test.t +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp TEST[12].a ${WORK_DIR} -} - -run_test() -{ - cd ${WORK_DIR} - ${MAKE_PROG} -r 1>stdout 2>stderr - echo $? >status -} - -clean_test() -{ - rm -f TEST1.b -} - -desc_test() -{ - echo "Source wildcard expansion." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/suffixes/t2/test.t b/tools/regression/usr.bin/make/suffixes/t2/test.t deleted file mode 100644 index 844b8a0..0000000 --- a/tools/regression/usr.bin/make/suffixes/t2/test.t +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cp TEST[12].a ${WORK_DIR} -} - -run_test() -{ - cd ${WORK_DIR} - ${MAKE_PROG} -r 1>stdout 2>stderr - echo $? >status -} - -clean_test() -{ - rm -f TEST1.b -} - -desc_test() -{ - echo "Source wildcard expansion." -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/variables/t1/test.t b/tools/regression/usr.bin/make/variables/modifier_M/Makefile index 05014d9..f8f6d3f 100644 --- a/tools/regression/usr.bin/make/variables/t1/test.t +++ b/tools/regression/usr.bin/make/variables/modifier_M/Makefile @@ -1,20 +1,14 @@ -#!/bin/sh - # $FreeBSD$ - -cd `dirname $0` -. ../../common.sh - -setup_test() -{ - cat > ${WORK_DIR}/Makefile << "_EOF_" +# +# Test the M modifier. +# FILES = \ main.c globals.h \ util.c util.h \ map.c map.h \ parser.y lexer.l \ cmdman.1 format.5 -all: +test1: @echo "all files: ${FILES}" @echo "cfiles: ${FILES:M*.c}" @echo "hfiles: ${FILES:M*.h}" @@ -22,12 +16,3 @@ all: @echo "man page: ${FILES:M*.[1-9]}" @echo "utility files: ${FILES:Mutil.?}" @echo "m files: ${FILES:Mm*}" -_EOF_ -} - -desc_test() -{ - echo "Variable expansion with M modifier" -} - -eval_cmd $1 diff --git a/tools/regression/usr.bin/make/variables/modifier_M/expected.status.1 b/tools/regression/usr.bin/make/variables/modifier_M/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/variables/modifier_M/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/variables/modifier_M/expected.stderr.1 b/tools/regression/usr.bin/make/variables/modifier_M/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/variables/modifier_M/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/variables/t1/expected.stdout b/tools/regression/usr.bin/make/variables/modifier_M/expected.stdout.1 index e00d5a7..e00d5a7 100644 --- a/tools/regression/usr.bin/make/variables/t1/expected.stdout +++ b/tools/regression/usr.bin/make/variables/modifier_M/expected.stdout.1 diff --git a/tools/regression/usr.bin/make/variables/modifier_M/test.t b/tools/regression/usr.bin/make/variables/modifier_M/test.t new file mode 100644 index 0000000..979778f --- /dev/null +++ b/tools/regression/usr.bin/make/variables/modifier_M/test.t @@ -0,0 +1,11 @@ +#!/bin/sh + +# $FreeBSD$ + +cd `dirname $0` +. ../../common.sh + +# Description +DESC="Variable expansion with M modifier" + +eval_cmd $* diff --git a/tools/regression/usr.bin/make/variables/t0/Makefile b/tools/regression/usr.bin/make/variables/t0/Makefile new file mode 100644 index 0000000..1cc58ee --- /dev/null +++ b/tools/regression/usr.bin/make/variables/t0/Makefile @@ -0,0 +1,23 @@ +# $FreeBSD$ +# +# A unsorted set of macro expansions. This should be sorted out. +# +A = 0 +AV = 1 +test1: + @echo $A + @echo ${AV} + @echo ${A} + @# The following are soo broken why no syntax error? + @echo $( + @echo $) + @echo ${ + @echo ${A + @echo ${A) + @echo ${A){ + @echo ${AV + @echo ${AV) + @echo ${AV){ + @echo ${AV{ + @echo ${A{ + @echo $} diff --git a/tools/regression/usr.bin/make/variables/t0/expected.status.1 b/tools/regression/usr.bin/make/variables/t0/expected.status.1 new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tools/regression/usr.bin/make/variables/t0/expected.status.1 @@ -0,0 +1 @@ +0 diff --git a/tools/regression/usr.bin/make/variables/t0/expected.stderr.1 b/tools/regression/usr.bin/make/variables/t0/expected.stderr.1 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tools/regression/usr.bin/make/variables/t0/expected.stderr.1 diff --git a/tools/regression/usr.bin/make/variables/t0/expected.stdout b/tools/regression/usr.bin/make/variables/t0/expected.stdout deleted file mode 100644 index dfe03b8..0000000 --- a/tools/regression/usr.bin/make/variables/t0/expected.stdout +++ /dev/null @@ -1,31 +0,0 @@ -echo 0 -0 -echo 1 -1 -echo 0 -0 -# The following are soo broken why no syntax error? -echo - -echo - -echo - -echo - -echo - -echo - -echo - -echo - -echo - -echo - -echo - -echo - diff --git a/tools/regression/usr.bin/make/variables/t0/expected.stdout.1 b/tools/regression/usr.bin/make/variables/t0/expected.stdout.1 new file mode 100644 index 0000000..e2c70de --- /dev/null +++ b/tools/regression/usr.bin/make/variables/t0/expected.stdout.1 @@ -0,0 +1,15 @@ +0 +1 +0 + + + + + + + + + + + + diff --git a/tools/regression/usr.bin/make/variables/t0/test.t b/tools/regression/usr.bin/make/variables/t0/test.t index 7cbc35c..7e4f427 100644 --- a/tools/regression/usr.bin/make/variables/t0/test.t +++ b/tools/regression/usr.bin/make/variables/t0/test.t @@ -5,34 +5,7 @@ cd `dirname $0` . ../../common.sh -setup_test() -{ - cat > ${WORK_DIR}/Makefile << "_EOF_" -A = 0 -AV = 1 -all: - echo $A - echo ${AV} - echo ${A} - # The following are soo broken why no syntax error? - echo $( - echo $) - echo ${ - echo ${A - echo ${A) - echo ${A){ - echo ${AV - echo ${AV) - echo ${AV){ - echo ${AV{ - echo ${A{ - echo $} -_EOF_ -} +# Description +DESC="Variable expansion." -desc_test() -{ - echo "Variable expansion." -} - -eval_cmd $1 +eval_cmd $* |