diff options
Diffstat (limited to 'cros_utils/no_pseudo_terminal_test.py')
-rwxr-xr-x | cros_utils/no_pseudo_terminal_test.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/cros_utils/no_pseudo_terminal_test.py b/cros_utils/no_pseudo_terminal_test.py deleted file mode 100755 index acc90af4..00000000 --- a/cros_utils/no_pseudo_terminal_test.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Copyright 2019 The ChromiumOS Authors -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Test to ensure we're not touching /dev/ptmx when running commands.""" - - -import os -import subprocess -import tempfile -import time -import unittest - -from cros_utils import command_executer - - -class NoPsuedoTerminalTest(unittest.TestCase): - """Test to ensure we're not touching /dev/ptmx when running commands.""" - - _strace_process = None - STRACE_TIMEOUT = 10 - - def _AttachStraceToSelf(self, output_file): - """Attaches strace to the current process.""" - args = ["sudo", "strace", "-o", output_file, "-p", str(os.getpid())] - print(args) - # pylint: disable=bad-option-value, subprocess-popen-preexec-fn - self._strace_process = subprocess.Popen(args, preexec_fn=os.setpgrp) - # Wait until we see some activity. - start_time = time.time() - while time.time() - start_time < self.STRACE_TIMEOUT: - if os.path.isfile(output_file) and open(output_file).read(1): - return True - time.sleep(1) - return False - - def _KillStraceProcess(self): - """Kills strace that was started by _AttachStraceToSelf().""" - pgid = os.getpgid(self._strace_process.pid) - args = ["sudo", "kill", str(pgid)] - if subprocess.call(args) == 0: - os.waitpid(pgid, 0) - return True - return False - - def testNoPseudoTerminalWhenRunningCommand(self): - """Test to make sure we're not touching /dev/ptmx when running commands.""" - temp_file = tempfile.mktemp() - self.assertTrue(self._AttachStraceToSelf(temp_file)) - - ce = command_executer.GetCommandExecuter() - ce.RunCommand("echo") - - self.assertTrue(self._KillStraceProcess()) - - strace_contents = open(temp_file).read() - self.assertFalse("/dev/ptmx" in strace_contents) - - -if __name__ == "__main__": - unittest.main() |