The server cleanup method is untested.
The join() function that exposes it is only called by the internals of threading.py, and we don't hold a reference to the server thread to explicitly join() it, and I'm not sure we should add a reference just for this purpose.
Moreover, the threading.py only calls join(None), the code path in question isn't even exercised by the internals of threading.py. Its just there to make sure we properly follow the join(timeout) semantics.
Add use_tls, use_test_ca, and server_host_override flags to Python
stress client. These are needed to run the stress client against a local
server that is using tls.
To support magical internal build processes, the pb2 files need to be
split into pure-proto and gRPC parts. This performs that split and
further fixes bad module names in the test harness that interfered with
the intended test implementation.
An unfortunate side effect, due to limitations of protoc and holdover
behavior we must support in major version 1.x, is that trash files are
generated in split generation. This shouldn't be a problem in normal
protoc plugin use.
Add the code for three new interop tests: unimplemented_method,
unimplemented_service, and custom_metadata.
Fix and refactor the code for status_code_and_message.
remove skipIfStatement from
TypeSmokeTest.testCallCredentialsFromPluginUpDown since the test passes
on PyPy variants 5.3.0 and newer since these variants have improved
compatibility support for the C-Extensions
Add a RecordingThreadPool that inherits from Executor, contains a
ThreadPoolExecutor and has an extra method 'was_used' to indicate if
submit method was ever called i.e. if the thread pool was ever used.