From 251d146c53c9269d28633549a2d822507effad03 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 13 Mar 2020 10:38:42 +0200 Subject: Add: simplistic stress test --- stressgen | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 stressgen (limited to 'stressgen') 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() -- cgit v1.2.1