diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2019-08-25 04:26:41 +1000 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-08-24 21:26:41 +0300 |
commit | 4ebce2c3f25d98f9ba49d9fcc343ffbe760363af (patch) | |
tree | 9620b6f72a4c713e30c90c5c5e5823cd24a98bd3 /mesonbuild/backend/backends.py | |
parent | e3b21de5630e009f130d2e160a6fc125b5f84e31 (diff) | |
download | meson-4ebce2c3f25d98f9ba49d9fcc343ffbe760363af.zip meson-4ebce2c3f25d98f9ba49d9fcc343ffbe760363af.tar.gz meson-4ebce2c3f25d98f9ba49d9fcc343ffbe760363af.tar.bz2 |
Add test priorities to force test start order
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 512eeed..c0b2666 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -86,7 +86,7 @@ class TestSerialisation: is_parallel: bool, cmd_args: typing.List[str], env: build.EnvironmentVariables, should_fail: bool, timeout: typing.Optional[int], workdir: typing.Optional[str], - extra_paths: typing.List[str], protocol: str): + extra_paths: typing.List[str], protocol: str, priority: int): self.name = name self.project_name = project self.suite = suite @@ -103,6 +103,7 @@ class TestSerialisation: self.workdir = workdir self.extra_paths = extra_paths self.protocol = protocol + self.priority = priority class OptionProxy: def __init__(self, value): @@ -728,7 +729,7 @@ class Backend: def create_test_serialisation(self, tests): arr = [] - for t in tests: + for t in sorted(tests, key=lambda tst: -1 * tst.priority): exe = t.get_exe() if isinstance(exe, dependencies.ExternalProgram): cmd = exe.get_command() @@ -770,7 +771,8 @@ class Backend: raise MesonException('Bad object in test command.') ts = TestSerialisation(t.get_name(), t.project_name, t.suite, cmd, is_cross, exe_wrapper, t.is_parallel, cmd_args, t.env, - t.should_fail, t.timeout, t.workdir, extra_paths, t.protocol) + t.should_fail, t.timeout, t.workdir, + extra_paths, t.protocol, t.priority) arr.append(ts) return arr |