six is necessary for making these scripts cross compatible
between python 2.x and 3.x
Changes:
Add six to python_deps.include
Include python_deps.include to all Dockerfile templates in test directory
Include python_deps.include to all Dockerfile templates in stress_test directory
Include python_deps.include to all Dockerfile templates in interop_test directory
Replace print statements with print function calls (from futute..)
Replace .iteritems() with .items() wherever necessary
use six.moves to import BaseHTTPServer
Generate new dockerfiles using generate_projects.sh
There are cases where we truly don't care how long something takes, and
some external timeout will kill truly stuck processes, so let's
eliminate timeouts in those cases
The current code reads the stdout of each running process each time it
goes through a reap() iteration, and throws it away if the process is
still running.
On Windows, where we poll for completion every 100ms, I expect this is
having a serious impact on Jenkins performance, especially for noisier
tests.
Some transport callbacks weren't getting triggered. We now ensure that
this always occurs.
Additionally: left some debug only code around to make this class of bug
easier to diagnose in the future.
run_tests.py will start a server (if it's not running, or if the running
port server mismatches the 'current' one) that serves ports to use for
tests. The server is left running after run_tests.py finishes, so that
in environments such as Mac and Windows where tests run unshielded from
each other, we don't start jumping on already used ports.