1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import os
17
18 from buildslave.commands import base
19 from buildslave import runprocess
20
23 args = self.args
24
25 assert args['workdir'] is not None
26 workdir = os.path.join(self.builder.basedir, args['workdir'])
27
28 c = runprocess.RunProcess(
29 self.builder,
30 args['command'],
31 workdir,
32 environ=args.get('env'),
33 timeout=args.get('timeout', None),
34 maxTime=args.get('maxTime', None),
35 sendStdout=args.get('want_stdout', True),
36 sendStderr=args.get('want_stderr', True),
37 sendRC=True,
38 initialStdin=args.get('initial_stdin'),
39 logfiles=args.get('logfiles', {}),
40 usePTY=args.get('usePTY', "slave-config"),
41 logEnviron=args.get('logEnviron', True),
42 user=args.get('user'),
43 )
44 if args.get('interruptSignal'):
45 c.interruptSignal = args['interruptSignal']
46 c._reactor = self._reactor
47 self.command = c
48 d = self.command.start()
49 return d
50
54
57
60