mirror of
https://git.busybox.net/busybox.git
synced 2024-12-01 09:33:42 +08:00
59ec601b8e
ambiguous cases. Everything now passes the test suite...
168 lines
3.8 KiB
Makefile
168 lines
3.8 KiB
Makefile
# mv_tests.mk - Set of tests cases for busybox mv
|
|
# -------------
|
|
# Copyright (C) 2000 Karl M. Hegbloom <karlheg@debian.org> GPL
|
|
#
|
|
|
|
# GNU `mv'
|
|
GMV = /bin/mv
|
|
# BusyBox `mv'
|
|
BMV = $(shell pwd)/mv
|
|
|
|
all:: mv_tests
|
|
clean:: mv_clean
|
|
|
|
mv_clean:
|
|
rm -rf mv_tests mv_*.{gnu,bb} mv
|
|
|
|
mv_tests: mv_clean mv
|
|
@echo;
|
|
@echo "No output from diff means busybox mv is functioning properly.";
|
|
@echo;
|
|
@echo "No such file or directory is good; it means the old file got removed.";
|
|
@echo;
|
|
${BMV} || true;
|
|
|
|
@echo;
|
|
mkdir mv_tests;
|
|
|
|
@echo;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ls -l afile > ../mv_afile_newname.gnu; \
|
|
${GMV} afile newname; \
|
|
ls -l newname >> ../mv_afile_newname.gnu;
|
|
-ls -l mv_tests/afile;
|
|
|
|
@echo;
|
|
rm -f mv_tests/{afile,newname};
|
|
|
|
@echo;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ls -l afile > ../mv_afile_newname.bb; \
|
|
${BMV} afile newname; \
|
|
ls -l newname >> ../mv_afile_newname.bb;
|
|
-ls -l mv_tests/afile;
|
|
|
|
@echo;
|
|
diff -u mv_afile_newname.gnu mv_afile_newname.bb;
|
|
|
|
@echo;
|
|
rm -f mv_tests/{afile,newname};
|
|
|
|
@echo; echo ------------------------------;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ln -s afile symlink; \
|
|
ls -l afile symlink > ../mv_symlink_newname.gnu; \
|
|
${GMV} symlink newname; \
|
|
ls -l afile newname >> ../mv_symlink_newname.gnu;
|
|
-ls -l mv_tests/symlink;
|
|
|
|
@echo;
|
|
rm -f mv_tests/{afile,newname};
|
|
|
|
@echo;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ln -s afile symlink; \
|
|
ls -l afile symlink > ../mv_symlink_newname.bb;\
|
|
${BMV} symlink newname; \
|
|
ls -l afile newname >> ../mv_symlink_newname.bb;
|
|
-ls -l mv_tests/symlink;
|
|
|
|
@echo;
|
|
diff -u mv_symlink_newname.gnu mv_symlink_newname.bb;
|
|
|
|
@echo;
|
|
rm -rf mv_tests/*;
|
|
|
|
@echo; echo ------------------------------;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ln -s afile symlink; \
|
|
mkdir newdir; \
|
|
ls -lR > ../mv_file_symlink_dir.gnu; \
|
|
${GMV} symlink afile newdir; \
|
|
ls -lR >> ../mv_file_symlink_dir.gnu;
|
|
-ls -l mv_tests/{symlink,afile};
|
|
|
|
@echo;
|
|
rm -rf mv_tests/*
|
|
|
|
@echo; echo ------------------------------;
|
|
cd mv_tests; \
|
|
echo A file > afile; \
|
|
ln -s afile symlink; \
|
|
mkdir newdir; \
|
|
ls -lR > ../mv_file_symlink_dir.bb; \
|
|
${BMV} symlink afile newdir; \
|
|
ls -lR >> ../mv_file_symlink_dir.bb;
|
|
-ls -l mv_tests/{symlink,afile};
|
|
|
|
@echo;
|
|
diff -u mv_file_symlink_dir.gnu mv_file_symlink_dir.bb;
|
|
|
|
@echo;
|
|
rm -rf mv_tests/*;
|
|
|
|
@echo; echo ------------------------------;
|
|
cd mv_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 . > ../mv_dira_dirb.gnu; \
|
|
${GMV} dira dirb; \
|
|
ls -lR . >> ../mv_dira_dirb.gnu;
|
|
|
|
# false;
|
|
@echo;
|
|
rm -rf mv_tests/dir{a,b};
|
|
|
|
@echo;
|
|
cd mv_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 . > ../mv_dira_dirb.bb; \
|
|
${BMV} dira dirb; \
|
|
ls -lR . >> ../mv_dira_dirb.bb;
|
|
|
|
@echo;
|
|
diff -u mv_dira_dirb.gnu mv_dira_dirb.bb;
|
|
|
|
# false;
|
|
@echo;
|
|
rm -rf mv_tests/dir{a,b};
|
|
|
|
@echo; echo ------------------------------;
|
|
@echo There should be an error message about cannot mv a dir to a subdir of itself.
|
|
cd mv_tests; \
|
|
mkdir adir; \
|
|
touch -r . a b c adir; \
|
|
ls -lR . > ../mv_a_star_adir.gnu; \
|
|
${GMV} * adir; \
|
|
ls -lR . >> ../mv_a_star_adir.gnu;
|
|
|
|
@echo
|
|
@echo There should be an error message about cannot mv a dir to a subdir of itself.
|
|
cd mv_tests; \
|
|
rm -rf a b c adir; \
|
|
mkdir adir; \
|
|
touch -r . a b c adir; \
|
|
ls -lR . > ../mv_a_star_adir.bb; \
|
|
${BMV} * adir; \
|
|
ls -lR . >> ../mv_a_star_adir.bb;
|
|
|
|
@echo;
|
|
diff -u mv_a_star_adir.gnu mv_a_star_adir.bb;
|
|
|
|
@echo;
|
|
rm -rf mv_test/*;
|