Unit test failures when building 4.0.0 debian package

Bug #1493233 reported by Thomas Goirand
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
Jim Rollenhagen

Bug Description

When building the Debian package of Ironic (in Debian Experimental), I get 3 unit test errors:

FAIL: ironic.tests.drivers.test_seamicro.SeaMicroPowerDriverTestCase.test_set_boot_device_fail
ironic.tests.drivers.test_seamicro.SeaMicroPowerDriverTestCase.test_set_boot_device_fail
----------------------------------------------------------------------
_StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mock/mock.py", line 1305, in patched
    return func(*args, **keywargs)
  File "ironic/tests/drivers/test_seamicro.py", line 558, in test_set_boot_device_fail
    task, boot_device)
  File "/usr/lib/python2.7/dist-packages/testtools/testcase.py", line 422, in assertRaises
    self.assertThat(our_callable, matcher)
  File "/usr/lib/python2.7/dist-packages/testtools/testcase.py", line 433, in assertThat
    mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
  File "/usr/lib/python2.7/dist-packages/testtools/testcase.py", line 483, in _matchHelper
    mismatch = matcher.match(matchee)
  File "/usr/lib/python2.7/dist-packages/testtools/matchers/_exception.py", line 108, in match
    mismatch = self.exception_matcher.match(exc_info)
  File "/usr/lib/python2.7/dist-packages/testtools/matchers/_higherorder.py", line 62, in match
    mismatch = matcher.match(matchee)
  File "/usr/lib/python2.7/dist-packages/testtools/testcase.py", line 414, in match
    reraise(*matchee)
  File "/usr/lib/python2.7/dist-packages/testtools/matchers/_exception.py", line 101, in match
    result = matchee()
  File "/usr/lib/python2.7/dist-packages/testtools/testcase.py", line 969, in __call__
    return self._callable_object(*self._args, **self._kwargs)
  File "ironic/conductor/task_manager.py", line 135, in wrapper
    return f(*args, **kwargs)
  File "ironic/drivers/modules/seamicro.py", line 583, in set_boot_device
    {'node': task.node.uuid, 'error': ex.args[0]})
IndexError: tuple index out of range

======================================================================
FAIL: ironic.tests.objects.test_objects.TestUtils.test_obj_to_primitive_list
ironic.tests.objects.test_objects.TestUtils.test_obj_to_primitive_list
----------------------------------------------------------------------
_StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "ironic/tests/objects/test_objects.py", line 146, in test_obj_to_primitive_list
    class MyList(base.ObjectListBase, base.IronicObject):
  File "/usr/lib/python2.7/abc.py", line 87, in __new__
    cls = super(ABCMeta, mcls).__new__(mcls, name, bases, namespace)
TypeError: Error when calling the metaclass bases
    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

======================================================================
FAIL: ironic.tests.objects.test_objects.TestUtils.test_obj_to_primitive_recursive
ironic.tests.objects.test_objects.TestUtils.test_obj_to_primitive_recursive
----------------------------------------------------------------------
_StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "ironic/tests/objects/test_objects.py", line 160, in test_obj_to_primitive_recursive
    class MyList(base.ObjectListBase, base.IronicObject):
  File "/usr/lib/python2.7/abc.py", line 87, in __new__
    cls = super(ABCMeta, mcls).__new__(mcls, name, bases, namespace)
TypeError: Error when calling the metaclass bases
    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

Changed in ironic:
assignee: nobody → Jim Rollenhagen (jim-rollenhagen)
status: New → In Progress
Dmitry Tantsur (divius)
Changed in ironic:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic (master)

Change abandoned by Jim Rollenhagen (<email address hidden>) on branch: master
Review: https://review.openstack.org/221302
Reason: https://review.openstack.org/#/c/217434/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic (master)

Reviewed: https://review.openstack.org/217434
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=fe2c6207f3ca385e9904d591d064232beb3514f1
Submitter: Jenkins
Branch: master

commit fe2c6207f3ca385e9904d591d064232beb3514f1
Author: Clif Houck <email address hidden>
Date: Wed Aug 26 18:05:30 2015 -0500

    Try to standardize retrieval of an Exception's description

    Removes the use of exc.args[0] and exc.format_message() to retrieve
    message strings from exceptions in favor of using six.text_type() to
    maintain compatibility between python 2 and 3. Or through normal type
    coercion. Adds a __unicode__ method to make things more consistent.

    Closes-Bug: #1493233

    Change-Id: I033c00675a62c0ecaf3e3c2e0bed8b4f79a134e1

Changed in ironic:
status: In Progress → Fix Committed
Changed in ironic:
milestone: none → 4.1.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.