Moving to newer Python versions
Contents
With Lucid fast approaching, efforts to actually migrate Launchpad to Python 2.6 are getting under way.
Relevant tagged bugs: https://bugs.launchpad.net/launchpad-foundations/+bugs?field.tag=python-upgrade
Branches
Obsolete branches from the last push, which got us to 2.5
https://code.launchpad.net/~launchpad-committers/launchpad/python-migration2.6 is the incomplete work done on Python 2.6 compatibility mixed with ZTK upgrade work since cherrypicked and landed.
https://code.launchpad.net/~launchpad-committers/launchpad/python-migration2.6-rebased is the above rebased on recent devel dropping then-empty revisions.
Remaining useful content of these branches:
shebang updates / Makefile PYTHON_VERSION updates all over the place -- redone in salgado's branch below
Deprecation warning suppression. -- cherrypicked into salgado's branch below
versions.cfg change: lazr.smtptest = 1.2 -- disregarded, there is no known reason why this was Python 2.6 related
The new effort
https://code.launchpad.net/~salgado/launchpad/real-python-2.6 -- the most current work so far.
Known/Open issues
Setup caveat
The extension modules in your sourcecode directory will have been built for Python 2.5 and these will break for your 2.6 branch. The simple thing to do is to move your old sourcecode aside and run utilities/rocketfuel-get to get it again with Python 2.6. A more complex but useful thing to do to manage sourcecode directories for multiple python versions is:
cd ~/launchpad/lp-sourcedeps mkdir 2.6 cd 2.6 ln -s ../download-cache ln -s ../eggs mkdir sourcecode cd sourcecode for i in ../../sourcecode/*; do bzr checkout --lightweight "$i"; done
and now point utilities/link-external-sourcecode to ../../lp-sourcedeps/2.6 - if you do that you'll need to be aware that rocketfuel-get won't know about it, and your extra directories will require occasional manual updating.
Cleanup potential
- Is there any reason we need ipython-0.9.1-py2.5.egg in egg, not tarball, form?
- Presumably we could bin the wadllib 0.1 eggs too.
Eventually we should get rid of all the scripts hardcoded /usr/bin/pythonX.Y and use buildout's shebang munging.
scripts/branch-rewrite.py uses /usr/bin/pythonX.Y -u. We should figure out if this is significant and why this script has to be different from other scripts.
scripts/ftpmaster-tools/_syncorigins.py uses /usr/bin/env pythonX.Y... why?!
cronscripts/mirror-prober.sh and cronscripts/nightly.sh are invoking python scripts with explicit interpreters. Why are they not using the shebangs? This leads to versions being defined in two places.
Situation
A multitude of modules of modules (sha, md5, sets, ...) are deprecated in Python 2.6, and many tests would fail merely because of unexpected DeprecationWarnings, so we've had to jump through multiple hoops all over the place to suppress these. Ultimately we need a plan for removing these suppressions, because we want to know about deprecation long-term.
Known test failures and notes thereon
BaseLayer: OK (281 tests)
MemcachedLayer: OK (8 tests)
LibrarianLayer: OK (9 tests)
DatabaseLayer: OK (46 tests)
LaunchpadLayer: OK (24 tests)
ZopelessLayer: OK (20 tests)
LaunchpadScriptLayer:
test_initZopelessTwice (canonical.lp.ftests.test_zopeless.TestInitZopeless)
Error in test test_initZopelessTwice (canonical.lp.ftests.test_zopeless.TestInitZopeless) Traceback (most recent call last): File "/usr/lib/python2.6/unittest.py", line 279, in run testMethod() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/lp/ftests/test_zopeless.py", line 45, in test_initZopelessTwice dbuser='launchpad') File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/lp/__init__.py", line 84, in initZopeless dbname=dbname, dbhost=dbhost, dbuser=dbuser, isolation=isolation) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/database/sqlbase.py", line 336, in initZopeless warnings.warn(alreadyInstalledMsg, stacklevel=3) UserWarning: A ZopelessTransactionManager with these settings is already installed. This is probably caused by calling initZopeless twice.
LaunchpadZopelessLayer:
- test_generateConfig (lp.archivepublisher.tests.test_ftparchive.TestFTPArchive): Is benign, caused by apt-ftparchive generating SHA-1 and SHA-256 checksums in more places in Lucid.
test_bug_496988 (lp.bugs.scripts.tests.test_checkwatches.TestCheckwatchesWithSyncableGnomeProducts)
Traceback (most recent call last): _StringException: Text attachment: traceback ------------ Traceback (most recent call last): File "/home/maxb/launchpad/lp-sourcedeps/eggs/testtools-0.9.2-py2.6.egg/testtools/runtest.py", line 128, in _run_user return fn(*args) File "/home/maxb/launchpad/lp-sourcedeps/eggs/testtools-0.9.2-py2.6.egg/testtools/testcase.py", line 368, in _run_test_method testMethod() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/scripts/tests/test_checkwatches.py", line 109, in test_bug_496988 gnome_bugzilla, [bug_watch_1, bug_watch_2]) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/scripts/checkwatches/updater.py", line 522, in _getExternalBugTrackersAndWatches remote_bug_ids)) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/externalbugtracker/bugzilla.py", line 617, in getProductsForRemoteBugs self.initializeRemoteBugDB(bug_ids) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/externalbugtracker/isolation.py", line 64, in wrapper return func(*args, **kwargs) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/externalbugtracker/bugzilla.py", line 568, in initializeRemoteBugDB 'permissive': True, File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request verbose=self.__verbose File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/bugs/externalbugtracker/xmlrpc.py", line 98, in request response = self._parse_response(self.opener.open(request), None) File "/usr/lib/python2.6/xmlrpclib.py", line 1392, in _parse_response return u.close() File "/usr/lib/python2.6/xmlrpclib.py", line 838, in close raise Fault(**self._stack[0]) Fault: <Fault Client: "Content-Type must be 'text/xml,' 'multipart/*,' or 'application/dime' instead of 'application/x-www-form-urlencoded'"> ------------
- lib/lp/soyuz/tests/../doc/manage-chroot.txt is benign, Python 2.6 changed exception message format
lib/canonical/launchpad/ftests/../../../lp/bugs/tests/bugs-emailinterface.txt
Failure in test lib/canonical/launchpad/ftests/../../../lp/bugs/tests/bugs-emailinterface.txt Failed doctest test for bugs-emailinterface.txt File "lib/canonical/launchpad/ftests/../../../lp/bugs/tests/bugs-emailinterface.txt", line 0 ---------------------------------------------------------------------- File "lib/canonical/launchpad/ftests/../../../lp/bugs/tests/bugs-emailinterface.txt", line 2808, in bugs-emailinterface.txt Failed example: print_attachments(get_latest_added_bug().attachments) Differences (ndiff with -expected +actual): - LibraryFileAlias unnamed image/jpeg; name="image.jpg" UNSPECIFIED ? ^^^ ^ ^ + LibraryFileAlias image.jpg image/jpeg; name="image.jpg" UNSPECIFIED ? ^^ ^ ^^^^ this is not a real JPG file LibraryFileAlias sourcefile.diff text/x-diff; name="sourcefile1.diff" PATCH this should be diff output.
lib/canonical/launchpad/ftests/../doc/emailauthentication.txt
Failure in test lib/canonical/launchpad/ftests/../doc/emailauthentication.txt Failed doctest test for emailauthentication.txt File "lib/canonical/launchpad/ftests/../doc/emailauthentication.txt", line 0 ---------------------------------------------------------------------- File "lib/canonical/launchpad/ftests/../doc/emailauthentication.txt", line 150, in emailauthentication.txt Failed example: print msg.as_string() #doctest: -NORMALIZE_WHITESPACE Differences (ndiff with -expected +actual): - Date:... - ... + Date: Wed, 13 Apr 2005 19:18:42 -0400 + From: Sample Person <test@canonical.com> + To: someone@somhost + Subject: Signed Email + Message-ID: <20050413231842.GB16989@localhost.localdomain> + Mime-Version: 1.0 + Content-Type: multipart/signed; micalg=pgp-sha1; + protocol="application/pgp-signature"; boundary="8NvZYKFJsRX2Djef" + Content-Disposition: inline + Status: RO + <BLANKLINE> + <BLANKLINE> + --8NvZYKFJsRX2Djef + Content-Type: multipart/mixed; - Content-Type: multipart/mixed; boundary="--------------------EuxKj2iCbKjpUGkD" ? ------------------------------ + boundary="--------------------EuxKj2iCbKjpUGkD" - ... + Content-Disposition: inline + <BLANKLINE> + <BLANKLINE> + ----------------------EuxKj2iCbKjpUGkD + Content-Type: text/plain; charset=us-ascii + Content-Disposition: inline + <BLANKLINE> + Some signed content. + <BLANKLINE> + ----------------------EuxKj2iCbKjpUGkD + Content-Type: text/plain; charset=us-ascii + Content-Disposition: attachment; filename="test.txt" + <BLANKLINE> + A signed attachment. + <BLANKLINE> + ----------------------EuxKj2iCbKjpUGkD-- + <BLANKLINE> + --8NvZYKFJsRX2Djef + Content-Type: application/pgp-signature; name="signature.asc" + Content-Description: Digital signature + Content-Disposition: inline + -----BEGIN PGP SIGNATURE----- + Version: GnuPG v1.4.1 (GNU/Linux) + <BLANKLINE> + iD8DBQBDoAFKuiuTid/SBUMRAvzNAKCPHJgldGMFXh5SvKEufqB8N6IkoACdEu+8 + Go2JWmGWaY8Nqquwk/Tr0pU= + =OhN7 + -----END PGP SIGNATURE----- + <BLANKLINE> + --8NvZYKFJsRX2Djef-- + <BLANKLINE> + <BLANKLINE> + <BLANKLINE> + <BLANKLINE>
- lib/canonical/launchpad/ftests/../doc/incomingmail.txt is benign, Python 2.6 changed exception message format
FunctionalLayer: OK (174 tests)
LaunchpadFunctionalLayer:
- lib/canonical/launchpad/ftests/../doc/gpghandler.txt is benign, Python 2.6 changed exception message format
lib/canonical/launchpad/ftests/../doc/profiling.txt
Failed doctest test for profiling.txt File "lib/canonical/launchpad/ftests/../doc/profiling.txt", line 0 ---------------------------------------------------------------------- File "lib/canonical/launchpad/ftests/../doc/profiling.txt", line 43, in profiling.txt Failed example: http = HTTPCaller(host='launchpad.dev') Exception raised: Traceback (most recent call last): File "/home/maxb/launchpad/lp-sourcedeps/eggs/zope.testing-3.8.1-py2.6.egg/zope/testing/doctest.py", line 1361, in __run compileflags, 1) in test.globs File "<doctest profiling.txt[line 43, example 12]>", line 1, in <module> http = HTTPCaller(host='launchpad.dev') File "/home/maxb/launchpad/lp-sourcedeps/eggs/zope.app.testing-3.7.3-py2.6.egg/zope/app/testing/functional.py", line 414, in __init__ super(CookieHandler, self).__init__(*args, **kw) TypeError: object.__init__() takes no parameters ----------------------------------------------------------------------
lib/canonical/launchpad/scripts/ftests/librarianformatter.txt is being broken by DeprecationWarnings (from cscvs and canonical.uuid)
valid_absolute_url (canonical.launchpad.validators.url)
Failure in test valid_absolute_url (canonical.launchpad.validators.url) Traceback (most recent call last): File "/usr/lib/python2.6/unittest.py", line 279, in run testMethod() File "/usr/lib/python2.6/doctest.py", line 2152, in runTest raise self.failureException(self.format_failure(new.getvalue())) AssertionError: Failed doctest test for canonical.launchpad.validators.url.valid_absolute_url File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/launchpad/validators/url.py", line 11, in valid_absolute_url ---------------------------------------------------------------------- File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/launchpad/validators/url.py", line 24, in canonical.launchpad.validators.url.valid_absolute_url Failed example: valid_absolute_url('whatever://example.com/blah') Expected: False Got: True
- lib/lp/soyuz/tests/../doc/buildd-dispatching.txt is benign, Python 2.6 changed exception message format
lib/lp/soyuz/tests/../doc/buildd-sequencer.txt - DeprecationWarning: the MimeWriter module is deprecated; use the email package instead
lib/lp/soyuz/tests/../doc/initialise-from-parent.txt - assertion SyntaxWarning, maxb has a branch concerning this
- lib/lp/soyuz/tests/../doc/soyuz-upload.txt - Is benign, caused by apt-ftparchive generating SHA-1 and SHA-256 checksums in more places in Lucid.
- lib/lp/translations/tests/../doc/poexport-language-pack.txt - looks awfully familiar from the 2.5 migration and is most likely due to atrocious compatibility of the tarfile module across versions, w.r.t. slashes on the end of directory names.
- lib/lp/translations/tests/../doc/poexport-request-productseries.txt - ditto
- lib/lp/translations/tests/../doc/poexport-request.txt - ditto
- lib/lp/translations/tests/../doc/potemplate.txt - ditto
- lib/lp/translations/utilities/tests/../doc/gettext_mo_exporter.txt - ditto
- lib/lp/translations/utilities/tests/../doc/launchpad_write_tarfile.txt - ditto
AppServerLayer: OK (143 tests)
DatabaseFunctionalLayer: OK (4408 tests) (community)
DatabaseFunctionalLayer - shipit/c-i-p:
lib/canonical/shipit/tests/../doc/shipit-process-requests.txt
Failure in test lib/canonical/shipit/tests/../doc/shipit-process-requests.txt Failed doctest test for shipit-process-requests.txt File "lib/canonical/shipit/tests/../doc/shipit-process-requests.txt", line 0 ---------------------------------------------------------------------- File "lib/canonical/shipit/tests/../doc/shipit-process-requests.txt", line 96, in shipit-process-requests.txt Failed example: out, err Differences (ndiff with -expected +actual): - ('', '') + ('', '/home/barry/projects/launchpad/python-migration2.6/lib/cscvs/dircompare/dirsums.py:18: DeprecationWarning: the md5 module is deprecated; use hashlib instead\n import md5\n/home/barry/projects/launchpad/python-migration2.6/lib/canonical/uuid.py:10: DeprecationWarning: the sha module is deprecated; use the hashlib module instead\n import time, random, subprocess, thread, sha\n')
canonical.signon.browser.tests.test_openidserver.OpenIDMixin_checkTeamMembership_TestCase.test_full_fledged_account
Error in test canonical.signon.browser.tests.test_openidserver.OpenIDMixin_checkTeamMembership_TestCase.test_full_fledged_account Traceback (most recent call last): File "/home/barry/projects/launchpad/python-migration2.6/lib/lp/testing/__init__.py", line 390, in run self.setUp() File "/home/barry/projects/launchpad/python-migration2.6/lib/canonical/signon/browser/tests/test_openidserver.py", line 268, in setUp self.openid_mixin = CheckTeamMembershipTest(None, self.request) File "/home/barry/projects/launchpad/python-migration2.6/lib/canonical/signon/browser/openidserver.py", line 101, in __init__ super(OpenIDMixin, self).__init__(context, request) TypeError: object.__init__() takes no parameters
canonical.signon.browser.tests.test_openidserver.OpenIDMixin_checkTeamMembership_TestCase.test_personless_account
Error in test canonical.signon.browser.tests.test_openidserver.OpenIDMixin_checkTeamMembership_TestCase.test_personless_account Traceback (most recent call last): File "/home/barry/projects/launchpad/python-migration2.6/lib/lp/testing/__init__.py", line 390, in run self.setUp() File "/home/barry/projects/launchpad/python-migration2.6/lib/canonical/signon/browser/tests/test_openidserver.py", line 268, in setUp self.openid_mixin = CheckTeamMembershipTest(None, self.request) File "/home/barry/projects/launchpad/python-migration2.6/lib/canonical/signon/browser/openidserver.py", line 101, in __init__ super(OpenIDMixin, self).__init__(context, request) TypeError: object.__init__() takes no parameters
- lots more of those
lib/canonical/signon/browser/tests/loginservice-unauthorized-view.txt
Failure in test lib/canonical/signon/browser/tests/loginservice-unauthorized-view.txt Failed doctest test for loginservice-unauthorized-view.txt File "lib/canonical/signon/browser/tests/loginservice-unauthorized-view.txt", line 0 ---------------------------------------------------------------------- File "lib/canonical/signon/browser/tests/loginservice-unauthorized-view.txt", line 39, in loginservice-unauthorized-view.txt Failed example: browser.open('http://openid.launchpad.dev/+edit') Differences (ndiff with -expected +actual): - ERROR:...
GoogleLaunchpadFunctionalLayer: LAYER FAILURE:
Set up canonical.testing.layers.GoogleServiceLayer Traceback (most recent call last): File "/home/maxb/launchpad/lp-sourcedeps/eggs/zope.testing-3.8.1-py2.6.egg/zope/testing/testrunner/runner.py", line 364, in run_layer setup_layer(options, layer, setup_layers) File "/home/maxb/launchpad/lp-sourcedeps/eggs/zope.testing-3.8.1-py2.6.egg/zope/testing/testrunner/runner.py", line 624, in setup_layer setup_layer(options, base, setup_layers) File "/home/maxb/launchpad/lp-sourcedeps/eggs/zope.testing-3.8.1-py2.6.egg/zope/testing/testrunner/runner.py", line 629, in setup_layer layer.setUp() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/testing/layers.py", line 1133, in setUp google.setUp() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/launchpad/testing/tests/googleserviceharness.py", line 76, in setUp self.startService() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/launchpad/testing/tests/googleserviceharness.py", line 88, in startService googletestservice.wait_for_service() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/canonical/launchpad/testing/googletestservice.py", line 126, in wait_for_service sock.connect((host, port)) File "<string>", line 1, in connect error: [Errno 103] Software caused connection abort
PageTestLayer:
- Google service layer failure again
TwistedLayer: OK (235 tests)
TwistedLaunchpadZopelessLayer: OK (16 tests)
TwistedAppServerLayer:
test_import_hg (lp.codehosting.codeimport.tests.test_workermonitor.TestWorkerMonitorIntegration)
Failure in test test_import_hg (lp.codehosting.codeimport.tests.test_workermonitor.TestWorkerMonitorIntegration) Traceback (most recent call last): File "/home/maxb/launchpad/lp-sourcedeps/eggs/Twisted-10.0.0-py2.6-linux-x86_64.egg/twisted/internet/defer.py", line 371, in _runCallbacks self.result = callback(self.result, *args, **kw) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/tests/test_workermonitor.py", line 674, in assertImported self.assertCodeImportResultCreated(code_import) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/tests/test_workermonitor.py", line 657, in assertCodeImportResultCreated self.assertEqual(result.status, CodeImportResultStatus.SUCCESS) File "/home/maxb/launchpad/lp-sourcedeps/eggs/Twisted-10.0.0-py2.6-linux-x86_64.egg/twisted/trial/unittest.py", line 287, in failUnlessEqual % (msg, pformat(first), pformat(second))) FailTest: not equal: a = <DBItem CodeImportResultStatus.FAILURE, (200) Failure> b = <DBItem CodeImportResultStatus.SUCCESS, (100) Success>
test_import_hg (lp.codehosting.codeimport.tests.test_workermonitor.TestWorkerMonitorIntegrationScript) - ditto
lp.codehosting.puller.tests.test_scheduler.TestPullerMasterIntegration.test_lock_with_magic_id - DeprecationWarning from cscvs
test_mirror_with_destination_locked_by_another (lp.codehosting.puller.tests.test_scheduler.TestPullerMasterIntegration) - ditto
ZopelessAppServerLayer:
lp.codehosting.puller.tests.test_acceptance.TestBranchPuller.test_mirror_hosted_loom_branch - TEST HUNG!
TEST RUN INCOMPLETE - Following layers run manually individually or not at all (???)
ZopelessDatabaseLayer
test_templates_tarball (canonical.buildd.tests.test_generate_translation_templates.TestGenerateTranslationTemplates) - I am somewhat suspicious that this might be the fault of the tarfile module too.
BugsWindmillLayer: ???
CodeWindmillLayer: ???
ForeignBranchPluginLayer:
test_import (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
Error in test test_import (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport) Traceback (most recent call last): _StringException: Text attachment: log ------------ 39.627 bzr-hg: using Mercurial 1.3.1 39.628 creating repository in file:///var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/. 39.630 creating branch <bzrlib.branch.BzrBranchFormat7 object at 0x3197490> in file:///var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/ 39.637 trying to create missing lock '/var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/checkout/dirstate' 39.637 opening working tree '/var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree' 39.641 bzr-hg: using Mercurial 1.3.1 39.644 bzr-hg: using Mercurial 1.3.1 39.644 bzr-hg: using Mercurial 1.3.1 39.645 bzr-hg: using Mercurial 1.3.1 39.646 creating repository in file:///tmp/testbzr-SAHgvG.tmp/lp.codehosting.codeimport.tests.test_worker.TestMercurialImport.test_import/work/bazaar_store/00000001/.bzr/. 39.649 creating branch <bzrlib.branch.BzrBranchFormat7 object at 0x3197490> in file:///tmp/testbzr-SAHgvG.tmp/lp.codehosting.codeimport.tests.test_worker.TestMercurialImport.test_import/work/bazaar_store/00000001/.bzr/ 39.654 Using fetch logic to copy between CHKInventoryRepository('file:///var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/repository/')(<RepositoryFormat2a>) and CHKInventoryRepository('file:///tmp/testbzr-SAHgvG.tmp/lp.codehosting.codeimport.tests.test_worker.TestMercurialImport.test_import/work/bazaar_store/00000001/.bzr/repository/')(<RepositoryFormat2a>) 39.654 fetch up to rev {None} 39.655 bzr-hg: using Mercurial 1.3.1 39.655 bzr-hg: using Mercurial 1.3.1 39.661 bzr-hg: using Mercurial 1.3.1 39.671 examining 3382fd51dc44:3382fd51dc44 39.671 found new changeset 3382fd51dc44 39.684 Using fetch logic to copy between CHKInventoryRepository('file:///var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/repository/')(<RepositoryFormat2a>) and CHKInventoryRepository('file:///tmp/testbzr-SAHgvG.tmp/lp.codehosting.codeimport.tests.test_worker.TestMercurialImport.test_import/work/bazaar_store/00000001/.bzr/repository/')(<RepositoryFormat2a>) 39.684 fetch up to rev {hg-v1:3382fd51dc448abc95fcbd7d489d0d0ff7011db3} 39.693 Using fetch logic to copy between CHKInventoryRepository('file:///var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/repository/')(<RepositoryFormat2a>) and CHKInventoryRepository('file:///tmp/testbzr-SAHgvG.tmp/lp.codehosting.codeimport.tests.test_worker.TestMercurialImport.test_import/work/bazaar_store/00000001/.bzr/repository/')(<RepositoryFormat2a>) 39.693 fetch up to rev {None} ------------ Text attachment: traceback ------------ Traceback (most recent call last): File "/home/maxb/launchpad/lp-sourcedeps/eggs/testtools-0.9.2-py2.6.egg/testtools/runtest.py", line 128, in _run_user return fn(*args) File "/home/maxb/launchpad/lp-sourcedeps/eggs/testtools-0.9.2-py2.6.egg/testtools/testcase.py", line 368, in _run_test_method testMethod() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/tests/test_worker.py", line 696, in test_import worker.run() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/worker.py", line 421, in run return self._doImport() File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/worker.py", line 555, in _doImport self.pushBazaarWorkingTree(bazaar_tree) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/worker.py", line 649, in pushBazaarWorkingTree self.db_file, bazaar_tree.branch.repository._transport) File "/home/maxb/launchpad/lp-branches/real-python-2.6/lib/lp/codehosting/codeimport/worker.py", line 273, in put local_file = source_transport.get(filename) File "/home/maxb/launchpad/lp-sourcedeps/eggs/bzr-2.1.0-py2.6-linux-x86_64.egg/bzrlib/transport/local.py", line 167, in get self._translate_error(e, path) File "/home/maxb/launchpad/lp-sourcedeps/eggs/bzr-2.1.0-py2.6-linux-x86_64.egg/bzrlib/transport/__init__.py", line 308, in _translate_error raise errors.NoSuchFile(path, extra=e) NoSuchFile: No such file: u'/var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/repository/hg-v2.db': [Errno 2] No such file or directory: u'/var/tmp/codeimport/data/worker-for-branch-1/bzr_working_tree/.bzr/repository/hg-v2.db' ------------
test_import_script (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
test_script_exit_codes (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
test_sync (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
- SSHServerLayer: OK (46 tests)
RegistryWindmillLayer: ???
SoyuzWindmillLayer: ???
TestZopeTestInSubProcessLayer: OK (1 test)
TranslationsWindmillLayer: ???
UnitTests:
- make_test_tarball_2 (canonical.launchpad.tests.test_helpers) -- iiiiiiiiit's tarfile again!
- _enable_bzr_ssh_in_urlparse (canonical.launchpad.webapp.url) -- I think this is a benign change in the stdlib's urlsplit
- urlparse (canonical.launchpad.webapp.url) -- ditto
- urlsplit (canonical.launchpad.webapp.url) -- ditto
- lib/canonical/lazr/tests/../doc/timeout.txt -- benign change in exception message string
testBadDebianChangelog (lp.archiveuploader.tests.test_dscfile.TestDscFile)
-- DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
testBadDebianCopyright (lp.archiveuploader.tests.test_dscfile.TestDscFile)
testOversizedFile (lp.archiveuploader.tests.test_dscfile.TestDscFile)
test_script (lp.translations.scripts.tests.test_validate_translations_file.TestValidateTranslationsFile)
-- AssertionError: 0 != 1 -- yes that really tells me what was wrong... not
- lib/lp/translations/tests/../doc/remove-upstream-translations-script.txt