• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# -*- coding: utf-8 -*-
2from devicetest.api import Asserts
3from devicetest.log.logger import print_info
4
5from test_case import ITestCase
6
7
8class CrashCheck(ITestCase):
9
10    def __init__(self, controllers):
11        super().__init__(controllers)
12
13    def setup(self):
14        self.step('前置条件1:开始crash测试')
15        self.common_oh.remount(self.Phone1)
16        self.common_oh.wait(self.Phone1, 1)
17
18    def process(self):
19        self.step('步骤1:获取crash信息')
20        crashes = self.common_oh.shell(self.Phone1, 'cd /data/log/faultlog/temp && grep "Process name" -rnw ./')
21        print_info('crashes: {}'.format(crashes))
22        self.common_oh.wait(self.Phone1, 1)
23        self.asserts.assert_not_in('foundation', crashes)
24        self.asserts.assert_not_in('render_service', crashes)
25        self.asserts.assert_not_in('appspawn', crashes)
26
27    def teardown(self):
28        self.step('收尾1:将crash文件压缩打包后回传到本地')
29        self.common_oh.shell(self.Phone1, 'cd /data/log/faultlog/temp && tar -cf crash_log.tar cppcrash*')
30        self.common_oh.pullFile(self.Phone1, '/data/log/faultlog/temp/crash_log.tar', self.local_save_path)
31