diff options
author | Eric Andersen | 2004-04-06 11:10:30 +0000 |
---|---|---|
committer | Eric Andersen | 2004-04-06 11:10:30 +0000 |
commit | 650fe63467e693990cf357c51b74db3278088a56 (patch) | |
tree | 660b1fb0e4d7f99802a85cdd00166fafbf3132dc /tests/cp_tests.mk | |
parent | 39396b95fc7c46bfa29ec576357fb7f8e755762c (diff) | |
download | busybox-650fe63467e693990cf357c51b74db3278088a56.zip busybox-650fe63467e693990cf357c51b74db3278088a56.tar.gz |
Kill off the old 'tests' stuff. Write a ton of new tests for the
'testsuite' dir. Fix a bunch of broken tests. Fix the testsuite
'runtest' script so it actually reports all failures and provides
meaningful feedback.
-Erik
Diffstat (limited to 'tests/cp_tests.mk')
-rw-r--r-- | tests/cp_tests.mk | 360 |
1 files changed, 0 insertions, 360 deletions
diff --git a/tests/cp_tests.mk b/tests/cp_tests.mk deleted file mode 100644 index b96c5ce..0000000 --- a/tests/cp_tests.mk +++ /dev/null @@ -1,360 +0,0 @@ -# cp_tests.mk - Set of test cases for busybox cp -# ------------- -# Copyright (C) 2000 Karl M. Hegbloom <karlheg@debian.org> GPL -# - -# GNU `cp' -GCP = /bin/cp -# BusyBox `cp' -BCP = $(shell pwd)/cp - -all:: cp_tests -clean:: cp_clean - -cp_clean: - - rm -rf cp_tests cp_*.{gnu,bb} cp - -# check_cp_dir_to_dir_wo_a removed from this list; see below -cp_tests: cp_clean cp check_exists check_simple_cp check_cp_symlnk \ - check_cp_symlink_w_a check_cp_files_to_dir check_cp_files_to_dir_w_d \ - check_cp_files_to_dir_w_p check_cp_files_to_dir_w_p_and_d \ - check_cp_dir_to_dir_w_a \ - check_cp_dir_to_dir_w_a_take_two - -check_exists: - @echo; - @echo "No output from diff means busybox cp is functioning properly."; - @echo "Some tests might show timestamp differences that are Ok."; - - @echo; - @echo Verify that busybox cp exists; - @echo ------------------------------; - [ -x ${BCP} ] || exit 0 - - @echo; - mkdir cp_tests; - -check_simple_cp: - @echo Copy a file to a copy of the file; - @echo ------------------------------; - cd cp_tests; \ - echo A file > afile; \ - ls -l afile > ../cp_afile_afilecopy.gnu; \ - ${GCP} afile afilecopy; \ - ls -l afile afilecopy >> ../cp_afile_afilecopy.gnu; - - @echo; - rm -rf cp_tests/*; - - @echo; - cd cp_tests; \ - echo A file > afile; \ - ls -l afile > ../cp_afile_afilecopy.bb; \ - ${BCP} afile afilecopy; \ - ls -l afile afilecopy >> ../cp_afile_afilecopy.bb; - - @echo; - @echo Might show timestamp differences. - -diff -u cp_afile_afilecopy.gnu cp_afile_afilecopy.bb; - - @echo; - rm -rf cp_tests/*; - -check_cp_symlnk: - @echo; echo Copy a file pointed to by a symlink; - @echo ------------------------------; - cd cp_tests; \ - mkdir here there; \ - echo A file > afile; \ - cd here; \ - ln -s ../afile .; \ - - @echo; - cd cp_tests; \ - ls -lR . > ../cp_symlink.gnu; \ - ${GCP} here/afile there; \ - ls -lR . >> ../cp_symlink.gnu; - - @echo; - rm -rf cp_tests/there/*; - - sleep 1; - - @echo; - cd cp_tests; \ - ls -lR . > ../cp_symlink.bb; \ - ${BCP} here/afile there; \ - ls -lR . >> ../cp_symlink.bb; - - @echo; - @echo Will show timestamp difference. - -diff -u cp_symlink.gnu cp_symlink.bb; - - @echo; - rm -rf cp_tests/* - -check_cp_symlink_w_a: - @echo; echo Copy a symlink, useing the -a switch.; - @echo ------------------------------; - cd cp_tests; \ - echo A file > afile; \ - mkdir here there; \ - cd here; \ - ln -s ../afile . - - cd cp_tests; \ - ls -lR . > ../cp_a_symlink.gnu; \ - ${GCP} -a here/afile there; \ - ls -lR . >> ../cp_a_symlink.gnu; - - @echo; - rm -rf cp_tests/there/*; - - sleep 1; - - @echo; - cd cp_tests; \ - echo A file > afile; \ - ls -lR . > ../cp_a_symlink.bb; \ - ${BCP} -a here/afile there; \ - ls -lR . >> ../cp_a_symlink.bb; - - @echo; - diff -u cp_a_symlink.gnu cp_a_symlink.bb; - - @echo; - rm -rf cp_tests/*; - - -check_cp_files_to_dir: - # Copy a set of files to a directory. - @echo; echo Copy a set of files to a directory.; - @echo ------------------------------; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - ln -s afile1 symlink1; \ - mkdir there; - - cd cp_tests; \ - ${GCP} afile1 afile2 symlink1 there/; \ - ls -lR > ../cp_files_dir.gnu; - - @echo; - rm -rf cp_tests/there/*; - - @echo; - cd cp_tests; \ - ${BCP} afile1 afile2 symlink1 there/; \ - ls -lR > ../cp_files_dir.bb; - - @echo; - diff -u cp_files_dir.gnu cp_files_dir.bb; - - @echo; - rm -rf cp_tests/*; - -check_cp_files_to_dir_w_d: - # Copy a set of files to a directory with the -d switch. - @echo; echo Copy a set of files to a directory with the -d switch.; - @echo ------------------------------; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${GCP} -d afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_d_files_dir.gnu; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - - @echo; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${BCP} -d afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_d_files_dir.bb; - - @echo; - diff -u cp_d_files_dir.gnu cp_d_files_dir.bb; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - -check_cp_files_to_dir_w_p: - # Copy a set of files to a directory with the -p switch. - @echo; echo Copy a set of files to a directory with the -p switch.; - @echo ------------------------------; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${GCP} -p afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_p_files_dir.gnu; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - - @echo; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${BCP} -p afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_p_files_dir.bb; - - @echo; - diff -u cp_p_files_dir.gnu cp_p_files_dir.bb; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - - -check_cp_files_to_dir_w_p_and_d: - @echo; echo Copy a set of files to a directory with -p and -d switches. - @echo ------------------------------; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${GCP} -p -d afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_pd_files_dir.gnu; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - - @echo; - cd cp_tests; \ - echo A file number one > afile1; \ - echo A file number two, blah. > afile2; \ - touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \ - ln -s afile1 symlink1; \ - mkdir there1; \ - ${BCP} -p -d afile1 afile2 symlink1 there1/; \ - ls -lR > ../cp_pd_files_dir.bb; - - @echo; - diff -u cp_pd_files_dir.gnu cp_pd_files_dir.bb; - - @echo; - rm -rf cp_tests/{afile{1,2},symlink1,there1}; - -# This test doesn't work any more; gnu cp now _does_ copy a directory -# to a subdirectory of itself. What's worse, that "feature" has no -# (documented) way to be disabled with command line switches. -# It's not obvious that busybox cp should mimic this behavior. -# For now, this test is removed from the cp_tests list, above. -check_cp_dir_to_dir_wo_a: - # Copy a directory to another directory, without the -a switch. - @echo; echo Copy a directory to another directory, without the -a switch. - @echo ------------------------------; - @echo There should be an error message about cannot cp a dir to a subdir of itself. - cd cp_tests; \ - touch a b c; \ - mkdir adir; \ - ls -lR . > ../cp_a_star_adir.gnu; \ - ${GCP} -a * adir; \ - ls -lR . >> ../cp_a_star_adir.gnu; - - @echo - @echo There should be an error message about cannot cp a dir to a subdir of itself. - cd cp_tests; \ - rm -rf adir; \ - mkdir adir; \ - ls -lR . > ../cp_a_star_adir.bb; \ - ${BCP} -a * adir; \ - ls -lR . >> ../cp_a_star_adir.bb; - - @echo; - diff -u cp_a_star_adir.gnu cp_a_star_adir.bb; - - # Done - @echo; - rm -rf cp_tests; - @echo; echo Done. - - -check_cp_dir_to_dir_w_a: - @echo; echo Copy a directory into another directory with the -a switch. - @echo ------------------------------; - cd cp_tests; \ - mkdir dir{a,b}; \ - echo A file > dira/afile; \ - echo A file in dirb > dirb/afileindirb; \ - ln -s dira/afile dira/alinktoafile; \ - mkdir dira/subdir1; \ - echo Another file > dira/subdir1/anotherfile; \ - ls -lR . > ../cp_a_dira_dirb.gnu; \ - ${GCP} -a dira dirb; \ - ls -lR . >> ../cp_a_dira_dirb.gnu; - - @echo; - rm -rf cp_tests/dir{a,b}; - - @echo; - cd cp_tests; \ - mkdir dir{a,b}; \ - echo A file > dira/afile; \ - echo A file in dirb > dirb/afileindirb; \ - ln -s dira/afile dira/alinktoafile; \ - mkdir dira/subdir1; \ - echo Another file > dira/subdir1/anotherfile; \ - ls -lR . > ../cp_a_dira_dirb.bb; \ - ${BCP} -a dira dirb; \ - ls -lR . >> ../cp_a_dira_dirb.bb; - - @echo; - diff -u cp_a_dira_dirb.gnu cp_a_dira_dirb.bb; - - @echo; - rm -rf cp_tests/dir{a,b}; - - -check_cp_dir_to_dir_w_a_take_two: - @echo; echo Copy a directory into another directory with the -a switch; - @echo ------------------------------; - mkdir -p cp_tests/gnu; \ - mkdir -p cp_tests/bb; \ - cd cp_tests; \ - mkdir here there; \ - echo A file > here/afile; \ - mkdir here/adir; \ - touch here/adir/afileinadir; \ - ln -s $$(pwd) here/alink; - - @echo; - cd cp_tests/gnu; \ - ls -lR . > ../../cp_a_dir_dir.gnu; \ - ${GCP} -a here/ there/; \ - ls -lR . >> ../../cp_a_dir_dir.gnu; - - @echo; - rm -rf cp_tests/there/*; - - sleep 1; - - @echo; - cd cp_tests/bb; \ - ls -lR . > ../../cp_a_dir_dir.bb; \ - ${BCP} -a here/ there/; \ - ls -lR . >> ../../cp_a_dir_dir.bb; - - @echo; - echo "Erik 1" - diff -u cp_a_dir_dir.gnu cp_a_dir_dir.bb; - echo "Erik 2" - - @echo; - echo "Erik 3" - rm -rf cp_tests/*; - - |