All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] qemuimagetest support for more FSTYPES
@ 2013-05-10 16:06 Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 1/3] scripts/runqemu: add ext4 to the list of extracted extensions Stefan Stanacar
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stefan Stanacar @ 2013-05-10 16:06 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 88a7b041fbf2583472aa9408a33dd8881223a0c1:

  bitbake: pysh: Say what kind of token isn't implemented (2013-05-10 13:35:10 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib stefans/qemutests2
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=stefans/qemutests2

Stefan Stanacar (3):
  scripts/runqemu: add ext4 to the list of extracted extensions
  runqemu-internal: support for ext2 and ext4 not only ext3
  imagetest-qemu.bbclass,qemuimage-testlib: add support for more FSTYPES

 meta/classes/imagetest-qemu.bbclass | 26 +++++++++++++++-----------
 scripts/qemuimage-testlib           | 19 +++++++++----------
 scripts/runqemu                     |  3 ++-
 scripts/runqemu-internal            | 14 +++++++-------
 4 files changed, 33 insertions(+), 29 deletions(-)

-- 
1.8.1.4




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

* [PATCH 1/3] scripts/runqemu: add ext4 to the list of extracted extensions
  2013-05-10 16:06 [PATCH 0/3] qemuimagetest support for more FSTYPES Stefan Stanacar
@ 2013-05-10 16:06 ` Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 2/3] runqemu-internal: support for ext2 and ext4 not only ext3 Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 3/3] imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPES Stefan Stanacar
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Stanacar @ 2013-05-10 16:06 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 scripts/runqemu | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 8ed1226..9bd35de 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -384,7 +384,8 @@ if [ -e "$ROOTFS" -a -z "$FSTYPE" ]; then
     # Extract the filename extension
     EXT=`echo $ROOTFS | awk -F . '{ print \$NF }'`
     if [ "x$EXT" = "xext2" -o "x$EXT" = "xext3" -o \
-          "x$EXT" = "xjffs2" -o "x$EXT" = "xbtrfs" ]; then
+          "x$EXT" = "xjffs2" -o "x$EXT" = "xbtrfs" -o \
+          "x$EXT" = "xext4" ]; then
         FSTYPE=$EXT
     else
         echo "Note: Unable to determine filesystem extension for $ROOTFS"
-- 
1.8.1.4




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

* [PATCH 2/3] runqemu-internal: support for ext2 and ext4 not only ext3
  2013-05-10 16:06 [PATCH 0/3] qemuimagetest support for more FSTYPES Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 1/3] scripts/runqemu: add ext4 to the list of extracted extensions Stefan Stanacar
@ 2013-05-10 16:06 ` Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 3/3] imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPES Stefan Stanacar
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Stanacar @ 2013-05-10 16:06 UTC (permalink / raw)
  To: openembedded-core

Don't check only for ext3 fstype, we can boot ext2 and ext4 just
as well.

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 scripts/runqemu-internal | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index f11706d..3bd0a09 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -299,7 +299,7 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarm
     export QEMU_AUDIO_DRV="none"
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
     # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         KERNCMDLINE="root=/dev/sda rw console=ttyAMA0,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
         QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
     fi
@@ -323,7 +323,7 @@ fi
 if [ "$MACHINE" = "qemux86" ]; then
     QEMU=qemu-system-i386
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
-    if [ "$FSTYPE" = "ext2" -o "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         KERNCMDLINE="vga=0 uvesafb.mode_option=640x480-32 root=$DROOT rw mem=$QEMU_MEMORY $KERNEL_NETWORK_CMD"
         QEMUOPTIONS="$QEMU_NETWORK_CMD $ROOTFS_OPTIONS $QEMU_UI_OPTIONS"
     fi
@@ -347,7 +347,7 @@ fi
 if [ "$MACHINE" = "qemux86-64" ]; then
     QEMU=qemu-system-x86_64
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         KERNCMDLINE="vga=0 uvesafb.mode_option=640x480-32 root=$DROOT rw mem=$QEMU_MEMORY $KERNEL_NETWORK_CMD"
         QEMUOPTIONS="$QEMU_NETWORK_CMD $ROOTFS_OPTIONS $QEMU_UI_OPTIONS"
     fi
@@ -373,7 +373,7 @@ fi
 
 if [ "$MACHINE" = "spitz" ]; then
     QEMU=qemu-system-arm
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         echo $ROOTFS
         ROOTFS=`readlink -f $ROOTFS`
         echo $ROOTFS
@@ -393,7 +393,7 @@ if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumipsel" -o "$MACHINE" = "qemum
     esac
     MACHINE_SUBTYPE=malta
     QEMU_UI_OPTIONS="-vga cirrus $QEMU_UI_OPTIONS"
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         #KERNCMDLINE="root=/dev/hda console=ttyS0 console=tty0 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
         KERNCMDLINE="root=/dev/hda rw console=ttyS0 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
         QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
@@ -415,7 +415,7 @@ if [ "$MACHINE" = "qemuppc" ]; then
     CPU_SUBTYPE=G4
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
     QEMU_NETWORK_CMD="-net nic,model=pcnet $QEMU_TAP_CMD"
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         KERNCMDLINE="root=/dev/hda rw console=ttyS0 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
         QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS"
     fi
@@ -434,7 +434,7 @@ if [ "$MACHINE" = "qemush4" ]; then
     QEMU=qemu-system-sh4
     MACHINE_SUBTYPE=r2d
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
-    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+    if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
         #KERNCMDLINE="root=/dev/hda console=ttyS0 console=tty0 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
         KERNCMDLINE="root=/dev/hda rw console=ttySC1 noiotrap earlyprintk=sh-sci.1 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
         QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio"
-- 
1.8.1.4




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

* [PATCH 3/3] imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPES
  2013-05-10 16:06 [PATCH 0/3] qemuimagetest support for more FSTYPES Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 1/3] scripts/runqemu: add ext4 to the list of extracted extensions Stefan Stanacar
  2013-05-10 16:06 ` [PATCH 2/3] runqemu-internal: support for ext2 and ext4 not only ext3 Stefan Stanacar
@ 2013-05-10 16:06 ` Stefan Stanacar
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Stanacar @ 2013-05-10 16:06 UTC (permalink / raw)
  To: openembedded-core

