Diff for "PythonMigrationStatus"

Not logged in - Log In / Register

Differences between revisions 147 and 190 (spanning 43 versions)
Revision 147 as of 2010-04-14 22:09:11
Size: 25991
Editor: wgrant
Comment: s/has/hash/
Revision 190 as of 2019-07-25 14:47:56
Size: 0
Editor: cjwatson
Comment: Long obsolete; Launchpad now requires Python 2.7
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Moving to newer Python versions =

<<TableOfContents>>

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 ==

 * https://code.launchpad.net/~launchpad-committers/launchpad/python2.6 -- collaboration branch created by maxb based on salgado's personal branch
 * https://code.launchpad.net/~salgado/shipit/shipit-python2.6

== Known/Open issues ==

 * Things partially dealt with by Salgado, who's going on leave and might not be able to finish them:
  * The failure when setting up the GoogleServiceLayer seems to be a consequence of the server answering with a errno.ECONNABORTED when it's not yet ready, so I've just changed the wait_for_service function to treat that error the same way it does for errno.ECONNREFUSED.
  * The test hang is because of the change done on bug Bug:349316, so I've just commented out that addCleanup() line for now, to see if we can get a full test run.

I ran the test suite with devel r10700, the python2.6 branch, and the two Python 2.6-related branches that landed overnight.

Full log is here: [[attachment:tests-20100414.log]]

Total: 25792 tests, 25 failures, 9 errors in 204 minutes 11.495 seconds.

Unfortunately I forgot to stop my launchpad-buildd before running the suite, so some test failures are spurious:

 * test_manager
 * buildd-dispatching.txt
 * BuilddSlaveTestSetup
 * translationtemplatesbuildbehavior.txt

And three are known Lucid failures:

 * xx-distribution.txt (fixed in lazr.restful, but not yet used by LP)
 * soyuz-upload.txt (apt-ftparchive hash changes)
 * test_generateConfig (ditto)


=== Old results ===

With the two changes above I was able to get the test suite to run to completion:
Total: 25856 tests, 71 failures, 119 errors in 300 minutes 55.792 seconds.

Here's the full log: [[attachment:tests.log]]

 * This appears to have been run without the Lucid pygpgme fix, so there are lots of "Unknown error code" failures in Soyuz and a couple of Registry tests. I'm rerunning the Soyuz-related tests to see what the real failures are. -- ''wgrant''

=== Things needing revising ===

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.

=== 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.

== 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) ===

=== MailmanLayer: ?? ===
  * Note: These do not run automatically. Use `bin/test --layer=MailmanLayer`
  * You may get failures when you run all the tests in one go. Try running each individually for more accurate results.

=== 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/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>
}}}

=== FunctionalLayer: OK (174 tests) ===

=== LaunchpadFunctionalLayer ===
  * 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
----------------------------------------------------------------------
}}}
  * 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/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 (4461 tests) ===
=== GoogleLaunchpadFunctionalLayer: OK (72 tests) ===

=== PageTestLayer ===
 * lib/lp/bugs/tests/../stories/guided-filebug/xx-no-launchpadder.txt: Failed user_browser.getLink("Ubuntu alsa-utils") is not None
 * lib/lp/bugs/tests/../stories/guided-filebug/xx-project-guided-filebug.txt: <security proxied lp.registry.model.sourcepackagename.SourcePackageName instance at 0x15d0af90> appearing in page text!
 * lib/lp/translations/tests/../stories/importqueue/xx-translation-import-queue.txt: tarfile again

=== TwistedLayer: OK (235 tests) ===
=== TwistedLaunchpadZopelessLayer: OK (16 tests) ===

=== TwistedAppServerLayer ===
There seems to be intermittent behaviour here - sometimes the hg variants of these tests fail, sometimes the git ones, sometimes both.
  * 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 ===
 * test_hosted_branch_stacked_on_mirrored_branch (lp.codehosting.puller.tests.test_acceptance.TestBranchPuller): `LayerIsolationError: Test left new live threads: [<Thread(Thread-3, started daemon 47618947405584)>]`

=== 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: OK (12 tests) ===
=== CodeWindmillLayer: OK (11 tests) ===

=== ForeignBranchPluginLayer ===
There seems to be intermittent behaviour here - sometimes the hg variants of these tests fail, sometimes the git ones, sometimes both.
  * 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)
 - retval 1
  * test_script_exit_codes (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
 - retval 1
  * test_sync (lp.codehosting.codeimport.tests.test_worker.TestMercurialImport)
 - like test_import

=== SSHServerLayer: OK (46 tests) ===
=== RegistryWindmillLayer: OK (17 tests) ===
=== SoyuzWindmillLayer: OK (2 tests) ===
=== TestZopeTestInSubProcessLayer: OK (1 test) ===
=== TranslationsWindmillLayer: OK (7 tests) ===

=== UnitTests ===
  * make_test_tarball_2 (canonical.launchpad.tests.test_helpers) -- iiiiiiiiit's tarfile again!

  * `RuntimeError: The wrong site.py is imported. Scripts should usually be started with Launchpad's bin/py, or with a Python invoked with the -S flag.` breaking some Rosetta scripts run from tests, seemingly only if `lp.services.scripts.test_all_scripts` ran earlier in the same test run:
   * test_script (lp.translations.scripts.tests.test_validate_translations_file.TestValidateTranslationsFile) (says AssertionError: 0 != 1, I added some print statements locally to see the cause of the failure)
   * lib/lp/translations/tests/../doc/remove-upstream-translations-script.txt

=== Shipit (74 tests, 2 failures, 1 errors) ===
  * lib/canonical/shipit/tests/../doc/shipit.txt
{{{
Failed doctest test for shipit.txt
File "lib/canonical/shipit/tests/../doc/shipit.txt", line 0

----------------------------------------------------------------------
File "lib/canonical/shipit/tests/../doc/shipit.txt", line 445, in shipit.txt
Failed example:
    out, err
Differences (ndiff with -expected +actual):
    - ('', '')
    + ('', '/home/salgado/devel/launchpad/real-python-2.6/lib/cscvs/dircompare/ dirsums.py:18: DeprecationWarning: the md5 module is deprecated; use hashlib instead\n import md5\n/home/salgado/devel/launchpad/real-python-2.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')
----------------------------------------------------------------------
File "lib/canonical/shipit/tests/../doc/shipit.txt", line 1211, in shipit.txt
Failed example:
    out, err
Differences (ndiff with -expected +actual):
    - ('', '')
    + ('', '/home/salgado/devel/launchpad/real-python-2.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/home/salgado/devel/ launchpad/real-python-2.6/lib/cscvs/dircompare/dirsums.py:18: DeprecationWarning: the md5 module is deprecated; use hashlib instead\n import md5\n')
}}}
  * 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/salgado/devel/launchpad/real-python-2.6/lib/cscvs/dircompare/ dirsums.py:18: DeprecationWarning: the md5 module is deprecated; use hashlib instead\n import md5\n/home/salgado/devel/launchpad/real-python-2.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')
}}}