227 hardware.sanity_check()
228 self._schedule_hardware_poll()
229
230 commandline = self.ARGV + ['--config', self.config,
231 '--src', self.src,
232 '--suppressHeader', 'true']
233 if FLAGS.write_path:
234 pngfile = _path.join(FLAGS.write_path, self.config,
235 _path.basename(self.src) + '.png')
236 commandline.extend(['--png', pngfile])
238 self._proc = subprocess.Popen(commandline, stdout=subprocess.PIPE,
239 stderr=subprocess.STDOUT)
240 self._monitor = SubprocessMonitor(self._queue, self._proc)
241 self._monitor.
start()
242
243 while True:
244 message = self._queue.
get()
245 if message.message == Message.READLINE:
246 result = BenchResult.match(message.value)
247 if result:
248 hardware.sanity_check()
249 self._process_result(result)
250 elif hardware.filter_line(message.value):
251 print(message.value, file=sys.stderr)
252 continue
253 if message.message == Message.POLL_HARDWARE:
254 hardware.sanity_check()
255 self._schedule_hardware_poll()
256 continue
257 if message.message == Message.EXIT:
259 self._proc.wait()
260 if self._proc.returncode != 0:
261 raise Exception("skpbench exited with nonzero exit code %i" %
262 self._proc.returncode)
263 self._proc = None
264 break
265
const myers::Point & get(const myers::Segment &)
def print(*args, **kwargs)
static SkString join(const CommandLineFlags::StringArray &)