Re: [PATCH] Add some simple end-to-end tests for btrfs-convert.

2014-06-12 Thread David Sterba
On Fri, May 30, 2014 at 08:26:02PM +0200, Julien Muchembled wrote:
 Le 05/21/14 19:20, Adam Buchbinder a écrit :
  +   # 256MB is the smallest acceptable btrfs image.
  +   dd if=/dev/zero of=$here/test.img bs=1024 count=$((256*1024)) \
  +convert-tests-results.txt 21 || _fail dd failed
 
 What about using a sparse file to speed up the test and be nicer with the 
 underlying storage ?
 For example:
   truncate -s 256M $here/test.img
 
 Because this does not reset test.img with zeros, one may want to the
   rm -f test.img
 line at the beginning of the test function.

Yes, good idea. Patches welcome. Thanks.
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Add some simple end-to-end tests for btrfs-convert.

2014-05-30 Thread Julien Muchembled
Le 05/21/14 19:20, Adam Buchbinder a écrit :
 + # 256MB is the smallest acceptable btrfs image.
 + dd if=/dev/zero of=$here/test.img bs=1024 count=$((256*1024)) \
 +  convert-tests-results.txt 21 || _fail dd failed

What about using a sparse file to speed up the test and be nicer with the 
underlying storage ?
For example:
  truncate -s 256M $here/test.img

Because this does not reset test.img with zeros, one may want to the
  rm -f test.img
line at the beginning of the test function.
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Add some simple end-to-end tests for btrfs-convert.

2014-05-28 Thread David Sterba
On Wed, May 21, 2014 at 10:20:27AM -0700, Adam Buchbinder wrote:
 These use the system's mke2fs, and don't require loop devices
 or root privileges.

Nice, thanks.
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] Add some simple end-to-end tests for btrfs-convert.

2014-05-21 Thread 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 abuchbin...@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 000..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 21 || _fail dd failed
+   $* -F $here/test.img  convert-tests-results.txt 21 \
+   || _fail filesystem create failed
+   $here/btrfs-convert $here/test.img  convert-tests-results.txt 21 \
+   || _fail btrfs-convert failed
+   $here/btrfsck $here/test.img  convert-tests-results.txt 21 \
+   || _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

--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html