summary refs log tree commit diff stats
path: root/all_benchmarks.py
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-04-29 16:14:50 +0200
committerhut <hut@lavabit.com>2010-04-29 19:23:37 +0200
commitd76fd5b7666cd1e7b9ff4eb51a822e1ab41fac28 (patch)
treef6d53c1c9be06fb7320f43bed0ee4539aa74583f /all_benchmarks.py
parentbb5bfad4426eac02d0d855dd7f6ccf8ed5cc84f9 (diff)
downloadranger-d76fd5b7666cd1e7b9ff4eb51a822e1ab41fac28.tar.gz
Separated benchmark from testcase
Diffstat (limited to 'all_benchmarks.py')
-rwxr-xr-xall_benchmarks.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/all_benchmarks.py b/all_benchmarks.py
new file mode 100755
index 00000000..c03d0d92
--- /dev/null
+++ b/all_benchmarks.py
@@ -0,0 +1,31 @@
+#!/usr/bin/python
+"""Run all the tests inside the test/ directory as a test suite."""
+if __name__ == '__main__':
+	from test import *
+	from time import time
+	from types import FunctionType as function
+	from sys import argv
+	bms = []
+	try:
+		n = int(argv[1])
+	except IndexError:
+		n = 10
+	for key, val in vars().copy().items():
+		if key.startswith('bm_'):
+			bms.extend(v for k,v in vars(val).items() if type(v) == type)
+	for bmclass in bms:
+		for attrname in vars(bmclass):
+			if not attrname.startswith('bm_'):
+				continue
+			bmobj = bmclass()
+			t1 = time()
+			method = getattr(bmobj, attrname)
+			methodname = "{0}.{1}".format(bmobj.__class__.__name__, method.__name__)
+			try:
+				method(n)
+			except:
+				print("{0} failed!".format(methodname))
+				raise
+			else:
+				t2 = time()
+				print("{0:60}: {1:10}s".format(methodname, t2 - t1))