diff options
Diffstat (limited to 'buildscripts/tests/mobile/test_adb_monitor.py')
-rw-r--r-- | buildscripts/tests/mobile/test_adb_monitor.py | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/buildscripts/tests/mobile/test_adb_monitor.py b/buildscripts/tests/mobile/test_adb_monitor.py deleted file mode 100644 index c6680d6dd67..00000000000 --- a/buildscripts/tests/mobile/test_adb_monitor.py +++ /dev/null @@ -1,136 +0,0 @@ -""" Unit tests for adb_monitor. """ - -from __future__ import absolute_import - -import distutils.spawn # pylint: disable=no-name-in-module -import os -import shutil -import sys -import tempfile -import unittest - -import buildscripts.mobile.adb_monitor as adb_monitor - -_IS_WINDOWS = sys.platform == "win32" or sys.platform == "cygwin" - -if _IS_WINDOWS: - import win32file - -# pylint: disable=missing-docstring,protected-access - - -def mock_adb_and_systrace(directory): - """Mock adb and systrace.py.""" - # Create mock 'adb', which is really 'echo'. - adb_binary = os.path.join(directory, "adb") - echo_binary = distutils.spawn.find_executable("echo") - if _IS_WINDOWS: - adb_binary = "{}.exe".format(adb_binary) - shutil.copyfile(echo_binary, adb_binary) - else: - os.symlink(echo_binary, adb_binary) - os.environ["PATH"] = "{}{}{}".format(directory, os.path.pathsep, os.environ["PATH"]) - - # Create mock 'systrace.py'. - systrace_dir = os.path.join(directory, "systrace") - os.mkdir(systrace_dir) - systrace = os.path.join(systrace_dir, "systrace.py") - with open(systrace, "w") as fh: - fh.write("import optparse\n") - fh.write("raw_input('waiting...')\n") - fh.write("print('Wrote trace')\n") - fh.write("parser = optparse.OptionParser()\n") - fh.write("parser.add_option('-o', dest='output_file')\n") - fh.write("parser.add_option('--json', dest='json_opts', action='store_true')\n") - fh.write("options, args = parser.parse_args()\n") - fh.write("with open(options.output_file, 'w') as fh:\n") - fh.write("\tfh.write('{hello:1}')\n") - - -def file_contents(path): - with open(path, "r") as fh: - return fh.read() - - -class AdbTestCase(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.temp_dir = tempfile.mkdtemp() - mock_adb_and_systrace(cls.temp_dir) - cls.adb = adb_monitor.Adb() - - @classmethod - def tearDownClass(cls): - shutil.rmtree(cls.temp_dir) - - -class AdbTest(AdbTestCase): - def test_bad_adb(self): - self.assertRaises(EnvironmentError, lambda: adb_monitor.Adb("bad_adb")) - - def test_devices(self): - self.adb.devices() - - def test_battery(self): - temp_file = os.path.join(self.temp_dir, "battery_output") - self.adb.battery(output_file=temp_file) - self.assertTrue(os.path.isfile(temp_file)) - - def test_memory(self): - temp_file = os.path.join(self.temp_dir, "memory_output") - self.adb.memory(output_file=temp_file) - self.assertTrue(os.path.isfile(temp_file)) - - def test_systrace(self): - temp_file = os.path.join(self.temp_dir, "systrace_output") - self.adb.systrace_start(output_file=temp_file) - self.adb.systrace_stop() - self.assertTrue(os.path.isfile(temp_file)) - - -class AdbControlTestCase(unittest.TestCase): - @classmethod - def setUpClass(cls): - cls.temp_dir = tempfile.mkdtemp() - mock_adb_and_systrace(cls.temp_dir) - cls.adb = adb_monitor.Adb() - - @classmethod - def tearDownClass(cls): - shutil.rmtree(cls.temp_dir) - - -class AdbControlTest(AdbControlTestCase): - def _test_files(self, num_samples=1, collection_time_secs=0, sample_interval_ms=500, - arg_list=None): - args = {} - arg_file_list = [] - for arg_name in arg_list: - arg_test_file = tempfile.NamedTemporaryFile(delete=False).name - args[arg_name] = arg_test_file - arg_file_list.append(arg_test_file) - adb_control = adb_monitor.AdbControl(self.adb, collection_time_secs=collection_time_secs, - num_samples=num_samples, - sample_interval_ms=sample_interval_ms, **args) - adb_control.start() - adb_control.wait() - for arg_file in arg_file_list: - self.assertGreater(os.stat(arg_file).st_size, 0) - os.remove(arg_file) - - def test_all_files_num_samples(self): - self._test_files(num_samples=5, arg_list=["battery_file", "cpu_file", "memory_file"]) - - def test_all_files_collection_time_secs(self): - self._test_files(collection_time_secs=3, - arg_list=["battery_file", "cpu_file", "memory_file"]) - - def test_all_files_collection_and_samples(self): - self._test_files(collection_time_secs=3, num_samples=5, - arg_list=["battery_file", "cpu_file", "memory_file"]) - - def test_no_file_arg(self): - self.assertRaises(ValueError, lambda: adb_monitor.AdbControl(self.adb)) - - def test_bad_file_arg(self): - self.assertRaises(TypeError, lambda: self._test_files(arg_list=["bad_file_arg"])) |