( )⚙ D1018 selectors2: do not use platform.system()

This is an archive of the discontinued Mercurial Phabricator instance.

selectors2: do not use platform.system()
ClosedPublic

Authored by quark on Oct 11 2017, 8:57 PM.

Details

Summary

platform.system() may have a side effect spawning a shell executing
uname -p, which may print a warning when the current directory is removed:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory

This patch changes selectors2 to test the sys.platform string, which is a
much safer way to detect Jython.

Jython's sys.platform looks like this:

Jython 2.7.1 (default:0df7adb1b397, Jun 30 2017, 19:02:43)
[OpenJDK 64-Bit Server VM (Oracle Corporation)] on java1.8.0_144
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.platform
'java1.8.0_144 ( ==linux2 for targets )'

Diff Detail

Repository
rHG Mercurial
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

quark created this revision.Oct 11 2017, 8:57 PM
quark edited the summary of this revision. (Show Details)
quark updated this revision to Diff 2609.Oct 11 2017, 9:00 PM
quark updated this revision to Diff 2633.Oct 12 2017, 12:37 PM
quark updated this revision to Diff 2651.Oct 12 2017, 10:21 PM
This revision was automatically updated to reflect the committed changes.