Autopilot subunit output breaks in python 3.4

Bug #1284784 reported by Thomi Richards
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Autopilot
Fix Released
Critical
Unassigned
autopilot (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Failing autopilot functional test under python 3:

----
$ python3.3 -m autopilot.run run -v autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file
08:25:54.000 INFO run:65 - Autopilot Source Version: 1.4.0
Loading tests from: /home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output

Tests running...
08:25:54.048 INFO globals:57 - ************************************************************
08:25:54.048 INFO globals:58 - Starting test autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file (text_format)
08:25:54.048 WARNING testcase:115 - No tracing available - install the python-autopilot-trace package!
08:25:54.101 INFO __init__:95 - Starting autopilot command with:
08:25:54.101 INFO __init__:96 - Autopilot command = /usr/bin/python3.3 -m autopilot.run
08:25:54.101 INFO __init__:97 - Arguments = ['run', '-o', '/tmp/tmpmbjrax', '-f', 'subunit', 'tests']
08:25:54.101 INFO __init__:98 - CWD = '/tmp/tmp0315jn'
08:25:54.389 ERROR testresult:43 - FAIL: autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file(text_format)
08:25:54.390 ERROR testresult:43 - traceback: {{{
Traceback (most recent call last):
  File "./autopilot/tests/functional/test_autopilot_functional.py", line 663, in test_can_create_subunit_result_file
    self.assertThat(code, Equals(0))
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 406, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 0 != 1
}}}
08:25:54.390 ERROR testresult:43 - retcode: {{{
1}}}
08:25:54.390 ERROR testresult:43 - stderr: {{{
Traceback (most recent call last):
  File "/usr/lib/python3.3/runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python3.3/runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 572, in <module>
    main()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 568, in main
    test_app.run()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 455, in run
    self.run_tests()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 521, in run_tests
    test_result = test_suite.run(result)
  File "/usr/lib/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib/python3.3/unittest/case.py", line 491, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3/dist-packages/testscenarios/testcase.py", line 65, in run
    return super(WithScenarios, self).run(result)
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 568, in run
    return self.__RunTest(self, self.exception_handlers).run(result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 74, in run
    return self._run_one(actual_result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 88, in _run_one
    return self._run_prepared_result(ExtendedToOriginalDecorator(result))
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 96, in _run_prepared_result
    result.startTest(self.case)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1247, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1530, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1316, in startTest
    self.status(test_id=test.id(), test_status='inprogress', timestamp=self._now())
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 411, in status
    domap(methodcaller('status', *args, **kwargs), self.targets)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 386, in domap
    return list(map(*args, **kwargs))
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 118, in status
    route_code=route_code, timestamp=timestamp)
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 214, in _write_packet
    FMT_32, zlib.crc32(content) & 0xffffffff))
ValueError: write to closed file
}}}
08:25:54.391 ERROR testresult:43 - stdout: {{{
Loading tests from: /tmp/tmp0315jn

}}}
08:25:54.392 ERROR testresult:43 - /var/log/syslog: {{{
}}}
08:25:54.392 ERROR testresult:43 - base path: {{{
/tmp/tmp0315jn}}}
08:25:54.393 INFO globals:57 - ************************************************************
08:25:54.393 INFO globals:58 - Starting test autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file (xml_format)
08:25:54.394 WARNING testcase:115 - No tracing available - install the python-autopilot-trace package!
08:25:54.410 INFO __init__:95 - Starting autopilot command with:
08:25:54.410 INFO __init__:96 - Autopilot command = /usr/bin/python3.3 -m autopilot.run
08:25:54.410 INFO __init__:97 - Arguments = ['run', '-o', '/tmp/tmpa9mjds', '-f', 'subunit', 'tests']
08:25:54.410 INFO __init__:98 - CWD = '/tmp/tmp37z6jg'
08:25:54.681 ERROR testresult:43 - FAIL: autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file(xml_format)
08:25:54.682 ERROR testresult:43 - retcode: {{{
1}}}
08:25:54.682 ERROR testresult:43 - stderr: {{{
Traceback (most recent call last):
  File "/usr/lib/python3.3/runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python3.3/runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 572, in <module>
    main()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 568, in main
    test_app.run()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 455, in run
    self.run_tests()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 521, in run_tests
    test_result = test_suite.run(result)
  File "/usr/lib/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib/python3.3/unittest/case.py", line 491, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3/dist-packages/testscenarios/testcase.py", line 65, in run
    return super(WithScenarios, self).run(result)
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 568, in run
    return self.__RunTest(self, self.exception_handlers).run(result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 74, in run
    return self._run_one(actual_result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 88, in _run_one
    return self._run_prepared_result(ExtendedToOriginalDecorator(result))
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 96, in _run_prepared_result
    result.startTest(self.case)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1247, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1530, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1316, in startTest
    self.status(test_id=test.id(), test_status='inprogress', timestamp=self._now())
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 411, in status
    domap(methodcaller('status', *args, **kwargs), self.targets)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 386, in domap
    return list(map(*args, **kwargs))
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 118, in status
    route_code=route_code, timestamp=timestamp)
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 214, in _write_packet
    FMT_32, zlib.crc32(content) & 0xffffffff))
ValueError: write to closed file
}}}
08:25:54.684 ERROR testresult:43 - stdout: {{{
Loading tests from: /tmp/tmp37z6jg

}}}
08:25:54.684 ERROR testresult:43 - /var/log/syslog: {{{
}}}
08:25:54.685 ERROR testresult:43 - traceback-1: {{{
Traceback (most recent call last):
  File "./autopilot/tests/functional/test_autopilot_functional.py", line 663, in test_can_create_subunit_result_file
    self.assertThat(code, Equals(0))
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 406, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 0 != 1
}}}
08:25:54.685 ERROR testresult:43 - base path: {{{
/tmp/tmp37z6jg}}}
======================================================================
FAIL: autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file(text_format)
----------------------------------------------------------------------
Empty attachments:
  /var/log/syslog