qemuimage-testlib hardcodes ext3 as fs type. This adds support for more
images types which are supported by runqemu: ext[234]/jffs2/btrfs.

I've skipped (for now) vmdk (which qemu can boot) because:
 - we don't have network on images without connman because of the way
runqemu starts vmdk images (can't pass kernel args for network config)
 - qemuimage-testlib-pythonhelper relies on '192.168' being in the output of
ps to return the pid

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 meta/classes/imagetest-qemu.bbclass | 26 +++++++++++++++-----------
 scripts/qemuimage-testlib           | 19 +++++++++----------
 2 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/meta/classes/imagetest-qemu.bbclass b/meta/classes/imagetest-qemu.bbclass
index 94bed3b..7083a99 100644
--- a/meta/classes/imagetest-qemu.bbclass
+++ b/meta/classes/imagetest-qemu.bbclass
@@ -37,6 +37,8 @@ def qemuimagetest_main(d):
     resultstr = re.compile(r'\s*(?P<case>\w+)\s*(?P<pass>\d+)\s*(?P<fail>\d+)\s*(?P<noresult>\d+)')
     machine = d.getVar('MACHINE', True)
     pname = d.getVar('PN', True)
+    allfstypes = d.getVar("IMAGE_FSTYPES", True).split()
+    testfstypes = [ "ext2", "ext3", "ext4", "jffs2", "btrfs" ]
     
     """function to save test cases running status"""
     def teststatus(test, status, index, length):
@@ -50,7 +52,7 @@ def qemuimagetest_main(d):
         f.close()
 
     """funtion to run each case under scenario"""
-    def runtest(scen, case, fulltestpath):
+    def runtest(scen, case, fulltestpath, fstype):
         resultpath = d.getVar('TEST_RESULT', True)
         tmppath = d.getVar('TEST_TMP', True)
 
@@ -75,6 +77,7 @@ def qemuimagetest_main(d):
         os.environ["TEST_SERIALIZE"] = d.getVar("TEST_SERIALIZE", True)
         os.environ["SDK_NAME"] = d.getVar("SDK_NAME", True)
         os.environ["RUNQEMU_LOGFILE"] = d.expand("${T}/log.runqemutest.%s" % os.getpid())
+        os.environ["ROOTFS_EXT"] = fstype
 
         # Add in all variables from the user's original environment which
         # haven't subsequntly been set/changed
@@ -193,21 +196,22 @@ def qemuimagetest_main(d):
         os.remove(sresultfile)
     subprocess.call("touch %s" % resultfile, shell=True)
     os.symlink(resultfile, sresultfile)
-    f = open(sresultfile, "a")
-    f.write("\tTest Result for %s %s\n" % (machine, pname))
-    f.write("\t%-15s%-15s%-15s%-15s\n" % ("Testcase", "PASS", "FAIL", "NORESULT"))
-    f.close()
     
     """generate pre-defined testcase list"""
     testlist = d.getVar('TEST_SCEN', True)
     fulllist = generate_list(testlist)
 
     """Begin testing"""
-    for index,test in enumerate(fulllist):
-        (scen, case, fullpath) = test
-        teststatus(case, "running", index, (len(fulllist) - 1))
-        runtest(scen, case, fullpath)
-        teststatus(case, "finished", index, (len(fulllist) - 1))
+    for fstype in allfstypes:
+        if fstype in testfstypes:
+            with open(sresultfile, "a") as f:
+                f.write("\tTest Result for %s %s %s\n" % (machine, pname, fstype))
+                f.write("\t%-15s%-15s%-15s%-15s\n" % ("Testcase", "PASS", "FAIL", "NORESULT"))
+            for index,test in enumerate(fulllist):
+                (scen, case, fullpath) = test
+                teststatus(case, "running", index, (len(fulllist) - 1))
+                runtest(scen, case, fullpath, fstype)
+                teststatus(case, "finished", index, (len(fulllist) - 1))
     
     """Print Test Result"""
     ret = 0
@@ -230,5 +234,5 @@ def qemuimagetest_main(d):
     clean_tmp()
 
     if ret != 0:
-        raise bb.build.FuncFailed("Some testcases fail, pls. check test result and test log!!!")
+        raise bb.build.FuncFailed("Some tests failed. Please check the results file: %s and the log files found in: %s." % (resultfile, d.getVar('TEST_LOG', True)))
 
diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib
index 051fee8..622c1ce 100755
--- a/scripts/qemuimage-testlib
+++ b/scripts/qemuimage-testlib
@@ -14,8 +14,6 @@
 # Version 2.
 #
 
-TYPE="ext3"
-
 # The folder to hold all scripts running on targets
 TOOLS="$COREBASE/scripts/qemuimage-tests/tools"
 
@@ -306,18 +304,18 @@ Test_Find_Image()
 	extension=""
 	rootfs=""
 
-	while getopts "l:k:a:t:" Option
+	while getopts "l:k:a:t:e:" Option
 	do
 		case $Option in
 			l) where="$OPTARG"
 			   ;;
 			k) kernel="$OPTARG"
