From 20b3594d128e4a90b56ef516a713d44156d17122 Mon Sep 17 00:00:00 2001 From: meejah Date: Thu, 1 Dec 2022 17:05:58 -0700 Subject: [PATCH] exarkun wants a helper --- src/allmydata/test/test_runner.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/allmydata/test/test_runner.py b/src/allmydata/test/test_runner.py index cd09e5aa0..a84fa28f8 100644 --- a/src/allmydata/test/test_runner.py +++ b/src/allmydata/test/test_runner.py @@ -630,6 +630,15 @@ class RunNode(common_util.SignalMixin, unittest.TestCase, pollmixin.PollMixin): yield client_running +def _simulate_windows_stdin_close(stdio): + """ + on Unix we can just close all the readers, correctly "simulating" + a stdin close .. of course, Windows has to be difficult + """ + stdio.writeConnectionLost() + stdio.readConnectionLost() + + class OnStdinCloseTests(SyncTestCase): """ Tests for on_stdin_close @@ -647,12 +656,8 @@ class OnStdinCloseTests(SyncTestCase): transport = on_stdin_close(reactor, onclose) self.assertEqual(called, []) - # on Unix we can just close all the readers, correctly - # "simulating" a stdin close .. of course, Windows has to be - # difficult if platform.isWindows(): - transport.writeConnectionLost() - transport.readConnectionLost() + _simulate_windows_stdin_close(transport) else: for reader in reactor.getReaders(): reader.loseConnection() @@ -674,8 +679,7 @@ class OnStdinCloseTests(SyncTestCase): self.assertEqual(called, []) if platform.isWindows(): - transport.writeConnectionLost() - transport.readConnectionLost() + _simulate_windows_stdin_close(transport) else: for reader in reactor.getReaders(): reader.loseConnection()