cli-related test fixes

This commit is contained in:
Tomas Kopecek 2017-05-03 17:36:42 +02:00
parent 644792ff76
commit 449390cff9
7 changed files with 5070 additions and 5051 deletions

View file

@ -454,7 +454,7 @@ def watch_tasks(session,tasklist,quiet=False):
tasks[task_id] = TaskWatcher(task_id,session,quiet=quiet)
while True:
all_done = True
for task_id,task in tasks.items():
for task_id, task in list(tasks.items()):
changed = task.update()
if not task.is_done():
all_done = False
@ -1856,7 +1856,11 @@ def _import_comps(session, filename, tag, options):
}
if pkg.type == libcomps.PACKAGE_TYPE_CONDITIONAL:
pkgopts['requires'] = pkg.requires
print(" Package: %s: %r" % (pkg.name, pkgopts))
for k in pkgopts.keys():
if isinstance(pkgopts[k], unicode):
pkgopts[k] = str(pkgopts[k])
s_opts = ', '.join(["'%s': %r" % (k, pkgopts[k]) for k in sorted(list(pkgopts.keys()))])
print(" Package: %s: {%s}" % (pkg.name, s_opts))
session.groupPackageListAdd(tag, group.id, pkg.name, force=force, **pkgopts)
# libcomps does not support group dependencies
# libcomps does not support metapkgs
@ -1881,11 +1885,15 @@ def _import_comps_alt(session, filename, tag, options):
('optional', group.optional_packages),
('conditional', group.conditional_packages)]:
for pkg in pdata:
#yum.comps does not support basearchonly
pkgopts = {'type' : ptype}
if ptype == 'conditional':
pkgopts['requires'] = pdata[pkg]
#yum.comps does not support basearchonly
print(" Package: %s: %r" % (pkg, pkgopts))
for k in pkgopts.keys():
if isinstance(pkgopts[k], unicode):
pkgopts[k] = str(pkgopts[k])
s_opts = ', '.join(["'%s': %r" % (k, pkgopts[k]) for k in sorted(list(pkgopts.keys()))])
print(" Package: %s: {%s}" % (pkg, s_opts))
session.groupPackageListAdd(tag, group.groupid, pkg, force=force, **pkgopts)
#yum.comps does not support group dependencies
#yum.comps does not support metapkgs

File diff suppressed because it is too large Load diff

View file

@ -1,39 +1,39 @@
Group: additional-devel (Additional Development)
Package: alsa-lib-devel: {'type': 'default', 'basearchonly': False}
Package: audit-libs-devel: {'type': 'default', 'basearchonly': False}
Package: binutils-devel: {'type': 'default', 'basearchonly': False}
Package: boost-devel: {'type': 'default', 'basearchonly': False}
Package: bzip2-devel: {'type': 'default', 'basearchonly': False}
Package: cyrus-sasl-devel: {'type': 'default', 'basearchonly': False}
Package: alsa-lib-devel: {'basearchonly': False, 'type': 'default'}
Package: audit-libs-devel: {'basearchonly': False, 'type': 'default'}
Package: binutils-devel: {'basearchonly': False, 'type': 'default'}
Package: boost-devel: {'basearchonly': False, 'type': 'default'}
Package: bzip2-devel: {'basearchonly': False, 'type': 'default'}
Package: cyrus-sasl-devel: {'basearchonly': False, 'type': 'default'}
Group: backup-client (Backup Client)
Package: amanda-client: {'type': 'mandatory', 'basearchonly': False}
Package: bacula-client: {'type': 'optional', 'basearchonly': False}
Package: amanda-client: {'basearchonly': False, 'type': 'mandatory'}
Package: bacula-client: {'basearchonly': False, 'type': 'optional'}
Group: backup-server (Backup Server)
Package: amanda-server: {'type': 'mandatory', 'basearchonly': False}
Package: mt-st: {'type': 'optional', 'basearchonly': False}
Package: mtx: {'type': 'optional', 'basearchonly': False}
Package: amanda-server: {'basearchonly': False, 'type': 'mandatory'}
Package: mt-st: {'basearchonly': False, 'type': 'optional'}
Package: mtx: {'basearchonly': False, 'type': 'optional'}
Group: ansible-node (Ansible node)
Package: python2-dnf: {'type': 'mandatory', 'basearchonly': False}
Package: libselinux-python: {'requires': u'selinux-policy', 'type': 'conditional', 'basearchonly': False}
Package: python2-dnf: {'basearchonly': False, 'type': 'mandatory'}
Package: libselinux-python: {'basearchonly': False, 'requires': 'selinux-policy', 'type': 'conditional'}
Group: d-development (D Development Tools and Libraries)
Package: ldc: {'type': 'mandatory', 'basearchonly': True}
Package: ldc-druntime: {'type': 'mandatory', 'basearchonly': True}
Package: ldc-druntime-devel: {'type': 'mandatory', 'basearchonly': True}
Package: ldc-phobos-devel: {'type': 'mandatory', 'basearchonly': True}
Package: make: {'type': 'mandatory', 'basearchonly': False}
Package: pkgconfig: {'type': 'mandatory', 'basearchonly': False}
Package: ctags: {'type': 'default', 'basearchonly': False}
Package: indent: {'type': 'default', 'basearchonly': False}
Package: astyle: {'type': 'optional', 'basearchonly': False}
Package: cmake: {'type': 'optional', 'basearchonly': False}
Package: derelict-devel: {'type': 'optional', 'basearchonly': False}
Package: geany: {'type': 'optional', 'basearchonly': False}
Package: gl3n-devel: {'type': 'optional', 'basearchonly': False}
Package: insight: {'type': 'optional', 'basearchonly': False}
Package: nemiver: {'type': 'optional', 'basearchonly': False}
Package: uncrustify: {'type': 'optional', 'basearchonly': False}
Package: ldc: {'basearchonly': True, 'type': 'mandatory'}
Package: ldc-druntime: {'basearchonly': True, 'type': 'mandatory'}
Package: ldc-druntime-devel: {'basearchonly': True, 'type': 'mandatory'}
Package: ldc-phobos-devel: {'basearchonly': True, 'type': 'mandatory'}
Package: make: {'basearchonly': False, 'type': 'mandatory'}
Package: pkgconfig: {'basearchonly': False, 'type': 'mandatory'}
Package: ctags: {'basearchonly': False, 'type': 'default'}
Package: indent: {'basearchonly': False, 'type': 'default'}
Package: astyle: {'basearchonly': False, 'type': 'optional'}
Package: cmake: {'basearchonly': False, 'type': 'optional'}
Package: derelict-devel: {'basearchonly': False, 'type': 'optional'}
Package: geany: {'basearchonly': False, 'type': 'optional'}
Package: gl3n-devel: {'basearchonly': False, 'type': 'optional'}
Package: insight: {'basearchonly': False, 'type': 'optional'}
Package: nemiver: {'basearchonly': False, 'type': 'optional'}
Package: uncrustify: {'basearchonly': False, 'type': 'optional'}
Group: empty-group-1 (empty group 1)
Group: empty-group-2 (empty group 2)
Group: unknown-group (unknown group)
Package: unknown: {'type': 'unknown', 'basearchonly': False}
Package: unknown2: {'type': 'unknown', 'basearchonly': False}
Package: unknown: {'basearchonly': False, 'type': 'unknown'}
Package: unknown2: {'basearchonly': False, 'type': 'unknown'}

