Hi Ross,

On 12/06/2017 11:11 AM, Robert Yang wrote:


On 12/06/2017 09:37 AM, Robert Yang wrote:

On 12/06/2017 12:10 AM, Burton, Ross wrote:
On 1 December 2017 at 05:13, Robert Yang <liezhi.y...@windriver.com <mailto:liezhi.y...@windriver.com>> wrote:

    So that both QEMU_USE_KVM = "True" and "1" will work.

    [YOCTO #12343]

    Signed-off-by: Robert Yang <liezhi.y...@windriver.com
    <mailto:liezhi.y...@windriver.com>>
    ---
      meta/classes/testimage.bbclass | 2 +-
      meta/lib/oeqa/targetcontrol.py | 2 +-
      2 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
    index 45bb2bd..7260ad4 100644
    --- a/meta/classes/testimage.bbclass
    +++ b/meta/classes/testimage.bbclass
    @@ -215,7 +215,7 @@ def testimage_main(d):
          # Get use_kvm
          qemu_use_kvm = d.getVar("QEMU_USE_KVM")
          if qemu_use_kvm and \
    -       (qemu_use_kvm == 'True' and 'x86' in machine or \
    +       (oe.types.boolean(qemu_use_kvm) and 'x86' in machine or \
              d.getVar('MACHINE') in qemu_use_kvm.split()):
              kvm = True
          else:
    diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
    index f63936c..3fc3870 100644
    --- a/meta/lib/oeqa/targetcontrol.py
    +++ b/meta/lib/oeqa/targetcontrol.py
    @@ -107,7 +107,7 @@ class QemuTarget(BaseTarget):
              dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
              qemu_use_kvm = d.getVar("QEMU_USE_KVM")
              if qemu_use_kvm and \
    -           (qemu_use_kvm == "True" and "x86" in d.getVar("MACHINE") or \
    +           (oe.types.boolean(qemu_use_kvm) and "x86" in d.getVar("MACHINE")
    or \
                  d.getVar("MACHINE") in qemu_use_kvm.split()):
                  use_kvm = True
              else:


https://autobuilder.yocto.io/builders/nightly-oe-selftest/builds/665/steps/Running%20oe-selftest/logs/stdio

   File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/targetcontrol.py", line 110, in __init__
     (oe.types.boolean(qemu_use_kvm) and "x86" in d.getVar("MACHINE") or \
UnboundLocalError: local variable 'oe' referenced before assignment

Sorry, I had tried testimage and oe-selftest before and just now locally,
didn't see this error, need more investigations.

I can reproduce it now:

Add QEMU_USE_KVM = "1" to con/local.conf
$ oe-selftest  -r devtool.DevtoolTests.test_devtool_deploy_target

I fixed it in the repo:


  git://git.openembedded.org/openembedded-core-contrib rbt/use_qemu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/use_qemu

Robert Yang (1):
  targetcontrol.py: use oe.types.boolean for QEMU_USE_KVM


diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 45bb2bd..7260ad4 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -215,7 +215,7 @@ def testimage_main(d):
     # Get use_kvm
     qemu_use_kvm = d.getVar("QEMU_USE_KVM")
     if qemu_use_kvm and \
-       (qemu_use_kvm == 'True' and 'x86' in machine or \
+       (oe.types.boolean(qemu_use_kvm) and 'x86' in machine or \
         d.getVar('MACHINE') in qemu_use_kvm.split()):
         kvm = True
     else:
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index f63936c..59a9c35 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -91,6 +91,8 @@ class QemuTarget(BaseTarget):

     def __init__(self, d, logger, image_fstype=None):

+        import oe.types
+
         super(QemuTarget, self).__init__(d, logger)

         self.rootfs = ''
@@ -107,7 +109,7 @@ class QemuTarget(BaseTarget):
         dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
         qemu_use_kvm = d.getVar("QEMU_USE_KVM")
         if qemu_use_kvm and \
-           (qemu_use_kvm == "True" and "x86" in d.getVar("MACHINE") or \
+           (oe.types.boolean(qemu_use_kvm) and "x86" in d.getVar("MACHINE") or 
\
             d.getVar("MACHINE") in qemu_use_kvm.split()):
             use_kvm = True
         else:

// Robert


// Robert


// Robert


Ross
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to