Skip to content

Commit 579b2fa

Browse files
committed
Clean up server termination
1 parent 0d15bef commit 579b2fa

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

‎language_check/__init__.py‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,7 @@ def _start_server(cls):
352352
cls._port, port))
353353
break
354354
if not match:
355-
cls._terminate_server()
356-
err_msg = cls._server.communicate()[1].strip()
357-
cls._server = None
355+
err_msg = cls._terminate_server()
358356
match = cls._PORT_RE.search(err_msg)
359357
if not match:
360358
raise Error(err_msg)
@@ -397,11 +395,21 @@ def _server_is_alive(cls):
397395

398396
@classmethod
399397
def _terminate_server(cls):
398+
error_message = ''
399+
400400
try:
401401
cls._server.terminate()
402+
error_message = cls._server.communicate()[1].strip()
403+
404+
cls._server.stdin.close()
405+
cls._server.stdout.close()
406+
cls._server.stderr.close()
407+
cls._server = None
402408
except OSError:
403409
pass
404410

411+
return error_message
412+
405413

406414
def _consume(stdout):
407415
"""Consume/ignore the rest of the server output.

‎test.py‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,18 @@ def test_correct(self):
103103
self.assertEqual(self.lang_check.correct(text), result)
104104

105105
def test_languages(self):
106-
languages = language_check.get_languages()
107-
self.assertIn('en', languages)
106+
self.assertIn('en', language_check.get_languages())
108107

109108
def test_version(self):
110-
version = language_check.get_version()
111-
self.assertTrue(version)
109+
self.assertTrue(language_check.get_version())
110+
111+
def test_get_build_date(self):
112+
self.assertTrue(language_check.get_build_date())
113+
114+
def test_get_directory(self):
115+
path = language_check.get_directory()
116+
language_check.set_directory(path)
117+
self.assertEqual(path, language_check.get_directory())
112118

113119

114120
if __name__ == '__main__':

0 commit comments

Comments
 (0)