Improved portability of tests
Removed assumptions about umask and locale. Fixed hostname
tests to work even when the host has no DNS domain set.
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/testsuite/cpio.tests b/testsuite/cpio.tests
index 7aee774..44c17e6 100755
--- a/testsuite/cpio.tests
+++ b/testsuite/cpio.tests
@@ -4,6 +4,8 @@
. ./testing.sh
+umask 022
+
# ls -ln shows date. Need to remove that, it's variable.
# sed: coalesce spaces
# cut: remove date
diff --git a/testsuite/date/date-works-1 b/testsuite/date/date-works-1
index e745d38..cb5cea2 100644
--- a/testsuite/date/date-works-1
+++ b/testsuite/date/date-works-1
@@ -1,4 +1,7 @@
unset LANG
+unset LANGUAGE
+unset LC_TIME
+unset LC_ALL
dt=`busybox date -d 1:2 +%T`
test x"$dt" = x"01:02:00"
diff --git a/testsuite/du/du-k-works b/testsuite/du/du-k-works
index a522649..229a948 100644
--- a/testsuite/du/du-k-works
+++ b/testsuite/du/du-k-works
@@ -1,4 +1,6 @@
+mkdir du.testdir
+cd du.testdir
dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
test x"`busybox du -k .`" = x"80 ." \
- -o x"`busybox du -k .`" = x"88 ." \
+ -o x"`busybox du -k .`" = x"88 ."
diff --git a/testsuite/du/du-l-works b/testsuite/du/du-l-works
index 6b150e0..426ee89 100644
--- a/testsuite/du/du-l-works
+++ b/testsuite/du/du-l-works
@@ -1,8 +1,11 @@
# FEATURE: CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
+mkdir du.testdir
+cd du.testdir
dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
ln file1 file1.1
dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
test x"`busybox du -l .`" = x"144 ." \
-o x"`busybox du -l .`" = x"148 ." \
-o x"`busybox du -l .`" = x"152 ." \
+ -o x"`busybox du -l .`" = x"156 ."
diff --git a/testsuite/hostname/hostname-d-works b/testsuite/hostname/hostname-d-works
index e062242..54c0aac 100644
--- a/testsuite/hostname/hostname-d-works
+++ b/testsuite/hostname/hostname-d-works
@@ -1,3 +1,3 @@
-f=$(busybox hostname -f)
+f=$(busybox hostname -f).
d=$(busybox hostname -d)
-test x"${f#*.}" = x"$d"
+test x"${f#*.}" = x"$d${d:+.}"
diff --git a/testsuite/makedevs.tests b/testsuite/makedevs.tests
index f69b4a6..f19af8a 100755
--- a/testsuite/makedevs.tests
+++ b/testsuite/makedevs.tests
@@ -4,6 +4,10 @@
. ./testing.sh
+unset LANG
+unset LC_COLLATE
+unset LC_ALL
+
# ls -ln is showing date. Need to remove that, it's variable
# sed: (1) "maj, min" -> "maj,min" (2) coalesce spaces
# cut: remove date
diff --git a/testsuite/tar.tests b/testsuite/tar.tests
index f400790..6604b4d 100755
--- a/testsuite/tar.tests
+++ b/testsuite/tar.tests
@@ -4,6 +4,12 @@
. ./testing.sh
+unset LANG
+unset LANGUAGE
+unset LC_COLLATE
+unset LC_ALL
+umask 022
+
rm -rf tar.tempdir 2>/dev/null
mkdir tar.tempdir && cd tar.tempdir || exit 1
diff --git a/testsuite/uuencode.tests b/testsuite/uuencode.tests
index 6556e60..adb2d33 100755
--- a/testsuite/uuencode.tests
+++ b/testsuite/uuencode.tests
@@ -13,11 +13,10 @@
# test can create a file "actual" instead of writing to stdout
# Test setup of standard input
-saved_umask=$(umask)
umask 0
testing "uuencode sets standard input mode correctly" \
"uuencode foo </dev/null | head -n 1 | grep -q 666 && echo yes" "yes\n" "" ""
-umask $saved_umask
+umask 022
testing "uuencode correct encoding" "uuencode bb_uuenc_test.out" \
"begin 644 bb_uuenc_test.out\nM5&AE(&9A<W0@9W)E>2!F;W@@:G5M<&5D(&]V97(@=&AE(&QA>GD@8G)O=VX@\n%9&]G+@H\`\n\`\nend\n" \