linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Add some simple end-to-end tests for btrfs-convert.
@ 2014-05-21 17:20 Adam Buchbinder
  2014-05-28 17:30 ` David Sterba
  2014-05-30 18:26 ` Julien Muchembled
  0 siblings, 2 replies; 4+ messages in thread
From: Adam Buchbinder @ 2014-05-21 17:20 UTC (permalink / raw)
  To: linux-btrfs; +Cc: dave, Adam Buchbinder

These use the system's mke2fs, and don't require loop devices
or root privileges.

They don't pick up anything with the default flags right now,
but they do pick up some sanitizer issues when the tools are
compiled with any of -fsanitize={address,memory,thread}.

Signed-off-by: Adam Buchbinder <abuchbinder@google.com>
---
 Makefile               |  2 +-
 tests/convert-tests.sh | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 tests/convert-tests.sh

diff --git a/Makefile b/Makefile
index da05197..8f002f3 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ libbtrfs_objects = send-stream.o send-utils.o rbtree.o btrfs-list.o crc32c.o \
 libbtrfs_headers = send-stream.h send-utils.h send.h rbtree.h btrfs-list.h \
 	       crc32c.h list.h kerncompat.h radix-tree.h extent-cache.h \
 	       extent_io.h ioctl.h ctree.h btrfsck.h
-TESTS = fsck-tests.sh
+TESTS = fsck-tests.sh convert-tests.sh
 
 INSTALL = install
 prefix ?= /usr/local
diff --git a/tests/convert-tests.sh b/tests/convert-tests.sh
new file mode 100644
index 0000000..87369c5
--- /dev/null
+++ b/tests/convert-tests.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# convert ext2/3/4 images to btrfs images, and make sure the results are
+# clean.
+#
+
+here=`pwd`
+
+_fail()
+{
+	echo "$*" | tee -a convert-tests-results.txt
+	exit 1
+}
+
+rm -f convert-tests-results.txt
+rm -f test.img
+
+test(){
+	echo "     [TEST]    $1"
+        shift
+        echo "creating ext image with: $*" >> convert-tests-results.txt
+	# 256MB is the smallest acceptable btrfs image.
+	dd if=/dev/zero of=$here/test.img bs=1024 count=$((256*1024)) \
+		>> convert-tests-results.txt 2>&1 || _fail "dd failed"
+	$* -F $here/test.img >> convert-tests-results.txt 2>&1 \
+		|| _fail "filesystem create failed"
+	$here/btrfs-convert $here/test.img >> convert-tests-results.txt 2>&1 \
+		|| _fail "btrfs-convert failed"
+	$here/btrfsck $here/test.img >> convert-tests-results.txt 2>&1 \
+		|| _fail "btrfsck detected errors"
+}
+
+test "ext2, 4k blocksize" mke2fs -b 4096
+test "ext3, 4k blocksize" mke2fs -j -b 4096
+test "ext4, 4k blocksize" mke2fs -t ext4 -b 4096
-- 
1.9.1.423.g4596e3a


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-06-12  9:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-21 17:20 [PATCH] Add some simple end-to-end tests for btrfs-convert Adam Buchbinder
2014-05-28 17:30 ` David Sterba
2014-05-30 18:26 ` Julien Muchembled
2014-06-12  9:21   ` David Sterba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).