Issue #20572: The subprocess.Popen.wait method's undocumented endtime

parameter now raises a DeprecationWarning.  It was deprecated in 3.4.
It was never documented prior to that.
This commit is contained in:
Gregory P. Smith 2016-11-20 16:25:14 -08:00
parent cf01441315
commit f0e98c510d
3 changed files with 25 additions and 16 deletions

View file

@ -1015,6 +1015,19 @@ class ProcessTestCase(BaseTestCase):
# time to start.
self.assertEqual(p.wait(timeout=3), 0)
def test_wait_endtime(self):
"""Confirm that the deprecated endtime parameter warns."""
p = subprocess.Popen([sys.executable, "-c", "pass"])
try:
with self.assertWarns(DeprecationWarning) as warn_cm:
p.wait(endtime=time.time()+0.01)
except subprocess.TimeoutExpired:
pass # We're not testing endtime timeout behavior.
finally:
p.kill()
self.assertIn('test_subprocess.py', warn_cm.filename)
self.assertIn('endtime', str(warn_cm.warning))
def test_invalid_bufsize(self):
# an invalid type of the bufsize argument should raise
# TypeError.
@ -2777,19 +2790,5 @@ class ContextManagerTests(BaseTestCase):
self.assertTrue(proc.stdin.closed)
def test_main():
unit_tests = (ProcessTestCase,
POSIXProcessTestCase,
Win32ProcessTestCase,
MiscTests,
ProcessTestCaseNoPoll,
CommandsWithSpaces,
ContextManagerTests,
RunFuncTestCase,
)
support.run_unittest(*unit_tests)
support.reap_children()
if __name__ == "__main__":
unittest.main()