[Kimchi-devel] [PATCH] Github 663: software update improvements
Ramon Medeiros
ramonn at linux.vnet.ibm.com
Fri Jun 26 16:28:26 UTC 2015
Reviewed-By: Ramon Medeiros < ramonn at linux.vnet.ibm.com>
make check-local tested
On 06/25/2015 05:12 PM, dhbarboza82 at gmail.com wrote:
> From: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
>
> - started considering just the return code of yum check-update
> instead of the existence of error output
>
> - ignoring any package declared after the 'Obsoleting Packages'
> warning
>
> Signed-off-by: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
> ---
> src/kimchi/yumparser.py | 14 +++++++++++++-
> tests/test_yumparser.py | 5 ++---
> 2 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/src/kimchi/yumparser.py b/src/kimchi/yumparser.py
> index 8151f86..792c3ae 100644
> --- a/src/kimchi/yumparser.py
> +++ b/src/kimchi/yumparser.py
> @@ -229,10 +229,21 @@ def _include_line_checkupdate_output(line):
> return True
>
>
> +def _ignore_obsoleting_packages_in(output):
> + out = ''
> + for l in output.split('\n'):
> + if 'Obsoleting ' in l:
> + break
> + out += l + '\n'
> + return out
> +
> +
> def _filter_lines_checkupdate_output(output):
> if output is None:
> return []
>
> + output = _ignore_obsoleting_packages_in(output)
> +
> out = [l for l in output.split('\n')
> if _include_line_checkupdate_output(l)]
> return out
> @@ -244,7 +255,8 @@ def _get_yum_checkupdate_output():
> stdout=subprocess.PIPE,
> stderr=subprocess.PIPE)
> out, error = yum_update_cmd.communicate()
> - if error != '':
> + return_code = yum_update_cmd.returncode
> + if return_code == 1:
> return None
>
> return out
> diff --git a/tests/test_yumparser.py b/tests/test_yumparser.py
> index 69f411a..53a2d80 100644
> --- a/tests/test_yumparser.py
> +++ b/tests/test_yumparser.py
> @@ -154,9 +154,8 @@ class YumParserTests(unittest.TestCase):
> def test_yum_checkupdate_parsing(self):
> output = _generate_yumcheckupdate_output()
> packages = get_yum_packages_list_update(output)
> - self.assertEqual(len(packages), 5)
> + self.assertEqual(len(packages), 3)
> self.assertEqual(packages[0].ui_from_repo, 'REPOSITORY1')
> self.assertEqual(packages[1].version, '20150611.-no-FAKE2')
> self.assertEqual(packages[2].name, 'PACKAGE3.dot.dot')
> - self.assertEqual(packages[3].arch, 'i386')
> - self.assertEqual(packages[4].arch, 'fakearch')
> + self.assertEqual(packages[2].arch, 'i386')
--
Ramon Nunes Medeiros
Kimchi Developer
Linux Technology Center Brazil
IBM Systems & Technology Group
Phone : +55 19 2132 7878
ramonn at br.ibm.com
More information about the Kimchi-devel
mailing list