diff options
author | Stefan Stanacar <stefanx.stanacar@intel.com> | 2013-08-26 11:51:46 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-26 16:29:18 +0100 |
commit | 44c3f72684c5c920ce8af1da54a2268047342589 (patch) | |
tree | c901fd5401dbcf4ab96ca0eb93b9ae4ded16d499 /meta/lib/oeqa/runtime | |
parent | a855180fe6f078b0afb0f5741074f8bdb5eb2e66 (diff) | |
download | poky-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.py | 10 |
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 @@ | |||
1 | import unittest | 1 | import unittest |
2 | import re | ||
2 | from oeqa.oetest import oeRuntimeTest | 3 | from oeqa.oetest import oeRuntimeTest |
3 | from oeqa.utils.decorators import * | 4 | from oeqa.utils.decorators import * |
4 | from oeqa.utils.httpserver import HTTPService | 5 | from 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 | ||
24 | class SmartBasicTest(SmartTest): | 26 | class 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): |