base path: {{{/tmp/tmp0315jn}}}
retcode: {{{1}}}
stderr: {{{
Traceback (most recent call last):
  File "/usr/lib/python3.3/runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python3.3/runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 572, in <module>
    main()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 568, in main
    test_app.run()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 455, in run
    self.run_tests()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 521, in run_tests
    test_result = test_suite.run(result)
  File "/usr/lib/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib/python3.3/unittest/case.py", line 491, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3/dist-packages/testscenarios/testcase.py", line 65, in run
    return super(WithScenarios, self).run(result)
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 568, in run
    return self.__RunTest(self, self.exception_handlers).run(result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 74, in run
    return self._run_one(actual_result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 88, in _run_one
    return self._run_prepared_result(ExtendedToOriginalDecorator(result))
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 96, in _run_prepared_result
    result.startTest(self.case)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1247, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1530, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1316, in startTest
    self.status(test_id=test.id(), test_status='inprogress', timestamp=self._now())
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 411, in status
    domap(methodcaller('status', *args, **kwargs), self.targets)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 386, in domap
    return list(map(*args, **kwargs))
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 118, in status
    route_code=route_code, timestamp=timestamp)
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 214, in _write_packet
    FMT_32, zlib.crc32(content) & 0xffffffff))
ValueError: write to closed file
}}}

stdout: {{{Loading tests from: /tmp/tmp0315jn}}}
test-log: {{{
08:25:54.048 INFO globals:57 - ************************************************************
08:25:54.048 INFO globals:58 - Starting test autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file (text_format)
08:25:54.048 WARNING testcase:115 - No tracing available - install the python-autopilot-trace package!
08:25:54.101 INFO __init__:95 - Starting autopilot command with:
08:25:54.101 INFO __init__:96 - Autopilot command = /usr/bin/python3.3 -m autopilot.run
08:25:54.101 INFO __init__:97 - Arguments = ['run', '-o', '/tmp/tmpmbjrax', '-f', 'subunit', 'tests']
08:25:54.101 INFO __init__:98 - CWD = '/tmp/tmp0315jn'
}}}

