(self, cmd, target, tag, patterns=None, outfile=None, errfile=None)
| 357 | fail('Error: plugin slug "' + plugin.slug + '" in ' + filename + ' is already assigned.', file=sys.stderr) |
| 358 | |
| 359 | async def execute(self, cmd, target, tag, patterns=None, outfile=None, errfile=None): |
| 360 | if patterns: |
| 361 | combined_patterns = self.patterns + patterns |
| 362 | else: |
| 363 | combined_patterns = self.patterns |
| 364 | |
| 365 | process = await asyncio.create_subprocess_shell( |
| 366 | cmd, |
| 367 | stdin=open('/dev/null'), |
| 368 | stdout=asyncio.subprocess.PIPE, |
| 369 | stderr=asyncio.subprocess.PIPE) |
| 370 | |
| 371 | cout = CommandStreamReader(process.stdout, target, tag, patterns=combined_patterns, outfile=outfile) |
| 372 | cerr = CommandStreamReader(process.stderr, target, tag, patterns=combined_patterns, outfile=errfile) |
| 373 | |
| 374 | asyncio.create_task(cout._read()) |
| 375 | asyncio.create_task(cerr._read()) |
| 376 | |
| 377 | return process, cout, cerr |
nothing calls this directly
no test coverage detected