diff options
author | Lars Wirzenius <liw@liw.fi> | 2020-03-13 10:38:42 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2020-03-13 10:53:33 +0200 |
commit | 251d146c53c9269d28633549a2d822507effad03 (patch) | |
tree | 4f986540313402da2879b7a4c375dfc13584b69d /stressgen | |
parent | 57189f39c09d5e39cb44347cf86da827d6383019 (diff) | |
download | subplot-251d146c53c9269d28633549a2d822507effad03.tar.gz |
Add: simplistic stress test
Diffstat (limited to 'stressgen')
-rwxr-xr-x | stressgen | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/stressgen b/stressgen new file mode 100755 index 0000000..4fc5c0d --- /dev/null +++ b/stressgen @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +import sys + + +def generate_prelude(f, basename): + f.write('''\ +--- +title: "stress test" +bindings: {basename}.yaml +functions: {basename}.py +... +'''.format(basename=basename)) + + +def generate_scenario(f, scen_number, steps): + f.write('\n') + f.write('# Scenario {}\n'.format(scen_number)) + f.write('~~~scenario\n') + for i in range(steps): + f.write('given precondition {}\n'.format(i)) + f.write('~~~\n') + + +def generate_bindings(f, num_bindings): + for i in range(num_bindings): + f.write('- given: precondition {}\n'.format(i)) + f.write(' function: nop\n') + + +def generate_functions(f): + f.write('def nop(ctx):\n') + f.write(' pass\n') + + +def main(): + basename = sys.argv[1] + scenarios = int(sys.argv[2]) + steps = int(sys.argv[3]) + + with open(basename + '.md', 'w') as f: + generate_prelude(f, basename) + for i in range(scenarios): + generate_scenario(f, i, steps) + + with open(basename + '.yaml', 'w') as f: + generate_bindings(f, steps) + + with open(basename + '.py', 'w') as f: + generate_functions(f) + + +if __name__ == "__main__": + main() |