def test_absurd(self): assert ( split_filename('1:aarch64-ppc64le-i686-0.1-1.el7ost.src.rpm') == ( 'aarch64-ppc64le-i686', '0.1', '1.el7ost', '1', '')) assert (split_filename( 'm-e-g-a-f-o-o-1.0-36.123.1333.elite.omg.long.el7ost.1.noarch.rpm') == # NOQA ('m-e-g-a-f-o-o', '1.0', '36.123.1333.elite.omg.long.el7ost.1', '', 'noarch')) # NOQA
def test_no_component(self): assert (split_filename('1.2-1.f23.noarch') == ('', '1.2', '1.f23', '', 'noarch')) assert (split_filename('1.2-1.f23') == ('', '1.2', '1.f23', '', '')) assert (split_filename('1.2-1') == ('', '1.2', '1', '', '')) assert (split_filename('1.2') == ('', '1.2', '', '', ''))
def test_lead_epoch(self): assert (split_filename('2:foo-1.2-1.f23.noarch') == ('foo', '1.2', '1.f23', '2', 'noarch')) # error: but, use lead epoch assert (split_filename('2:foo-3:1.2-1.f23.noarch') == ('foo', '1.2', '1.f23', '2', 'noarch')) assert (split_filename('1:openstack-nova-15.0.1-1.el7ost.noarch') == ('openstack-nova', '15.0.1', '1.el7ost', '1', 'noarch')) assert (split_filename('1:openstack-nova-15.0.1-1.el7ost') == ('openstack-nova', '15.0.1', '1.el7ost', '1', ''))
def test_normal(self): assert (split_filename('foo-1.2-1.f23.noarch.rpm') == ('foo', '1.2', '1.f23', '', 'noarch')) assert (split_filename('foo-1.2-1.f23.noarch') == ('foo', '1.2', '1.f23', '', 'noarch')) assert (split_filename('sos-3.2-36.el7ost.1') == ('sos', '3.2', '36.el7ost.1', '', '')) assert (split_filename('sos-3.2-36.el7ost.x86_64') == ('sos', '3.2', '36.el7ost', '', 'x86_64')) assert (split_filename('sos-3.2-36.el7ost.1.x86_64') == ('sos', '3.2', '36.el7ost.1', '', 'x86_64')) assert (split_filename('sos-3.2-36.el7ost.1.x86_64.rpm') == ( 'sos', '3.2', '36.el7ost.1', '', 'x86_64')) assert (split_filename('sos-3.2-36.el7ost.1.src.rpm') == ( 'sos', '3.2', '36.el7ost.1', '', '')) assert (split_filename( 'openstack-nova-15.0.1-0.20170222170803.10a32dd.el7ost') == # NOQA ('openstack-nova', '15.0.1', '0.20170222170803.10a32dd.el7ost', '', '')) # NOQA assert (split_filename('openstack-nova-1:15.0.1-1.el7ost') == ( 'openstack-nova', '15.0.1', '1.el7ost', '1', ''))
def nevr_to_dep(dep): """Convert a RPM NEVR string to a simple dict""" (name, version, release, epoch, _) = split_filename(dep) ret = {} if name == '': raise ValueError('Could not parse: \"' + dep + '\"') ret['name'] = name ret['version'] = version ret['comparison'] = '==' if epoch not in ('', 0, '0'): ret['epoch'] = int(epoch) if release != 'None' and release is not None: ret['release'] = release return ret
def test_epoch(self): assert (split_filename('foo-3:1.2-1.f23.noarch') == ('foo', '1.2', '1.f23', '3', 'noarch'))