Flutter Engine
The Flutter Engine
ios_debug_cmd.py
Go to the documentation of this file.
1#!/usr/bin/env python
2# Copyright 2020 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6import subprocess
7import sys
8import threading
9import time
10
11# Usage: ios_debug_cmd.py <bundle_id> <args...>
12# Runs the given app with the given args with full debug output enabled, then
13# outputs syslog for the period when the command was running. Exits with the
14# exit code of idevicedebug.
15
16
17bundle_id = sys.argv[1]
18args = sys.argv[2:]
19
20logp = subprocess.Popen(['idevicesyslog'], stdout=subprocess.PIPE, bufsize=-1)
21log = ''
23 global log
24 while True:
25 out = logp.stdout.read().decode('utf-8')
26 if out:
27 log = log + out
28 else:
29 return
30
31logt = threading.Thread(target=collect_log)
32logt.start()
33
34rv = subprocess.call(['idevicedebug', '--debug', 'run', bundle_id] + args)
35
36print('\n\nreturned %d' % rv)
37
38logp.terminate()
39print('\n\nreading syslog...')
40logt.join()
41print('syslog follows')
42print(log)
43
44exit(rv)
exit(kErrorExitCode)
def print(*args, **kwargs)
Definition: run_tests.py:49
static DecodeResult decode(std::string path)
Definition: png_codec.cpp:124