From: Guilherme Maciel Ferreira <guilherme.maciel.ferre...@gmail.com>

Signed-off-by: Guilherme Maciel Ferreira <guilherme.maciel.ferre...@gmail.com>
---
 test/image/test-imagetools.sh |  107 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)
 create mode 100755 test/image/test-imagetools.sh

diff --git a/test/image/test-imagetools.sh b/test/image/test-imagetools.sh
new file mode 100755
index 0000000..b243794
--- /dev/null
+++ b/test/image/test-imagetools.sh
@@ -0,0 +1,107 @@
+#!/bin/bash
+#
+# Written by Guilherme Maciel Ferreira <guilherme.maciel.ferre...@gmail.com>
+#
+# Sanity check for mkimage and dumpimage tools
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+# To run this:
+#
+# make O=sandbox sandbox_config
+# make O=sandbox
+# ./test/image/test-imagetools.sh
+
+
+BASEDIR=sandbox
+
+LINUX_VERSION=`uname -r`
+IMAGE=linux-${LINUX_VERSION}.img
+DATAFILE0=vmlinuz-${LINUX_VERSION}
+DATAFILE1=initrd.img-${LINUX_VERSION}
+DATAFILE2=System.map-${LINUX_VERSION}
+
+MKIMAGE=${BASEDIR}/tools/mkimage
+DUMPIMAGE=${BASEDIR}/tools/dumpimage
+MKIMAGE_LIST=mkimage.list
+DUMPIMAGE_LIST=dumpimage.list
+
+cleanup()
+{
+       rm -f ${DATAFILE0}
+       rm -f ${DATAFILE1}
+       rm -f ${DATAFILE2}
+       rm -f ${IMAGE}
+       rm -f ${DUMPIMAGE_LIST}
+       rm -f ${MKIMAGE_LIST}
+}
+
+assert_equal()
+{
+       FILE_1=$1
+       FILE_2=$2
+       diff ${FILE_1} ${FILE_2}
+       ret=$?
+       if [ $ret -ne 0 ]; then
+               echo "Failed."
+               cleanup
+               exit $ret
+       fi
+}
+
+compress_image()
+{
+       BOOTDIR=$1
+       
DATAFILES=${BOOTDIR}/${DATAFILE0}:${BOOTDIR}/${DATAFILE1}:${BOOTDIR}/${DATAFILE2}
+
+       echo -e "\nBuilding image..."
+       echo "# ${MKIMAGE} -A x86 -O linux -T multi -n \"${LINUX_VERSION}\" -d 
${DATAFILES} ${IMAGE}"
+       ./${MKIMAGE} -A x86 -O linux -T multi -n "${LINUX_VERSION}" -d 
${DATAFILES} ${IMAGE}
+       echo -e "done.\n"
+}
+
+extract_image()
+{
+       echo -e "\nExtracting image contents..."
+       echo "# ${DUMPIMAGE} -i ${IMAGE} -p 0 ${DATAFILE0}"
+       ./${DUMPIMAGE} -i ${IMAGE} -p 0 ${DATAFILE0}
+       echo "# ${DUMPIMAGE} -i ${IMAGE} -p 1 ${DATAFILE1}"
+       ./${DUMPIMAGE} -i ${IMAGE} -p 1 ${DATAFILE1}
+       echo "# ${DUMPIMAGE} -i ${IMAGE} -p 2 ${DATAFILE2}"
+       ./${DUMPIMAGE} -i ${IMAGE} -p 2 ${DATAFILE2}
+       echo -e "done.\n"
+}
+
+list_image()
+{
+       echo -e "\nListing image contents..."
+       echo "# ${MKIMAGE} -l ${IMAGE}"
+       ./${MKIMAGE} -l ${IMAGE} > ${MKIMAGE_LIST} 2>&1
+       echo "# ${DUMPIMAGE} -l ${IMAGE}"
+       ./${DUMPIMAGE} -l ${IMAGE} > ${DUMPIMAGE_LIST} 2>&1
+       echo -e "done.\n"
+}
+
+main()
+{
+       # Assume kernel images lie in /boot dir
+       BOOTDIR=/boot
+
+       # Compress and extract multifile images, compare the result
+       compress_image ${BOOTDIR}
+       extract_image
+       assert_equal ${DATAFILE0} ${BOOTDIR}/${DATAFILE0}
+       assert_equal ${DATAFILE1} ${BOOTDIR}/${DATAFILE1}
+       assert_equal ${DATAFILE2} ${BOOTDIR}/${DATAFILE2}
+
+       # List contents and compares output fro tools
+       list_image
+       assert_equal ${DUMPIMAGE_LIST} ${MKIMAGE_LIST}
+
+       # Remove files created
+       cleanup
+
+       echo "Success."
+}
+
+main
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to