diff mbox

[U-Boot] test/fs: error case fixes/enhancements

Message ID 1450130475-16482-1-git-send-email-swarren@wwwdotorg.org
State Accepted
Commit 08eee2718aefea16d7a7e32e318ff03a1539e5c2
Delegated to: Tom Rini
Headers show

Commit Message

Stephen Warren Dec. 14, 2015, 10:01 p.m. UTC
From: Stephen Warren <swarren@nvidia.com>

- Use "mkdir -p" to avoid errors when intermediate directories are
  missing.
- Fall back to "dd" when "fallocate" fails. For example, fallocate isn't
  supported on ext4.
- Add error checking for test image generation. Without this, the test
  simply plows on spewing all kinds of errors which are hard to
  immediately root-cause.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 test/fs/fs-test.sh | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Stephen Warren Jan. 13, 2016, 6:30 p.m. UTC | #1
On 12/14/2015 03:01 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> - Use "mkdir -p" to avoid errors when intermediate directories are
>    missing.
> - Fall back to "dd" when "fallocate" fails. For example, fallocate isn't
>    supported on ext4.
> - Add error checking for test image generation. Without this, the test
>    simply plows on spewing all kinds of errors which are hard to
>    immediately root-cause.

Tom,

Any thoughts on this patch?
Tom Rini Jan. 14, 2016, 1:21 p.m. UTC | #2
On Mon, Dec 14, 2015 at 03:01:15PM -0700, Stephen Warren wrote:

> From: Stephen Warren <swarren@nvidia.com>
> 
> - Use "mkdir -p" to avoid errors when intermediate directories are
>   missing.
> - Fall back to "dd" when "fallocate" fails. For example, fallocate isn't
>   supported on ext4.
> - Add error checking for test image generation. Without this, the test
>   simply plows on spewing all kinds of errors which are hard to
>   immediately root-cause.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/test/fs/fs-test.sh b/test/fs/fs-test.sh
index fc41c04c15e6..043e5d0c0e49 100755
--- a/test/fs/fs-test.sh
+++ b/test/fs/fs-test.sh
@@ -100,7 +100,7 @@  function compile_sandbox() {
 # We save time by not deleting and recreating the file system images
 function prepare_env() {
 	rm -f ${MD5_FILE}.* ${OUT}.*
-	mkdir ${OUT_DIR}
+	mkdir -p ${OUT_DIR}
 }
 
 # 1st parameter is the name of the image file to be created
@@ -115,11 +115,23 @@  function create_image() {
 	fi
 	if [ ! -f "$1" ]; then
 		fallocate -l 3G "$1" &> /dev/null
+		if [ $? -ne 0 ]; then
+			echo fallocate failed - using dd instead
+			dd if=/dev/zero of=$1 bs=1024 count=$((3 * 1024 * 1024))
+			if [ $? -ne 0 ]; then
+				echo Could not create empty disk image
+				exit $?
+			fi
+		fi
 		mkfs -t "$2" $MKFS_OPTION "$1" &> /dev/null
 		if [ $? -ne 0 -a "$2" = "fat" ]; then
 			# If we fail and we did fat, try vfat.
 			mkfs -t vfat $MKFS_OPTION "$1" &> /dev/null
 		fi
+		if [ $? -ne 0 ]; then
+			echo Could not create filesystem
+			exit $?
+		fi
 	fi
 }