-			   extension="bin"
 			   ;;
 			a) arch="$OPTARG"
 			   ;;
 			t) target="$OPTARG"
-			   extension="ext3"
+			   ;;
+			e) extension="$OPTARG"
 			   ;;
 			*) echo "invalid option: -$Option" && return 1
 			   ;;
@@ -396,11 +394,11 @@ Test_Create_Qemu()
 	fi
 	
 	if [ "$QEMUARCH" = "qemux86" -o "$QEMUARCH" = "qemux86-64" ]; then
-		KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k bzImage -a ${QEMUARCH})
+		KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k bzImage -a ${QEMUARCH} -e "bin")
 	elif [ "$QEMUARCH" = "qemuarm" -o "$QEMUARCH" = "spitz" -o "$QEMUARCH" = "borzoi" -o "$QEMUARCH" = "akita" -o "$QEMUARCH" = "nokia800" ]; then
 		KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k zImage -a ${QEMUARCH})
 	elif [ "$QEMUARCH" = "qemumips" -o "$QEMUARCH" = "qemuppc" ]; then
-		KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k vmlinux -a ${QEMUARCH})
+		KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k vmlinux -a ${QEMUARCH} -e "bin")
 	fi
 
 	# If there is no kernel image found, return failed directly
@@ -409,7 +407,8 @@ Test_Create_Qemu()
 		return 1
 	fi
 	
-	ROOTFS_IMAGE=$(Test_Find_Image -l ${DEPLOY_DIR}/images -t ${QEMUTARGET} -a ${QEMUARCH})
+	Test_Info "rootfs image extension selected: $ROOTFS_EXT"
+	ROOTFS_IMAGE=$(Test_Find_Image -l ${DEPLOY_DIR}/images -t ${QEMUTARGET} -a ${QEMUARCH} -e "$ROOTFS_EXT")
 
 	# If there is no rootfs image found, return failed directly
 	if [ $? -eq 1 ]; then
@@ -417,7 +416,7 @@ Test_Create_Qemu()
 		return 1
 	fi
 
-	TEST_ROOTFS_IMAGE="${TEST_TMP}/${QEMUTARGET}-${QEMUARCH}-test.ext3"
+	TEST_ROOTFS_IMAGE="${TEST_TMP}/${QEMUTARGET}-${QEMUARCH}-test.${ROOTFS_EXT}"
 	
 	CP=`which cp`
 
@@ -751,4 +750,4 @@ Test_Display_Syslog()
         echo "System logs:"
         cat $tmplog
         rm -f $tmplog
-}
\ No newline at end of file
+}
-- 
1.8.1.4




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

end of thread, other threads:[~2013-05-10 16:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-10 16:06 [PATCH 0/3] qemuimagetest support for more FSTYPES Stefan Stanacar
2013-05-10 16:06 ` [PATCH 1/3] scripts/runqemu: add ext4 to the list of extracted extensions Stefan Stanacar
2013-05-10 16:06 ` [PATCH 2/3] runqemu-internal: support for ext2 and ext4 not only ext3 Stefan Stanacar
2013-05-10 16:06 ` [PATCH 3/3] imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPES Stefan Stanacar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.