Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-srcinfo for openSUSE:Factory checked in at 2022-12-15 19:25:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-srcinfo (Old) and /work/SRC/openSUSE:Factory/.python-srcinfo.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-srcinfo" Thu Dec 15 19:25:47 2022 rev:4 rq:1043090 version:0.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-srcinfo/python-srcinfo.changes 2020-11-24 22:12:31.447498028 +0100 +++ /work/SRC/openSUSE:Factory/.python-srcinfo.new.1835/python-srcinfo.changes 2022-12-15 19:26:15.288414613 +0100 @@ -1,0 +2,6 @@ +Wed Dec 14 23:16:31 UTC 2022 - John Vandenberg <[email protected]> + +- Remove pr_10.patch merged upstream +- Update to v0.1.1 + +------------------------------------------------------------------- Old: ---- pr_10.patch srcinfo-0.0.8.tar.gz New: ---- srcinfo-0.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-srcinfo.spec ++++++ --- /var/tmp/diff_new_pack.kVKi3f/_old 2022-12-15 19:26:15.744417208 +0100 +++ /var/tmp/diff_new_pack.kVKi3f/_new 2022-12-15 19:26:15.748417231 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-srcinfo # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,26 +16,23 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-srcinfo -Version: 0.0.8 +Version: 0.1.1 Release: 0 Summary: Python library to parse Arch SRCINFO files License: ISC Group: Development/Languages/Python URL: https://github.com/kyrias/python-srcinfo -Source: https://github.com/kyrias/python-srcinfo/archive/%{version}.tar.gz#/srcinfo-%{version}.tar.gz -# Backport of https://github.com/kyrias/python-srcinfo/pull/10 -Patch0: pr_10.patch +Source: https://files.pythonhosted.org/packages/source/s/srcinfo/srcinfo-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-parse +Requires: python-parse >= 1.19.0 Requires(post): update-alternatives -Requires(postun): update-alternatives +Requires(postun):update-alternatives BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module parse} +BuildRequires: %{python_module parse >= 1.19.0} BuildRequires: %{python_module pytest} # /SECTION %python_subpackages @@ -44,14 +41,9 @@ Python library to parse Arch .SRCINFO files. %prep -%setup -q -n python-srcinfo-%{version} -%patch0 -p1 +%setup -q -n srcinfo-%{version} mv test/__init__.py test_srcinfo.py -# Only needed until 0.0.9 is released -# https://github.com/kyrias/python-srcinfo/pull/8 -sed -i '/nose/d' setup.py - %build %python_build @@ -73,6 +65,6 @@ %doc README.rst %license LICENSE %python_alternative %{_bindir}/parse_srcinfo -%{python_sitelib}/* +%{python_sitelib}/srcinfo*/ %changelog ++++++ srcinfo-0.0.8.tar.gz -> srcinfo-0.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/.gitignore new/srcinfo-0.1.1/.gitignore --- old/python-srcinfo-0.0.8/.gitignore 2016-04-13 20:15:26.000000000 +0200 +++ new/srcinfo-0.1.1/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -*.pyc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/MANIFEST.in new/srcinfo-0.1.1/MANIFEST.in --- old/python-srcinfo-0.0.8/MANIFEST.in 2016-04-13 20:15:26.000000000 +0200 +++ new/srcinfo-0.1.1/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -include LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/PKG-INFO new/srcinfo-0.1.1/PKG-INFO --- old/python-srcinfo-0.0.8/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/srcinfo-0.1.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -0,0 +1,38 @@ +Metadata-Version: 2.1 +Name: srcinfo +Version: 0.1.1 +Summary: A small library to parse .SRCINFO files +License: ISC +Author: Johannes Löthberg +Author-email: [email protected] +Requires-Python: >=3.7,<4.0 +Classifier: Development Status :: 5 - Production/Stable +Classifier: License :: OSI Approved +Classifier: License :: OSI Approved :: ISC License (ISCL) +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: System :: Archiving :: Packaging +Requires-Dist: parse (>=1.19.0,<2.0.0) +Description-Content-Type: text/x-rst + +================ + python-srcinfo +================ + +This is a small library to easily parse ``.SRCINFO`` files in python, using the python parse_ library. + +.. _parse: https://github.com/r1chardj0n3s/parse + + +Installing +---------- + +If you're on Arch Linux, you can install this library from the [community] repository. +Alternatively, it can be installed from the PyPI using pip `[1]`__. + +.. __: https://pypi.python.org/pypi/srcinfo + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/pyproject.toml new/srcinfo-0.1.1/pyproject.toml --- old/python-srcinfo-0.0.8/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/srcinfo-0.1.1/pyproject.toml 2022-12-14 20:54:15.830516800 +0100 @@ -0,0 +1,27 @@ +[tool.poetry] +name = "srcinfo" +version = "0.1.1" +description = "A small library to parse .SRCINFO files" +authors = ["Johannes Löthberg <[email protected]>"] +license = "ISC" +readme = "README.rst" + +include = ["test"] + +classifiers = [ + "Topic :: System :: Archiving :: Packaging", + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: ISC License (ISCL)", +] + +[tool.poetry.scripts] +parse_srcinfo = { callable = "srcinfo.main:main" } + +[tool.poetry.dependencies] +python = "^3.7" +parse = "^1.19.0" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/setup.py new/srcinfo-0.1.1/setup.py --- old/python-srcinfo-0.0.8/setup.py 2016-04-13 20:15:26.000000000 +0200 +++ new/srcinfo-0.1.1/setup.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +1,34 @@ -import os +# -*- coding: utf-8 -*- from setuptools import setup -# Utility function to read the README file. -# Used for the long_description. It's nice, because now 1) we have a top level -# README file and 2) it's easier to type in the README file than to put a raw -# string in below ... -def read(fname): - return open(os.path.join(os.path.dirname(__file__), fname)).read() - -setup( - name = 'srcinfo', - version = '0.0.8', - packages = ['srcinfo'], - - description = ('A small library to parse .SRCINFO files'), - long_description = read('README.rst'), - url = 'https://github.com/kyrias/python-srcinfo', - license = 'ISC', - - author = 'Johannes Löthberg', - author_email = '[email protected]', - - install_requires = ['parse'], - tests_require = ['nose'], - test_suite = 'nose.collector', - - entry_points = { - 'console_scripts': [ - 'parse_srcinfo = srcinfo.main:main', - ] - }, - - keywords = '.SRCINFO makepkg pacman AUR', - - classifiers = [ - "Development Status :: 3 - Alpha", - 'Topic :: System :: Archiving :: Packaging', - 'License :: OSI Approved :: ISC License (ISCL)', - ], -) +packages = \ +['srcinfo'] + +package_data = \ +{'': ['*']} + +install_requires = \ +['parse>=1.19.0,<2.0.0'] + +entry_points = \ +{'console_scripts': ['parse_srcinfo = srcinfo.main:main']} + +setup_kwargs = { + 'name': 'srcinfo', + 'version': '0.1.1', + 'description': 'A small library to parse .SRCINFO files', + 'long_description': "================\n python-srcinfo\n================\n\nThis is a small library to easily parse ``.SRCINFO`` files in python, using the python parse_ library.\n\n.. _parse: https://github.com/r1chardj0n3s/parse\n\n\nInstalling\n----------\n\nIf you're on Arch Linux, you can install this library from the [community] repository.\nAlternatively, it can be installed from the PyPI using pip `[1]`__.\n\n.. __: https://pypi.python.org/pypi/srcinfo\n", + 'author': 'Johannes Löthberg', + 'author_email': '[email protected]', + 'maintainer': 'None', + 'maintainer_email': 'None', + 'url': 'None', + 'packages': packages, + 'package_data': package_data, + 'install_requires': install_requires, + 'entry_points': entry_points, + 'python_requires': '>=3.7,<4.0', +} + + +setup(**setup_kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/srcinfo/parse.py new/srcinfo-0.1.1/srcinfo/parse.py --- old/python-srcinfo-0.0.8/srcinfo/parse.py 2016-04-13 20:15:26.000000000 +0200 +++ new/srcinfo-0.1.1/srcinfo/parse.py 2019-06-22 19:19:44.981263600 +0200 @@ -2,25 +2,18 @@ arrays = ['pkgname', 'arch', 'license', 'groups', 'options', 'conflicts', 'provides', 'replaces', - 'source', 'noextract', 'backup', 'validpgpkeys', 'md5sums', + 'source', 'noextract', 'backup', 'validpgpkeys', 'b2sums', 'md5sums', 'sha1sums', 'sha224sums', 'sha256sums', 'sha384sums', 'sha512sums', 'depends', 'makedepends', 'checkdepends', 'optdepends', ] -def remove_empty_values(values): - return [v for v in values if v.strip()] - - ## # Check if SRCINFO key is an array # def is_array(key): if key in arrays: return True - for array in arrays: - if key.startswith(array): - return True return False @@ -29,12 +22,11 @@ # def list_insert(target, key, value): if key not in target: - target[key] = [] + target[key] = [] # Don't append value if already in the list - if value not in target[key]: - if value: - target[key].append(value) + if value and value not in target[key]: + target[key].append(value) ## @@ -42,21 +34,22 @@ # def extract_var(string): line = string.lstrip() + if line.startswith('#'): + return (None, None, None) + key = None value = None errors = [] - parsed = parse('{} ={}', line) + def value(string): + return string.strip() + value.pattern = r'.*' + + parsed = parse('{:^}={:value}', line, dict(value=value)) if parsed: (key, value) = parsed - key = key.strip() - value = value.strip() - - elif line.startswith('#'): - pass - else: - errors.append('failed to parse line: "{}"'.format(line)) + errors.append('failed to parse line: {!r}'.format(line)) return (key, value, errors) @@ -77,19 +70,33 @@ if not line.strip(): continue - if line.startswith('pkgname'): - pkgname = line.split('pkgname =')[1].strip() - info = srcinfo['packages'][pkgname] = {} - continue - (key, value, err) = extract_var(line) + if err: errors.append({ 'line': index, 'error': err }) - if not key: + if key == 'pkgbase': + if 'pkgbase' in srcinfo: + errors.append({ + 'line': index, + 'error': "pkgbase declared more than once", + }) + + elif info != srcinfo: + errors.append({ + 'line': index, + 'error': "pkgbase declared after pkgname", + }) + + if key == 'pkgname': + pkgname = value + info = srcinfo['packages'][pkgname] = {} + continue + + elif not key: continue if is_array(key): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-srcinfo-0.0.8/test/__init__.py new/srcinfo-0.1.1/test/__init__.py --- old/python-srcinfo-0.0.8/test/__init__.py 2016-04-13 20:15:26.000000000 +0200 +++ new/srcinfo-0.1.1/test/__init__.py 2019-06-22 19:13:00.890884600 +0200 @@ -1,11 +1,15 @@ -def package_names_equal(srcinfo, package_names): - return set(srcinfo['packages'].keys()) == set(package_names) +import unittest +class TestSrcinfo(unittest.TestCase): -def test_simple_parse(): - from srcinfo.parse import parse_srcinfo + def assertPackageNamesEqual(self, srcinfo, package_names): + self.assertCountEqual(srcinfo['packages'].keys(), package_names) - srcinfo = '''pkgbase = ponies + + def testSimpleParse(self): + from srcinfo.parse import parse_srcinfo + + srcinfo = '''pkgbase = ponies pkgdesc = Some description pkgver = 1.0.0 pkgrel = 1 @@ -18,17 +22,16 @@ pkgname = ponies''' - (parsed, errors) = parse_srcinfo(srcinfo) - assert parsed - assert errors == [] - assert package_names_equal(parsed, ['ponies']) + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertTrue(parsed) + self.assertEqual(errors, []) + self.assertPackageNamesEqual(parsed, ['ponies']) + def testSplitPackageNames(self): + from srcinfo.parse import parse_srcinfo -def test_split_package_names(): - from srcinfo.parse import parse_srcinfo - - srcinfo = '''pkgbase = pony + srcinfo = '''pkgbase = pony pkgdesc = Some description pkgver = 1.0.0 pkgrel = 1 @@ -45,17 +48,52 @@ pkgname = pinkiepie''' - (parsed, errors) = parse_srcinfo(srcinfo) - assert errors == [] - assert package_names_equal(parsed, ['applejack', 'rainbowdash', 'pinkiepie']) + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertEqual(errors, []) + self.assertPackageNamesEqual(parsed, ['applejack', 'rainbowdash', 'pinkiepie']) + + def testRejectsMultiplePkgbase(self): + from srcinfo.parse import parse_srcinfo + + srcinfo = '''pkgbase = pony + pkgdesc = Some description + pkgver = 1.0.0 + pkgrel = 1 + url = https://example.com + arch = i686 + arch = x86_64 + license = ISC + source = git+https://example.com/package.git + md5sums = SKIP +pkgname = luna -def test_coverage(): - from srcinfo.utils import get_variable - from srcinfo.parse import parse_srcinfo +pkgbase = ponies''' - srcinfo = '''pkgbase = gcc + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertPackageNamesEqual(parsed, ['luna']) + self.assertEqual(len(errors), 1) + self.assertIn('pkgbase declared more than once', errors[0]['error']) + + + def testRejectsPkgbaseAfterPkgname(self): + from srcinfo.parse import parse_srcinfo + + srcinfo = '''pkgname = luna +pkgbase = pony''' + + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertPackageNamesEqual(parsed, ['luna']) + self.assertEqual(len(errors), 1) + self.assertIn('pkgbase declared after pkgname', errors[0]['error']) + + + def testCoverage(self): + from srcinfo.parse import parse_srcinfo + from srcinfo.utils import get_variable + + srcinfo = '''pkgbase = gcc pkgdesc = The GNU Compiler Collection pkgver = 4.9.1 pkgrel = 2 @@ -124,59 +162,83 @@ options = staticlibs options = !emptydirs''' - expected_packages = ['gcc', 'gcc-libs', 'gcc-fortran', 'gcc-objc', 'gcc-ada', 'gcc-go'] + expected_packages = ['gcc', 'gcc-libs', 'gcc-fortran', 'gcc-objc', 'gcc-ada', 'gcc-go'] + + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertEqual(errors, []) + self.assertPackageNamesEqual(parsed, expected_packages) + + for pkgname in expected_packages: + self.assertEqual(get_variable('pkgver', pkgname, parsed), '4.9.1') + self.assertEqual(get_variable('pkgrel', pkgname, parsed), '2') + self.assertEqual(get_variable('arch', pkgname, parsed), ['i686', 'x86_64']) + self.assertEqual(get_variable('license', pkgname, parsed), ['GPL', 'LGPL', 'FDL', 'custom']) + self.assertEqual(get_variable('url', pkgname, parsed), 'http://gcc.gnu.org') + self.assertEqual(get_variable('makedepends', pkgname, parsed), ['binutils>=2.24','libmpc', 'cloog', 'gcc-ada', 'doxygen']) + self.assertEqual(get_variable('checkdepends', pkgname, parsed), ['dejagnu', 'inetutils']) + self.assertEqual(get_variable('source', pkgname, parsed), [ + 'ftp://gcc.gnu.org/pub/gcc/snapshots/4.9-20140903/gcc-4.9-20140903.tar.bz2', + 'gcc-4.8-filename-output.patch', + 'gcc-4.9-isl-0.13-hack.patch']) + self.assertEqual(get_variable('md5sums', pkgname, parsed), [ + '24dfd67139fda4746d2deff18182611d', + '40cb437805e2f7a006aa0d0c3098ab0f', + 'f26ae06b9cbc8abe86f5ee4dc5737da8']) + + self.assertEqual(get_variable('pkgdesc', 'gcc-libs', parsed), 'Runtime libraries shipped by GCC') + self.assertEqual(get_variable('groups', 'gcc-libs', parsed), ['base']) + self.assertEqual(get_variable('depends', 'gcc-libs', parsed), ['glibc>=2.20']) + self.assertEqual(get_variable('options', 'gcc-libs', parsed), ['!emptydirs', '!strip']) + self.assertEqual(get_variable('install', 'gcc-libs', parsed), 'gcc-libs.install') + + self.assertEqual(get_variable('pkgdesc', 'gcc', parsed), 'The GNU Compiler Collection - C and C++ frontends') + self.assertEqual(get_variable('depends', 'gcc', parsed), ['gcc-libs=4.9.1-2', 'binutils>=2.24', 'libmpc', 'cloog']) + self.assertEqual(get_variable('groups', 'gcc', parsed), ['base-devel']) + self.assertEqual(get_variable('options', 'gcc', parsed), ['staticlibs']) + self.assertEqual(get_variable('install', 'gcc', parsed), 'gcc.install') + + self.assertEqual(get_variable('pkgdesc', 'gcc-fortran', parsed), 'Fortran front-end for GCC') + self.assertEqual(get_variable('depends', 'gcc-fortran', parsed), ['gcc=4.9.1-2']) + self.assertEqual(get_variable('options', 'gcc-fortran', parsed), ['staticlibs', '!emptydirs']) + self.assertEqual(get_variable('install', 'gcc-fortran', parsed), 'gcc-fortran.install') + self.assertFalse(get_variable('groups', 'gcc-fortran', parsed)) + + self.assertEqual(get_variable('pkgdesc', 'gcc-objc', parsed), 'Objective-C front-end for GCC') + self.assertEqual(get_variable('depends', 'gcc-objc', parsed), ['gcc=4.9.1-2']) + self.assertEqual(get_variable('options', 'gcc-objc', parsed), ['!emptydirs']) + self.assertFalse(get_variable('install', 'gcc-objc', parsed)) + self.assertFalse(get_variable('groups', 'gcc-objc', parsed)) + + self.assertEqual(get_variable('pkgdesc', 'gcc-ada', parsed), 'Ada front-end for GCC (GNAT)') + self.assertEqual(get_variable('depends', 'gcc-ada', parsed), ['gcc=4.9.1-2']) + self.assertEqual(get_variable('options', 'gcc-ada', parsed), ['staticlibs', '!emptydirs']) + self.assertEqual(get_variable('install', 'gcc-ada', parsed), 'gcc-ada.install') + self.assertFalse(get_variable('groups', 'gcc-ada', parsed)) + + self.assertEqual(get_variable('pkgdesc', 'gcc-go', parsed), 'Go front-end for GCC') + self.assertEqual(get_variable('depends', 'gcc-go', parsed), ['gcc=4.9.1-2']) + self.assertEqual(get_variable('options', 'gcc-go', parsed), ['staticlibs', '!emptydirs']) + self.assertEqual(get_variable('install', 'gcc-go', parsed), 'gcc-go.install') + self.assertFalse(get_variable('groups', 'gcc-go', parsed)) + + def testEmptyAttrInPackageOverridesGlobal(self): + from srcinfo.parse import parse_srcinfo + from srcinfo.utils import get_variable + + srcinfo = '''pkgbase = pony + depends = global + +pkgname = applejack + +pkgname = pinkiepie + depends = +''' + + (parsed, errors) = parse_srcinfo(srcinfo) + self.assertEqual(errors, []) + self.assertCountEqual(get_variable('depends', 'pinkiepie', parsed), []) + self.assertCountEqual(get_variable('depends', 'applejack', parsed), ['global']) + - (parsed, errors) = parse_srcinfo(srcinfo) - assert errors == [] - assert package_names_equal(parsed, expected_packages) - - for pkgname in expected_packages: - assert get_variable('pkgver', pkgname, parsed) == '4.9.1' - assert get_variable('pkgrel', pkgname, parsed) == '2' - assert get_variable('arch', pkgname, parsed) == ['i686', 'x86_64'] - assert get_variable('license', pkgname, parsed) == ['GPL', 'LGPL', 'FDL', 'custom'] - assert get_variable('url', pkgname, parsed) == 'http://gcc.gnu.org' - assert get_variable('makedepends', pkgname, parsed) == ['binutils>=2.24','libmpc', 'cloog', 'gcc-ada', 'doxygen'] - assert get_variable('checkdepends', pkgname, parsed) == ['dejagnu', 'inetutils'] - assert get_variable('source', pkgname, parsed) == ['ftp://gcc.gnu.org/pub/gcc/snapshots/4.9-20140903/gcc-4.9-20140903.tar.bz2', - 'gcc-4.8-filename-output.patch', - 'gcc-4.9-isl-0.13-hack.patch'] - assert get_variable('md5sums', pkgname, parsed) == ['24dfd67139fda4746d2deff18182611d', - '40cb437805e2f7a006aa0d0c3098ab0f', - 'f26ae06b9cbc8abe86f5ee4dc5737da8'] - - assert get_variable('pkgdesc', 'gcc-libs', parsed) == 'Runtime libraries shipped by GCC' - assert get_variable('groups', 'gcc-libs', parsed) == ['base'] - assert get_variable('depends', 'gcc-libs', parsed) == ['glibc>=2.20'] - assert get_variable('options', 'gcc-libs', parsed) == ['!emptydirs', '!strip'] - assert get_variable('install', 'gcc-libs', parsed) == 'gcc-libs.install' - - assert get_variable('pkgdesc', 'gcc', parsed) == 'The GNU Compiler Collection - C and C++ frontends' - assert get_variable('depends', 'gcc', parsed) == ['gcc-libs=4.9.1-2', 'binutils>=2.24', 'libmpc', 'cloog'] - assert get_variable('groups', 'gcc', parsed) == ['base-devel'] - assert get_variable('options', 'gcc', parsed) == ['staticlibs'] - assert get_variable('install', 'gcc', parsed) == 'gcc.install' - - assert get_variable('pkgdesc', 'gcc-fortran', parsed) == 'Fortran front-end for GCC' - assert get_variable('depends', 'gcc-fortran', parsed) == ['gcc=4.9.1-2'] - assert get_variable('options', 'gcc-fortran', parsed) == ['staticlibs', '!emptydirs'] - assert get_variable('install', 'gcc-fortran', parsed) == 'gcc-fortran.install' - assert not get_variable('groups', 'gcc-fortran', parsed) - - assert get_variable('pkgdesc', 'gcc-objc', parsed) == 'Objective-C front-end for GCC' - assert get_variable('depends', 'gcc-objc', parsed) == ['gcc=4.9.1-2'] - assert get_variable('options', 'gcc-objc', parsed) == ['!emptydirs'] - assert not get_variable('install', 'gcc-objc', parsed) - assert not get_variable('groups', 'gcc-objc', parsed) - - assert get_variable('pkgdesc', 'gcc-ada', parsed) == 'Ada front-end for GCC (GNAT)' - assert get_variable('depends', 'gcc-ada', parsed) == ['gcc=4.9.1-2'] - assert get_variable('options', 'gcc-ada', parsed) == ['staticlibs', '!emptydirs'] - assert get_variable('install', 'gcc-ada', parsed) == 'gcc-ada.install' - assert not get_variable('groups', 'gcc-ada', parsed) - - assert get_variable('pkgdesc', 'gcc-go', parsed) == 'Go front-end for GCC' - assert get_variable('depends', 'gcc-go', parsed) == ['gcc=4.9.1-2'] - assert get_variable('options', 'gcc-go', parsed) == ['staticlibs', '!emptydirs'] - assert get_variable('install', 'gcc-go', parsed) == 'gcc-go.install' - assert not get_variable('groups', 'gcc-go', parsed) +if __name__ == '__main__': + unittest.main()
