summaryrefslogtreecommitdiff
path: root/release/src/router/busybox/tests/mv_tests.mk
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/router/busybox/tests/mv_tests.mk')
-rw-r--r--release/src/router/busybox/tests/mv_tests.mk167
1 files changed, 167 insertions, 0 deletions
diff --git a/release/src/router/busybox/tests/mv_tests.mk b/release/src/router/busybox/tests/mv_tests.mk
new file mode 100644
index 00000000..f03e08a7
--- /dev/null
+++ b/release/src/router/busybox/tests/mv_tests.mk
@@ -0,0 +1,167 @@
+# 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/*;