aboutsummaryrefslogtreecommitdiff
path: root/util-linux/mkfs_ext2_test.sh
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-10-18 20:57:52 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-10-18 20:57:52 +0200
commite8405619fa28972eacff34d3dee030927c4afc24 (patch)
tree6bef4cfa8130c8c5f2fa8e844944bf416bb6c28b /util-linux/mkfs_ext2_test.sh
parentf9d3a91a89251cc4470a3cb94e918a49191438d2 (diff)
downloadbusybox-e8405619fa28972eacff34d3dee030927c4afc24.tar.gz
mkfs_ext2: more work. added test script
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'util-linux/mkfs_ext2_test.sh')
-rwxr-xr-xutil-linux/mkfs_ext2_test.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/util-linux/mkfs_ext2_test.sh b/util-linux/mkfs_ext2_test.sh
new file mode 100755
index 000000000..fe6291fc5
--- /dev/null
+++ b/util-linux/mkfs_ext2_test.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+test_mke2fs() {
+ echo Testing $kilobytes
+
+ >image_std
+ dd seek=$((kilobytes-1)) bs=1K count=1 </dev/zero of=image_std >/dev/null 2>&1 || exit 1
+ /usr/bin/mke2fs -F image_std $kilobytes >image_std.raw_out 2>&1 || return 1
+ cat image_std.raw_out \
+ | grep -v '^mke2fs ' \
+ | grep -v '^Maximum filesystem' \
+ | grep -v '^warning: .* blocks unused' \
+ | grep -v '^Writing inode tables' \
+ | grep -v '^Writing superblocks and filesystem accounting information' \
+ | grep -v '^This filesystem will be automatically checked every' \
+ | grep -v '^180 days, whichever comes first' \
+ | sed 's/block groups/block group/' \
+ | sed 's/ *$//' \
+ | sed 's/blocks (.*%) reserved/blocks reserved/' \
+ | grep -v '^$' \
+ >image_std.out
+
+ >image_bb
+ dd seek=$((kilobytes-1)) bs=1K count=1 </dev/zero of=image_bb >/dev/null 2>&1 || exit 1
+ ./busybox mke2fs -F image_bb $kilobytes >image_bb.raw_out 2>&1 || return 1
+ cat image_bb.raw_out \
+ | grep -v '^mke2fs ' \
+ | grep -v '^Maximum filesystem' \
+ | grep -v '^warning: .* blocks unused' \
+ | grep -v '^Writing inode tables' \
+ | grep -v '^Writing superblocks and filesystem accounting information' \
+ | grep -v '^This filesystem will be automatically checked every' \
+ | grep -v '^180 days, whichever comes first' \
+ | sed 's/block groups/block group/' \
+ | sed 's/ *$//' \
+ | sed 's/blocks (.*%) reserved/blocks reserved/' \
+ | grep -v '^$' \
+ >image_bb.out
+
+ diff -ua image_bb.out image_std.out >image.out.diff || {
+ cat image.out.diff
+ return 1
+ }
+}
+
+kilobytes=24908 test_mke2fs
+kilobytes=81940 test_mke2fs
+kilobytes=98392 test_mke2fs
+exit
+
+while true; do
+ kilobytes=$(( (RANDOM*RANDOM) % 100000 + 100))
+ test_mke2fs || exit 1
+done