Ejemplo n.º 1
0
    def get_crash(self):
        crash_info = self.fetch_crash_info()
        submitted = crash_info['submitted']
        pending = crash_info['pending']
        processed = set()
        for pendi in set(pending):
            # Get pending dump and submit
            dmp = pendi + ".dmp"
            extra = pendi + ".extra"
            AdbWrapper.adb_pull(PENDING_DIR + "/" + dmp, dmp, self.serial)
            AdbWrapper.adb_pull(PENDING_DIR + "/" + extra, extra, self.serial)

            ret = cli([dmp])
            if ret:
                processed.add(pendi)
                submitted.append(ret[0])
                AdbWrapper.adb_shell("rm \"" + PENDING_DIR + "/" + dmp + "\"",
                                     self.serial)
                AdbWrapper.adb_shell(
                    "rm \"" + PENDING_DIR + "/" + extra + "\"", self.serial)
                AdbWrapper.adb_shell("rm -r \"" + SUBMITTED_DIR + "\"",
                                     self.serial)
            os.remove(dmp)
            os.remove(extra)
        return {
            'crash_info': {
                'submitted': submitted,
                'pending': list(set(pending) - processed)
            }
        }
Ejemplo n.º 2
0
 def test_pull_fail(self):
     '''
     Test pull fail.
     '''
     str_ret = 'remote object \'foo\' does not exist'
     with self.assertRaises(Exception) as cm:
         self.mock_obj.returncode = 1
         self.mock_obj.communicate.return_value = [str_ret, None]
         self.mock_popen.return_value = self.mock_obj
         ret = AdbWrapper.adb_pull('foo', '')
Ejemplo n.º 3
0
 def test_pull_fail(self):
     """
     Test pull fail.
     """
     str_ret = 'remote object \'foo\' does not exist'
     with self.assertRaises(Exception) as cm:
         self.mock_obj.returncode = 1
         self.mock_obj.communicate.return_value = [str_ret, None]
         self.mock_popen.return_value = self.mock_obj
         ret = AdbWrapper.adb_pull('foo', '')
Ejemplo n.º 4
0
 def test_pull(self):
     '''
     Test pull.
     '''
     str_ret = '2 KB/s (104 bytes in 0.040s)'
     expected_ret = '2 KB/s (104 bytes in 0.040s)'
     self.mock_obj.communicate.return_value = [str_ret, None]
     self.mock_popen.return_value = self.mock_obj
     ret = AdbWrapper.adb_pull('/b2g/mozilla.test', '')
     self.assertEqual(ret, expected_ret,
                      'The result should be {}, not {}.'.format(expected_ret, ret))
Ejemplo n.º 5
0
 def test_pull(self):
     """
     Test pull.
     """
     str_ret = '2 KB/s (104 bytes in 0.040s)'
     expected_ret = '2 KB/s (104 bytes in 0.040s)'
     self.mock_obj.communicate.return_value = [str_ret, None]
     self.mock_popen.return_value = self.mock_obj
     ret = AdbWrapper.adb_pull('/b2g/mozilla.test', '')
     self.assertEqual(
         ret, expected_ret,
         'The result should be {}, not {}.'.format(expected_ret, ret))
Ejemplo n.º 6
0
    def get_crash(self):
        crash_info = self.fetch_crash_info()
        submitted = crash_info['submitted']
        pending = crash_info['pending']
        processed = set()
        for pendi in set(pending):
            # Get pending dump and submit
            dmp = pendi + ".dmp"
            extra = pendi + ".extra"
            AdbWrapper.adb_pull(PENDING_DIR + "/" + dmp,
                                dmp,
                                self.serial)
            AdbWrapper.adb_pull(PENDING_DIR + "/" + extra,
                                extra,
                                self.serial)

            ret = cli([dmp])
            if ret:
                processed.add(pendi)
                submitted.append(ret[0])
                AdbWrapper.adb_shell("rm \""
                                     + PENDING_DIR
                                     + "/" + dmp + "\"",
                                     self.serial)
                AdbWrapper.adb_shell("rm \""
                                     + PENDING_DIR
                                     + "/" + extra + "\"",
                                     self.serial)
                AdbWrapper.adb_shell("rm -r \""
                                     + SUBMITTED_DIR + "\"",
                                     self.serial)
            os.remove(dmp)
            os.remove(extra)
        return {'crash_info': {
                'submitted': submitted,
                'pending': list(set(pending) - processed)}}