[oe-commits] [openembedded-core] branch master-next updated: oeqa.runtime.smart: work around smart race issues
git at git.openembedded.org
git at git.openembedded.org
Fri Sep 9 09:36:10 UTC 2016
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
The following commit(s) were added to refs/heads/master-next by this push:
new 8c6ae4d oeqa.runtime.smart: work around smart race issues
8c6ae4d is described below
commit 8c6ae4dbb8325776ddc766ee5f44406052b4228e
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Fri Sep 9 11:27:11 2016 +0300
oeqa.runtime.smart: work around smart race issues
Yucku hack around test failures which ultimately are caused by a race in
smartpm itself. Issuing smartpm commands in quick succession causes
races in package cache of smartpm on some systems. This patch mitigates
the problem by sleeping for 1 second after each smartpm command that
modifies the system.
[YOCTO #10244]
Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/lib/oeqa/runtime/smart.py | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/meta/lib/oeqa/runtime/smart.py b/meta/lib/oeqa/runtime/smart.py
index 6cdb10d..a15e402 100644
--- a/meta/lib/oeqa/runtime/smart.py
+++ b/meta/lib/oeqa/runtime/smart.py
@@ -2,6 +2,7 @@ import unittest
import re
import oe
import subprocess
+from time import sleep
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
from oeqa.utils.httpserver import HTTPService
@@ -144,13 +145,21 @@ class SmartRepoTest(SmartTest):
@skipUnlessPassed('test_smart_channel_add')
def test_smart_install(self):
self.smart('remove -y psplash-default')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
self.smart('install -y psplash-default')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(728)
@skipUnlessPassed('test_smart_install')
def test_smart_install_dependency(self):
self.smart('remove -y psplash')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
self.smart('install -y psplash-default')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(723)
@skipUnlessPassed('test_smart_channel_add')
@@ -158,6 +167,8 @@ class SmartRepoTest(SmartTest):
self.smart('remove -y psplash-default')
self.smart('download psplash-default')
self.smart('install -y ./psplash-default*')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(725)
@skipUnlessPassed('test_smart_channel_add')
@@ -166,19 +177,29 @@ class SmartRepoTest(SmartTest):
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')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
self.smart('install -y %s' % url.group(0))
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(729)
@skipUnlessPassed('test_smart_install')
def test_smart_reinstall(self):
self.smart('reinstall -y psplash-default')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(727)
@skipUnlessPassed('test_smart_channel_add')
def test_smart_remote_repo(self):
self.smart('update')
self.smart('install -y psplash')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
self.smart('remove -y psplash')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
@testcase(726)
def test_smart_local_dir(self):
@@ -192,6 +213,8 @@ class SmartRepoTest(SmartTest):
self.smart('channel --disable '+str(i))
self.target.run('cd $HOME')
self.smart('install psplash')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
for i in output.split("\n"):
if ("rpmsys" != str(i)) and ("myrpmdir" != str(i)):
self.smart('channel --enable '+str(i))
@@ -215,4 +238,6 @@ class SmartRepoTest(SmartTest):
@skipUnlessPassed('test_smart_channel_add')
def test_smart_remove_package(self):
self.smart('install -y psplash')
+ # NOTE: this sleep is a hack for working around #10244
+ sleep(1)
self.smart('remove -y psplash')
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list