run-tests: move unicode-to-bytes operations on paths to a helper (
issue4667)
This doesn't fix the probably-wrong utf-8 encoding choice, it just
starts the process of encapsulating all the path handling in run-tests
in a single place.
One known-path use of .encode() remains: it's related to use of
mkdtemp, and it will be fixed in a followup patch once we have a
companion _strpath() helper function to go from bytes to a str, as we
need to file a bug about mkdtemp upstream.
run-tests: insist that if people use Python 3, they use 3.5.x
We depend on both stdlib functionality (difflib.diff_bytes) and
language behavior (bytes formatting) introduced in 3.5, so let's try
and prevent some useless bug reports before they happen.
run-tests: move all open-coded sys.version_info checks to PYTHON3 (
issue4668)
This consolidates all version checking in a single place and helps the
code read more obviously.
run-tests: prefer PYTHON3 constant to many version_info checks (
issue4668)
We only support Python 2.6, 2.7, and 3.5 here, so we can simplify the
code and improve the warning.
run-tests: introduce PYTHON3 boolean constant (
issue4668)
This will avoid open-coding lots of version_info checks later in the
file.
run-tests: drop subprocess _cleanup monkeypatch
This was working around a defect in subprocess in Python 2.5, which we
no longer need to worry about.
run-tests: drop wifexited polyfill
os.WIFEXITED exists as of python 2.6 for me, so we no longer need this
polyfill.
test-import: update for no-execbit platforms with
1ef96a3b8b89