'Runs a self.cmd in a subprocess and waits for it to finish.
It returns False if errors or failures occur. Otherwise, it
returns True.'

def run_test(self):

    cmd = '    '.join(self.cmd)
    if tasks.environment.dry_run:
        tasks.environment.info(cmd)
        return
    sys.stdout.write(cmd)
    msg = colorize('green', '\n{bar}\n    Running    tests    for    {suite_name}    \n{bar}\n'.format(suite_name=self.root, bar=('=' * 40)))
    sys.stdout.write(msg)
    sys.stdout.flush()
    kwargs = {'shell': True, 'cwd': None}
    process = None
    try:
        process = subprocess.Popen(cmd, **kwargs)
        return (process.wait() == 0)
    except KeyboardInterrupt:
        kill_process(process)
        sys.exit(1)
