diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-06 19:13:30 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-06 19:13:30 +0200 |
commit | 54e47554c36870a43061c0860e5a69494c18cc02 (patch) | |
tree | 4793982ba93ee7fce0422ff3b66422bb8f9c9480 /interpreter.py | |
parent | c8fee3d4172f39da5bb05077a57a57284825007e (diff) | |
download | meson-54e47554c36870a43061c0860e5a69494c18cc02.zip meson-54e47554c36870a43061c0860e5a69494c18cc02.tar.gz meson-54e47554c36870a43061c0860e5a69494c18cc02.tar.bz2 |
Added unit test functionality to builder.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-x | interpreter.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py index cb9b4d2..9d3aa78 100755 --- a/interpreter.py +++ b/interpreter.py @@ -87,7 +87,6 @@ class Executable(BuildTarget): self.filename = self.name + '.' + suffix else: self.filename = self.name - class StaticLibrary(BuildTarget): def __init__(self, name, sources, environment): @@ -103,6 +102,18 @@ class SharedLibrary(BuildTarget): suffix = environment.get_shared_lib_suffix() self.filename = prefix + self.name + '.' + suffix +class Test(InterpreterObject): + def __init__(self, name, exe): + InterpreterObject.__init__(self) + self.name = name + self.exe = exe + + def get_exe(self): + return self.exe + + def get_name(self): + return self.name + class Interpreter(): def __init__(self, code, environment): @@ -115,6 +126,7 @@ class Interpreter(): self.environment = environment self.static_linker = self.environment.detect_static_linker() self.build_func_dict() + self.tests = [] def build_func_dict(self): self.funcs = {'project' : self.func_project, @@ -123,7 +135,8 @@ class Interpreter(): 'executable': self.func_executable, 'find_dep' : self.func_find_dep, 'static_library' : self.func_static_lib, - 'shared_library' : self.func_shared_lib + 'shared_library' : self.func_shared_lib, + 'add_test' : self.func_add_test } def get_project(self): @@ -131,6 +144,9 @@ class Interpreter(): def get_targets(self): return self.targets + + def get_tests(self): + return self.tests def sanity_check_ast(self): if not isinstance(self.ast, nodes.CodeBlock): @@ -216,6 +232,12 @@ class Interpreter(): def func_shared_lib(self, node, args): return self.build_target(node, args, SharedLibrary) + + def func_add_test(self, node, args): + self.validate_arguments(args, 2, [str, Executable]) + t = Test(args[0], args[1]) + self.tests.append(t) + print('Adding test "%s"' % args[0]) def build_target(self, node, args, targetclass): for a in args: |