summaryrefslogtreecommitdiff
path: root/tests/ln_tests.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ln_tests.mk')
-rw-r--r--tests/ln_tests.mk66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/ln_tests.mk b/tests/ln_tests.mk
new file mode 100644
index 0000000..5925edd
--- /dev/null
+++ b/tests/ln_tests.mk
@@ -0,0 +1,66 @@
+
+# GNU `ln'
+GLN = /bin/ln
+# BusyBox `ln'
+BLN = $(shell pwd)/ln
+
+.PHONY: ln_clean
+ln_clean:
+ rm -rf ln_tests ln_*.{gnu,bb} ln
+
+.PHONY: ln_tests
+ln_tests: ln_clean ln
+ @echo;
+ @echo "No output from diff means busybox ln is functioning properly.";
+
+ @echo;
+ ${BLN} || true;
+
+ @echo;
+ mkdir ln_tests;
+
+ @echo;
+ cd ln_tests; \
+ echo A file > afile; \
+ ls -l afile > ../ln_afile_newname.gnu; \
+ ${GLN} afile newname; \
+ ls -l afile newname >> ../ln_afile_newname.gnu;
+
+ @echo;
+ rm -f ln_tests/{afile,newname};
+
+ @echo;
+ cd ln_tests; \
+ echo A file > afile; \
+ ls -l afile > ../ln_afile_newname.bb; \
+ ${BLN} afile newname; \
+ ls -l afile newname >> ../ln_afile_newname.bb;
+
+ @echo;
+ diff -u ln_afile_newname.gnu ln_afile_newname.bb
+
+ @echo;
+ rm -f ln_tests/{afile,newname};
+
+ @echo;
+ cd ln_tests; \
+ echo A file > afile; \
+ ls -l afile > ../ln_s_afile_newname.gnu; \
+ ${GLN} -s afile newname; \
+ ls -l afile newname >> ../ln_s_afile_newname.gnu;
+
+ @echo;
+ rm -f ln_tests/{afile,newname};
+
+ @echo;
+ cd ln_tests; \
+ echo A file > afile; \
+ ls -l afile > ../ln_s_afile_newname.bb; \
+ ${BLN} -s afile newname; \
+ ls -l afile newname >> ../ln_s_afile_newname.bb;
+
+ @echo;
+ diff -u ln_s_afile_newname.gnu ln_s_afile_newname.bb
+
+ @echo;
+ rm -f ln_tests/{afile,newname};