summaryrefslogtreecommitdiff
path: root/buildscripts/tests/mobile/test_adb_monitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/tests/mobile/test_adb_monitor.py')
-rw-r--r--buildscripts/tests/mobile/test_adb_monitor.py136
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"]))