Skip to contentSkip to conversation

Some tests fixes

PATCH New Stefan Stanacar 1 participant 3 messages Aug 26, 2013

lore
Share & tools
lore
#0 lore raw

cover Some tests fixes

Hello,

These should fix two of AB fails for RunSanity:
http://autobuilder.yoctoproject.org:8011/builders/nightly-x86/builds/269/steps/Running%20Sanity%20Tests/logs/stdio
and http://autobuilder.yoctoproject.org:8011/builders/nightly-multilib/builds/266/steps/Running%20Sanity%20Tests_3/logs/stdio

Cheers,
Stefan

The following changes since commit d80a715e3763a0e2bea5c84a4132d70dceaa2044:

python-2.7-manifest: Add missing python-ctypes dependency to python-multiprocessing (2013-08-26 12:15:49 +0100)

are available in the git repository at:

git://mirror.rb.intel.com/git.yoctoproject.org/poky-contrib stefans/test-fixes1

for you to fetch changes up to 215b28dcd8c0b11f63c151bb217e81188c595a91:

lib/oeqa/runtime: multilib: fix typo (2013-08-26 14:55:37 +0300)

----------------------------------------------------------------
Stefan Stanacar (2):
lib/oeqa/runtime: smart: add checks for smart output lib/oeqa/runtime: multilib: fix typo

 meta/lib/oeqa/runtime/multilib.py |  2 +-
 meta/lib/oeqa/runtime/smart.py    | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

Stefan Stanacar (2):
lib/oeqa/runtime: smart: add checks for smart output lib/oeqa/runtime: multilib: fix typo

 meta/lib/oeqa/runtime/multilib.py |  2 +-
 meta/lib/oeqa/runtime/smart.py    | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)
Signature · 1 line
1.8.3.1
#1 lore raw

PATCH 1/2 lib/oeqa/runtime: smart: add checks for smart output

Sometimes smart throws:

    Committing transaction...
    Preparing...                    ######################################## [  0%]
       1:Removing psplash-default   ######################################## [100%]
    error: Couldn't fork %postun: Cannot allocate memory

and returns a 0 exit code (it thinks it succesfully removed the package, when in reality it didn't), so we need to catch those specifically.

Also, sometimes output from download command is:

    Saving cache...http://192.168.7.1:49456/rpm/x86_64_x32/psplash-default-0.1+git0+afd4e228c6-r15.x86_64_x32.rpm

and that tricks our smart download test, so use a regex there.

---
 meta/lib/oeqa/runtime/smart.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
meta/lib/oeqa/runtime/smart.py +5 -5
index 4ea2699..6e20f96 100644
@@ -1,4 +1,5 @@
 import unittest
+import re
 from oeqa.oetest import oeRuntimeTest
 from oeqa.utils.decorators import *
 from oeqa.utils.httpserver import HTTPService
@@ -19,6 +20,7 @@ class SmartTest(oeRuntimeTest):
         status, output = self.target.run(command)
         message = os.linesep.join([command, output])
         self.assertEqual(status, expected, message)
+        self.assertFalse("Cannot allocate memory" in output, message)
         return output
 
 class SmartBasicTest(SmartTest):
@@ -95,13 +97,11 @@ class SmartRepoTest(SmartTest):
 
     @skipUnlessPassed('test_smart_channel_add')
     def test_smart_install_from_http(self):
-        url = 'http://'
         output = self.smart('download --urls psplash-default')
-        for line in output.splitlines():
-            if line.startswith(url):
-                url = line
+        url = re.search('(http://.*/psplash-default.*\.rpm)', output)
+        self.assertTrue(url, msg="Couln't find download url in %s" % output)
         self.smart('remove -y psplash-default')
-        self.smart('install -y %s' % url)
+        self.smart('install -y %s' % url.group(0))
 
     @skipUnlessPassed('test_smart_install')
     def test_smart_reinstall(self):
Signature · 1 line
1.8.3.1
#2 lore raw

PATCH 2/2 lib/oeqa/runtime: multilib: fix typo

In reply to Stefan Stanacar

The check was obviously wrong and it surfaced with the recent change in behaviour for skipping tests.

---
 meta/lib/oeqa/runtime/multilib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/runtime/multilib.py +1 -1
index 2d952aa..13a3b54 100644
@@ -4,7 +4,7 @@ from oeqa.utils.decorators import *
 
 def setUpModule():
     multilibs = oeRuntimeTest.tc.d.getVar("MULTILIBS", True) or ""
-    if "multlib:lib32" not in multilibs:
+    if "multilib:lib32" not in multilibs:
         skipModule("this isn't a multilib:lib32 image")
 
 
Signature · 1 line
1.8.3.1