View file

@ -6,11 +6,14 @@ import sys
# koji module, or the koji cli module. Jump through hoops accordingly.
# https://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-full-path
CLI_FILENAME = os.path.dirname(__file__) + "/../../cli/koji"
'''
if sys.version_info[0] >= 3:
import importlib.util
spec = importlib.util.spec_from_file_location("koji_cli", CLI_FILENAME)
cli = importlib.util.module_from_spec(spec)
spec.loader.exec_module(cli)
else:
import imp
cli = imp.load_source('koji_cli', CLI_FILENAME)
'''
import imp
cli = imp.load_source('koji_cli', CLI_FILENAME)

View file

@ -28,7 +28,10 @@ class TestListCommands(unittest.TestCase):
def test_list_commands(self, stdout):
cli.list_commands()
actual = stdout.getvalue()
actual = actual.replace('nosetests', 'koji')
if six.PY2:
actual = actual.replace('nosetests', 'koji')
else:
actual = actual.replace('python3 -m nose', 'koji')
filename = os.path.dirname(__file__) + '/data/list-commands.txt'
with open(filename, 'rb') as f:
expected = f.read().decode('ascii')
@ -41,7 +44,10 @@ class TestListCommands(unittest.TestCase):
self.parser.parse_args.return_value = [options, arguments]
cli.handle_help(self.options, self.session, self.args)
actual = stdout.getvalue()
actual = actual.replace('nosetests', 'koji')
if six.PY2:
actual = actual.replace('nosetests', 'koji')
else:
actual = actual.replace('python3 -m nose', 'koji')
filename = os.path.dirname(__file__) + '/data/list-commands-admin.txt'
with open(filename, 'rb') as f:
expected = f.read().decode('ascii')

View file

@ -16,7 +16,7 @@ class TestUniquePath(unittest.TestCase):
cli._unique_path('prefix'))
self.assertRegexpMatches(
cli._unique_path('prefix'),
'^prefix/\d{10}\.\d{1,6}\.[a-zA-Z]{8}$')
'^prefix/\d{10}\.\d{1,7}\.[a-zA-Z]{8}$')
if __name__ == '__main__':
unittest.main()

View file

@ -69,9 +69,11 @@ class TestInsertProcessor(unittest.TestCase):
proc.dup_check()
args = cursor.execute.call_args
actual = ' '.join(args[0][0].split())
expected = 'SELECT active, foo FROM sometable WHERE ' + \
expected1 = 'SELECT foo, active FROM sometable WHERE ' + \
'(foo = %(foo)s) AND (active = %(active)s)'
expected2 = 'SELECT active, foo FROM sometable WHERE ' + \
'(active = %(active)s) AND (foo = %(foo)s)'
self.assertEquals(actual, expected)
self.assertIn(actual, (expected1, expected2))
proc.set(onething='another')
proc.rawset(something='something else')