summaryrefslogtreecommitdiff
path: root/systrace/catapult/devil/devil/android/crash_handler_devicetest.py
diff options
context:
space:
mode:
Diffstat (limited to 'systrace/catapult/devil/devil/android/crash_handler_devicetest.py')
-rwxr-xr-xsystrace/catapult/devil/devil/android/crash_handler_devicetest.py79
1 files changed, 0 insertions, 79 deletions
diff --git a/systrace/catapult/devil/devil/android/crash_handler_devicetest.py b/systrace/catapult/devil/devil/android/crash_handler_devicetest.py
deleted file mode 100755
index 68c0d3a..0000000
--- a/systrace/catapult/devil/devil/android/crash_handler_devicetest.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2017 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import sys
-import unittest
-
-if __name__ == '__main__':
- sys.path.append(
- os.path.abspath(os.path.join(
- os.path.dirname(__file__),
- '..',
- '..',
- )))
-
-from devil.android import crash_handler
-from devil.android import device_errors
-from devil.android import device_utils
-from devil.android import device_temp_file
-from devil.android import device_test_case
-from devil.utils import cmd_helper
-from devil.utils import reraiser_thread
-from devil.utils import timeout_retry
-
-
-class DeviceCrashTest(device_test_case.DeviceTestCase):
- def setUp(self):
- super(DeviceCrashTest, self).setUp()
- self.device = device_utils.DeviceUtils(self.serial)
-
- def testCrashDuringCommand(self):
- self.device.EnableRoot()
- with device_temp_file.DeviceTempFile(self.device.adb) as trigger_file:
-
- trigger_text = 'hello world'
-
- def victim():
- trigger_cmd = 'echo -n %s > %s; sleep 20' % (cmd_helper.SingleQuote(
- trigger_text), cmd_helper.SingleQuote(trigger_file.name))
- crash_handler.RetryOnSystemCrash(
- lambda d: d.RunShellCommand(
- trigger_cmd,
- shell=True,
- check_return=True,
- retries=1,
- as_root=True,
- timeout=180),
- device=self.device)
- self.assertEquals(
- trigger_text,
- self.device.ReadFile(trigger_file.name, retries=0).strip())
- return True
-
- def crasher():
- def ready_to_crash():
- try:
- return trigger_text == self.device.ReadFile(
- trigger_file.name, retries=0).strip()
- except device_errors.CommandFailedError:
- return False
-
- timeout_retry.WaitFor(ready_to_crash, wait_period=2, max_tries=10)
- if not ready_to_crash():
- return False
- self.device.adb.Shell(
- 'echo c > /proc/sysrq-trigger',
- expect_status=None,
- timeout=60,
- retries=0)
- return True
-
- self.assertEquals([True, True], reraiser_thread.RunAsync([crasher, victim]))
-
-
-if __name__ == '__main__':
- device_test_case.PrepareDevices()
- unittest.main()