Python has an `-E` flag, which causes it to ignore PYTHONHOME and
PYTHONEXECUTABLE both of which are key to how we're making the shim
work.
Add a flag parser to the shim so we process the argv and strip out -E if
it's set, and if -I is set we translate it to its equivalent -E and -s,
and drop the -E.
Add Rust tests covering some basic cases for the parser so we aren't
integration testing that.
Update Clap.
Go back to unwind rather than abort as our error handling strategy as
it's required for writing tests and clap.
Python has an
-Eflag, which causes it to ignore PYTHONHOME and PYTHONEXECUTABLE both of which are key to how we're making the shim work.Add a flag parser to the shim so we process the argv and strip out -E if it's set, and if -I is set we translate it to its equivalent -E and -s, and drop the -E.
Add Rust tests covering some basic cases for the parser so we aren't integration testing that.
Update Clap.
Go back to unwind rather than abort as our error handling strategy as it's required for writing tests and clap.
Fixes #703.
Changes are visible to end-users: no
py_venvwill now unset the-Einterpreter flag with which it's incompatible.-Iis translated to-s.Test plan