diff options
author | Lars Wirzenius <liw@liw.fi> | 2020-01-06 12:27:31 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2020-01-06 12:27:31 +0200 |
commit | 5c88adc4fa0a5bf25f833fe763deb0e333f7cc0c (patch) | |
tree | 0c82e8a07529fb3147429c8d287239f5c0de92e1 /subplot.py | |
parent | e4f86d7055d4375c571e8f7f9a0bf0e220ca30c7 (diff) | |
download | subplot-5c88adc4fa0a5bf25f833fe763deb0e333f7cc0c.tar.gz |
Change: implement other functions
Diffstat (limited to 'subplot.py')
-rw-r--r-- | subplot.py | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -1,30 +1,42 @@ +import os +import subprocess + def create_file(ctx, filename=None): with open(filename, 'wb') as f: f.write(get_file(filename)) def run_docgen(ctx, md=None, output=None): - runcmd(ctx, ['cargo', 'run', '-q', '--bin', 'sp-docgen', md, '-o', output]) + docgen = binary('sp-docgen') + runcmd(ctx, [docgen, md, '-o', output]) + exit_code_zero(ctx) def run_codegen(ctx, filename=None): - pass + codegen = binary('sp-codegen') + runcmd(ctx, [codegen, filename, '-o', 'test.py', '--run']) + exit_code_zero(ctx) def file_exists(ctx, filename=None): - pass + assert_eq(os.path.exists(filename), True) def scenario_was_run(ctx, name=None): - pass + stdout_matches(ctx, '\nrunning scenario: {}\n'.format(name)) def step_was_run(ctx, keyword=None, name=None): - pass + stdout_matches(ctx, '\n step: {}\n'.format(name)) def exit_code_zero(ctx): - pass + assert_eq(ctx.get('exit'), 0) -import subprocess +def binary(basename): + return os.path.join(srcdir, 'target', 'debug', basename) + +def stdout_matches(ctx, pattern): + stdout = ctx.get('stdout', '') + return pattern in stdout def runcmd(ctx, argv): p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p.communicate("") - ctx['stdout'] = stdout - ctx['stderr'] = stderr + ctx['stdout'] = stdout.decode('utf-8') + ctx['stderr'] = stderr.decode('utf-8') ctx['exit'] = p.returncode |