1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0.
import subprocess
import sys
import unittest
class TestAppExit(unittest.TestCase):
"""Test that the application can exit with at any moment without native code somehow crashing python"""
def _run_to_stage(self, module_name, stage):
args = [sys.executable, '-m', module_name, stage.name]
process = subprocess.Popen(
args,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
output = process.communicate()[0]
# only print output if test failed
if process.returncode != 0:
print(subprocess.list2cmdline(args))
for line in output.splitlines():
print(line.decode())
self.assertEqual(0, process.returncode)
def test_http(self):
import test.appexit_http
for stage in test.appexit_http.Stage:
self._run_to_stage('test.appexit_http', stage)
|