summaryrefslogtreecommitdiff
path: root/stressgen
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-03-13 10:38:42 +0200
committerLars Wirzenius <liw@liw.fi>2020-03-13 10:53:33 +0200
commit251d146c53c9269d28633549a2d822507effad03 (patch)
tree4f986540313402da2879b7a4c375dfc13584b69d /stressgen
parent57189f39c09d5e39cb44347cf86da827d6383019 (diff)
downloadsubplot-251d146c53c9269d28633549a2d822507effad03.tar.gz
Add: simplistic stress test
Diffstat (limited to 'stressgen')
-rwxr-xr-xstressgen54
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()