summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime
diff options
context:
space:
mode:
authorStefan Stanacar <stefanx.stanacar@intel.com>2013-08-26 11:51:46 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-26 16:29:18 +0100
commit44c3f72684c5c920ce8af1da54a2268047342589 (patch)
treec901fd5401dbcf4ab96ca0eb93b9ae4ded16d499 /meta/lib/oeqa/runtime
parenta855180fe6f078b0afb0f5741074f8bdb5eb2e66 (diff)
downloadpoky-44c3f72684c5c920ce8af1da54a2268047342589.tar.gz
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. (From OE-Core rev: 2ac7783e04f5e8e6005f967e1a6dd65d2fc6a19a) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/runtime')
-rw-r--r--meta/lib/oeqa/runtime/smart.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/lib/oeqa/runtime/smart.py b/meta/lib/oeqa/runtime/smart.py
index 4ea2699508..6e20f96967 100644
--- a/meta/lib/oeqa/runtime/smart.py
+++ b/meta/lib/oeqa/runtime/smart.py
@@ -1,4 +1,5 @@
1import unittest 1import unittest
2import re
2from oeqa.oetest import oeRuntimeTest 3from oeqa.oetest import oeRuntimeTest
3from oeqa.utils.decorators import * 4from oeqa.utils.decorators import *
4from oeqa.utils.httpserver import HTTPService 5from oeqa.utils.httpserver import HTTPService
@@ -19,6 +20,7 @@ class SmartTest(oeRuntimeTest):
19 status, output = self.target.run(command) 20 status, output = self.target.run(command)
20 message = os.linesep.join([command, output]) 21 message = os.linesep.join([command, output])
21 self.assertEqual(status, expected, message) 22 self.assertEqual(status, expected, message)
23 self.assertFalse("Cannot allocate memory" in output, message)
22 return output 24 return output
23 25
24class SmartBasicTest(SmartTest): 26class SmartBasicTest(SmartTest):
@@ -95,13 +97,11 @@ class SmartRepoTest(SmartTest):
95 97
96 @skipUnlessPassed('test_smart_channel_add') 98 @skipUnlessPassed('test_smart_channel_add')
97 def test_smart_install_from_http(self): 99 def test_smart_install_from_http(self):
98 url = 'http://'
99 output = self.smart('download --urls psplash-default') 100 output = self.smart('download --urls psplash-default')
100 for line in output.splitlines(): 101 url = re.search('(http://.*/psplash-default.*\.rpm)', output)
101 if line.startswith(url): 102 self.assertTrue(url, msg="Couln't find download url in %s" % output)
102 url = line
103 self.smart('remove -y psplash-default') 103 self.smart('remove -y psplash-default')
104 self.smart('install -y %s' % url) 104 self.smart('install -y %s' % url.group(0))
105 105
106 @skipUnlessPassed('test_smart_install') 106 @skipUnlessPassed('test_smart_install')
107 def test_smart_reinstall(self): 107 def test_smart_reinstall(self):