53 def __init__(self, **kwargs): |
53 def __init__(self, **kwargs): |
54 setattr(self, 'name', kwargs['name']) |
54 setattr(self, 'name', kwargs['name']) |
55 setattr(self, 'options', kwargs.get('options', '-n').split()) |
55 setattr(self, 'options', kwargs.get('options', '-n').split()) |
56 setattr(self, 'filenames', kwargs.get('filenames', '').split()) |
56 setattr(self, 'filenames', kwargs.get('filenames', '').split()) |
57 for key in ('directory', 'prerun', 'posttest', 'baseline', 'error', |
57 for key in ('directory', 'prerun', 'posttest', 'baseline', 'error', |
58 'grep', 'antigrep', 'input', 'output'): |
58 'grep', 'antigrep', 'input', 'output', 'cleanup'): |
59 setattr(self, key, kwargs.get(key, None)) |
59 setattr(self, key, kwargs.get(key, None)) |
60 |
60 |
61 def get_results(self, commands, stdin=None): |
61 def get_results(self, commands, stdin=None): |
62 print >>output_buffer, "Output from %s:" % (' '.join(commands),) |
62 print >>output_buffer, "Output from %s:" % (' '.join(commands),) |
63 output_buffer.flush() |
63 output_buffer.flush() |
100 return 0 |
100 return 0 |
101 self.write_script(self.posttest) |
101 self.write_script(self.posttest) |
102 return subprocess.call(['sh', TESTSCRIPT_NAME]) |
102 return subprocess.call(['sh', TESTSCRIPT_NAME]) |
103 |
103 |
104 def clean(self): |
104 def clean(self): |
|
105 if self.cleanup is not None: |
|
106 self.write_script(self.cleanup) |
|
107 subprocess.call(['sh', TESTSCRIPT_NAME]) |
105 if self.directory: |
108 if self.directory: |
106 target = os.path.join(ROOT_DIR, self.directory) |
109 target = os.path.join(ROOT_DIR, self.directory) |
107 extra_options = ['!', '-name', TESTSCRIPT_NAME] |
110 extra_options = ['!', '-name', TESTSCRIPT_NAME] |
108 else: |
111 else: |
109 target = ROOT_DIR |
112 target = ROOT_DIR |