[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