[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2735: remove "bin/tahoe" and fancy "@" runner support
Tahoe-LAFS
trac at tahoe-lafs.org
Tue Feb 23 19:03:23 UTC 2016
#2735: remove "bin/tahoe" and fancy "@" runner support
--------------------------------+-----------------------
Reporter: warner | Owner:
Type: task | Status: new
Priority: normal | Milestone: undecided
Component: code-nodeadmin | Version: 1.10.2
Resolution: | Keywords:
Launchpad Bug: |
--------------------------------+-----------------------
Comment (by warner):
Daira gave me a braindump: #565 explains what
`test_unicode_arguments_and_output` is testing. Basically the setuptools
entrypoint wrapper .exe (on windows) doesn't handle sys.argv correctly (it
irretrievably mangles non-ascii characters), and the tahoe workaround is
to make a .pyscript wrapper instead (adding it to the windows registry as
an executable file type). The test asserts that this new-and-improved
wrapper is able to receive a non-ascii argument (by looking at the
"unknown command" error it emits, which should echo the argument that was
passed in).
The long-term fix for #565 is to get setuptools to use a better wrapper.
Then the setuptools-created entry point (venv/bin/tahoe for unix,
venv/bin/tahoe.exe for windows) will behave correctly.
So: do we still need this test? Probably yes. This test should still
execute the wrapper, but the actual pathname of the wrapper will be
unusual on windows while our workaround is in place (`tahoe.pyscript`
instead of `tahoe` or `tahoe.exe`).
Is this the only place in the test suite where we want to execute a child
process? (testing the launcher requires `os.fork`, but maybe not
`os.exec`, and I'm hoping we can get rid of `os.exec` calls)
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2735#comment:1>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list