Traceback (most recent call last):
  File "./autopilot/tests/functional/test_autopilot_functional.py", line 663, in test_can_create_subunit_result_file
    self.assertThat(code, Equals(0))
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 406, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 0 != 1
======================================================================
FAIL: autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file(xml_format)
----------------------------------------------------------------------
Empty attachments:
  /var/log/syslog

base path: {{{/tmp/tmp37z6jg}}}
retcode: {{{1}}}
stderr: {{{
Traceback (most recent call last):
  File "/usr/lib/python3.3/runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python3.3/runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 572, in <module>
    main()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 568, in main
    test_app.run()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 455, in run
    self.run_tests()
  File "/home/thomi/code/canonical/autopilot/trunk-fix-subunit-py3-output/autopilot/run.py", line 521, in run_tests
    test_result = test_suite.run(result)
  File "/usr/lib/python3.3/unittest/suite.py", line 105, in run
    test(result)
  File "/usr/lib/python3.3/unittest/case.py", line 491, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python3/dist-packages/testscenarios/testcase.py", line 65, in run
    return super(WithScenarios, self).run(result)
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 568, in run
    return self.__RunTest(self, self.exception_handlers).run(result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 74, in run
    return self._run_one(actual_result)
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 88, in _run_one
    return self._run_prepared_result(ExtendedToOriginalDecorator(result))
  File "/usr/lib/python3/dist-packages/testtools/runtest.py", line 96, in _run_prepared_result
    result.startTest(self.case)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1247, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1530, in startTest
    return self.decorated.startTest(test)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 1316, in startTest
    self.status(test_id=test.id(), test_status='inprogress', timestamp=self._now())
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 411, in status
    domap(methodcaller('status', *args, **kwargs), self.targets)
  File "/usr/lib/python3/dist-packages/testtools/testresult/real.py", line 386, in domap
    return list(map(*args, **kwargs))
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 118, in status
    route_code=route_code, timestamp=timestamp)
  File "/usr/lib/python3/dist-packages/subunit/v2.py", line 214, in _write_packet
    FMT_32, zlib.crc32(content) & 0xffffffff))
ValueError: write to closed file
}}}

stdout: {{{Loading tests from: /tmp/tmp37z6jg}}}
test-log: {{{
08:25:54.393 INFO globals:57 - ************************************************************
08:25:54.393 INFO globals:58 - Starting test autopilot.tests.functional.test_autopilot_functional.AutopilotVerboseFunctionalTests.test_can_create_subunit_result_file (xml_format)
08:25:54.394 WARNING testcase:115 - No tracing available - install the python-autopilot-trace package!
08:25:54.410 INFO __init__:95 - Starting autopilot command with:
08:25:54.410 INFO __init__:96 - Autopilot command = /usr/bin/python3.3 -m autopilot.run
08:25:54.410 INFO __init__:97 - Arguments = ['run', '-o', '/tmp/tmpa9mjds', '-f', 'subunit', 'tests']
08:25:54.410 INFO __init__:98 - CWD = '/tmp/tmp37z6jg'
}}}

traceback-1: {{{
Traceback (most recent call last):
  File "./autopilot/tests/functional/test_autopilot_functional.py", line 663, in test_can_create_subunit_result_file
    self.assertThat(code, Equals(0))
  File "/usr/lib/python3/dist-packages/testtools/testcase.py", line 406, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: 0 != 1
}}}

Ran 2 tests in 0.639s
FAILED (failures=2)
----

Related branches

Changed in autopilot:
status: In Progress → Fix Released
Changed in autopilot (Ubuntu):
status: New → 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.