Hi Steve, On Thu, Sep 30, 2021 at 12:21:53PM -0700, Steve Langasek wrote: > While tracking a build failure of breezy 3.2.1 in Ubuntu, I found that it is > currently also reproducible in Debian unstable:
Thanks for the bug report. > [...] > ====================================================================== > ERROR: > breezy.tests.per_workingtree.test_workingtree.TestIllegalPaths.test_bad_fs_path(WorkingTreeFormat4) > ---------------------------------------------------------------------- > Traceback (most recent call last): > testtools.testresult.real._StringException: log: {{{ > 763.552 creating repository in > file:///tmp/testbzr-_zh_moh_.tmp/breezy.tests.per_workingtree.test_workingtree.TestIllegalPaths.test_bad_fs_path%28WorkingTreeFormat4%29/work/tree/.bzr/. > 763.553 creating branch <breezy.bzr.branch.BzrBranchFormat8 object at > 0x7f323de98100> in > file:///tmp/testbzr-_zh_moh_.tmp/breezy.tests.per_workingtree.test_workingtree.TestIllegalPaths.test_bad_fs_path%28WorkingTreeFormat4%29/work/tree/ > 763.558 trying to create missing lock > '/tmp/testbzr-_zh_moh_.tmp/breezy.tests.per_workingtree.test_workingtree.TestIllegalPaths.test_bad_fs_path(WorkingTreeFormat4)/work/tree/.bzr/checkout/dirstate' > 763.558 opening working tree > '/tmp/testbzr-_zh_moh_.tmp/breezy.tests.per_workingtree.test_workingtree.TestIllegalPaths.test_bad_fs_path(WorkingTreeFormat4)/work/tree' > }}} > > Traceback (most recent call last): > File "/tmp/breezy-3.2.1/breezy/tests/per_workingtree/test_workingtree.py", > line 1253, in test_bad_fs_path > with open(b'tree/subdir/m\xb5', 'wb') as f: > OSError: [Errno 84] Invalid or incomplete multibyte or wide character: > b'tree/subdir/m\xb5' This looks like a behaviour change on the Python side; it should be possible to use bytestrings for paths on Linux without those being valid in the current locale.. > [...] > ====================================================================== > ERROR: > breezy.tests.test_plugins.TestPlugins.test_1_2_3__version__with_version_info > ---------------------------------------------------------------------- > Traceback (most recent call last): > testtools.testresult.real._StringException: log: {{{ > 853.935 loading plugins! > 853.935 using _Path('breezy.testingplugins', [], [], ['.']) > 853.935 Traceback (most recent call last): > File "/tmp/breezy-3.2.1/breezy/plugin.py", line 429, in _load_plugin_module > __import__(_MODULE_PREFIX + name) > ModuleNotFoundError: No module named 'breezy.testingplugins.plugin' > > 853.935 Unable to load plugin 'plugin' from '.': No module named > 'breezy.testingplugins.plugin' > WARNING Unable to load plugin 'plugin' from '.': No module named > 'breezy.testingplugins.plugin' > 853.936 removed breezy.testingplugins from sys.modules > }}} > > Traceback (most recent call last): > File "/tmp/breezy-3.2.1/breezy/tests/test_plugins.py", line 468, in > test_1_2_3__version__with_version_info > plugin = breezy.plugin.plugins()['plugin'] > KeyError: 'plugin' > > [...] > > (There are multiple errors of these two classes in the log, but this seems to > be the gist of it.) I've seen one earlier reference to this error - I think it had to do with a regression introduced by a new version of Python. Cc'ing Martin, who has more background on the plugin code. Cheers, Jelmer