aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-11-25 23:29:06 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-11-25 23:29:06 +0200
commit26873801bcc74a6739eee1cf0e1c20207c588fff (patch)
tree63dce1229bec1b7bdd9a0cdb60e21f7d49d2d682 /interpreter.py
parent3cbe9d32fa8cf7a92cf3bad2821a204e8cf357e6 (diff)
downloadmeson-26873801bcc74a6739eee1cf0e1c20207c588fff.zip
meson-26873801bcc74a6739eee1cf0e1c20207c588fff.tar.gz
meson-26873801bcc74a6739eee1cf0e1c20207c588fff.tar.bz2
Can define benchmarks and run them.
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py
index 3da71a1..6fe0212 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -944,6 +944,7 @@ class Interpreter():
'run_target' : self.func_run_target,
'generator' : self.func_generator,
'test' : self.func_test,
+ 'benchmark' : self.func_benchmark,
'install_headers' : self.func_install_headers,
'install_man' : self.func_install_man,
'subdir' : self.func_subdir,
@@ -1676,7 +1677,13 @@ class Interpreter():
self.generators.append(gen)
return gen
+ def func_benchmark(self, node, args, kwargs):
+ self.add_test(node, args, kwargs, False)
+
def func_test(self, node, args, kwargs):
+ self.add_test(node, args, kwargs, True)
+
+ def add_test(self, node, args, kwargs, is_base_test):
if len(args) != 2:
raise InterpreterException('Incorrect number of arguments')
if not isinstance(args[0], str):
@@ -1718,8 +1725,12 @@ class Interpreter():
if not isinstance(timeout, int):
raise InterpreterException('Timeout must be an integer.')
t = Test(args[0], args[1].held_object, par, cmd_args, env, should_fail, valgrind_args, timeout)
- self.build.tests.append(t)
- mlog.debug('Adding test "', mlog.bold(args[0]), '".', sep='')
+ if is_base_test:
+ self.build.tests.append(t)
+ mlog.debug('Adding test "', mlog.bold(args[0]), '".', sep='')
+ else:
+ self.build.benchmarks.append(t)
+ mlog.debug('Adding benchmark "', mlog.bold(args[0]), '".', sep='')
@stringArgs
def func_install_headers(self, node, args, kwargs):