#4564 fix unit tests for rhel8
Opened by mikem. Modified
mikem/koji fix-rhel8-tests  into  master

Download 4564.patch

Fix a number of issues that cause some tests to fail on rhel8

  • older os.path.join complains about MagicMock objects
  • older mock doesn't support .args or .kwargs attributes
  • the api_compat test is fragile across wide version gaps

Fixes #4565

@jlibrova

:thumbsup: but I see one more test case which is failing on RHEL8:

_________________________ TestPages.test_web_handlers __________________________
[gw0] linux -- Python 3.6.8 /root/koji/.tox/py3/bin/python
self = <tests.test_www.test_pages.TestPages testMethod=test_web_handlers>
    def test_web_handlers(self):
        """Test a bunch of web handlers"""
        for method, query in self.CALLS:
            handler, data, environ = self.prep_handler(method, query)
>           result = handler(environ, **data)
tests/test_www/test_pages.py:215: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
www/kojiweb/index.py:1528: in builds
    return _genHTML(environ, 'builds.html.j2')
www/lib/kojiweb/util.py:194: in _genHTML
    template = env.get_template(fileName)
/usr/lib/python3.6/site-packages/jinja2/environment.py:830: in get_template
    return self._load_template(name, self.make_globals(globals))
/usr/lib/python3.6/site-packages/jinja2/environment.py:804: in _load_template
    template = self.loader.load(self, name, globals)
/usr/lib/python3.6/site-packages/jinja2/loaders.py:125: in load
    code = environment.compile(source, name, filename)
/usr/lib/python3.6/site-packages/jinja2/environment.py:591: in compile
    self.handle_exception(exc_info, source_hint=source_hint)
/usr/lib/python3.6/site-packages/jinja2/environment.py:780: in handle_exception
    reraise(exc_type, exc_value, tb)
/usr/lib/python3.6/site-packages/jinja2/_compat.py:37: in reraise
    raise value.with_traceback(tb)
www/kojiweb/templates/builds.html.j2:13: in template
    #if draft is false
/usr/lib/python3.6/site-packages/jinja2/environment.py:543: in _generate
    optimized=self.optimized)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:82: in generate
    generator.visit(node)
/usr/lib/python3.6/site-packages/jinja2/visitor.py:38: in visit
    return f(node, *args, **kwargs)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:754: in visit_Template
    self.blockvisit(node.body, frame)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:378: in blockvisit
    self.visit(node, frame)
/usr/lib/python3.6/site-packages/jinja2/visitor.py:38: in visit
    return f(node, *args, **kwargs)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:1176: in visit_Macro
    macro_frame, macro_ref = self.macro_body(node, frame)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:575: in macro_body
    self.blockvisit(node.body, frame)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:378: in blockvisit
    self.visit(node, frame)
/usr/lib/python3.6/site-packages/jinja2/visitor.py:38: in visit
    return f(node, *args, **kwargs)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:1157: in visit_If
    self.visit(node.test, if_frame)
/usr/lib/python3.6/site-packages/jinja2/visitor.py:38: in visit
    return f(node, *args, **kwargs)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:70: in new_func
    return f(self, node, frame, **kwargs)
/usr/lib/python3.6/site-packages/jinja2/compiler.py:1607: in visit_Test
    self.fail('no test named %r' % node.name, node.lineno)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <jinja2.compiler.CodeGenerator object at 0x7f38b78cc978>
msg = "no test named 'false'", lineno = 13
    def fail(self, msg, lineno):
        """Fail with a :exc:`TemplateAssertionError`."""
>       raise TemplateAssertionError(msg, lineno, self.name, self.filename)
E       jinja2.exceptions.TemplateAssertionError: no test named 'false'
/usr/lib/python3.6/site-packages/jinja2/compiler.py:315: TemplateAssertionError

Ah, I see it, you fixed this problem in https://pagure.io/koji/pull-request/4563# . So, looks good :thumbsup:

Metadata