From: Karl Hasselström Date: Wed, 23 Jul 2008 21:29:10 +0000 (+0200) Subject: Log subprocess calls during performance testing X-Git-Tag: v0.15-rc1~183 X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/commitdiff_plain/a2f4fe7de51cb580ca587d155f01ad569edd36ae Log subprocess calls during performance testing Log each command's subprocess calls to a separate file. Signed-off-by: Karl Hasselström --- diff --git a/perf/perftest.py b/perf/perftest.py index 7072772..e5ed04b 100644 --- a/perf/perftest.py +++ b/perf/perftest.py @@ -1,4 +1,4 @@ -import datetime, subprocess, sys +import datetime, os, os.path, subprocess, sys def duration(t1, t2): d = t2 - t1 @@ -8,8 +8,16 @@ class Run(object): def __init__(self): self.__cwd = None self.__log = [] + def __logfile(self, cmd): + fn = os.path.join(os.getcwd(), '%04d.log' % len(self.__log)) + f = open(fn, 'w') + f.write(' '.join(cmd) + '\n' + '-'*70 + '\n\n') + f.close() + return fn def __call__(self, *cmd, **args): - kwargs = { 'cwd': self.__cwd } + env = dict(os.environ) + env['STGIT_SUBPROCESS_LOG'] = 'profile:' + self.__logfile(cmd) + kwargs = { 'cwd': self.__cwd, 'env': env } if args.get('capture_stdout', False): kwargs['stdout'] = subprocess.PIPE start = datetime.datetime.now()