From 1b2d427cedd44dabd83c0afdf9eca061731c78c9 Mon Sep 17 00:00:00 2001 From: francois Date: Thu, 30 Apr 2026 23:23:31 +0200 Subject: [PATCH] Add parallel test item with thread-aware stdout routing The parallel item runs branches concurrently with sync:all or sync:any policy and optional per-branch wait_for synchronization. Each branch runs in its own daemon thread and produces a clean per-item entry in the SQLite report; the live output is prefixed [] so concurrent branches stay readable. Supporting changes: - StdoutProxy (lib/stdout_redirect.py): thread-aware sys.stdout/stderr with per-thread capture buffers and per-branch live-output prefix. Adds writeln() for Python 3.14 unittest compatibility. - TestItemContainer: shared base extracted from Group/Cycle for the sequential children execution pattern. - TestItemSleep: interruptible loop polling _is_stopped so sync:any can cancel slow branches quickly. - TestReport: thread-safe SQLite (check_same_thread=False + lock). Also drops the unused -m/--terminal mode and its module. Validation: 11 scenarios in test/validation/items/parallel covering sync:all/any, no_fail, wait_for + timeout, conditions, multi-branch, nested parallel, parallel inside loop, real branch failure. Documentation: new parallel_test_item.rst added to the manual. Co-Authored-By: Claude Opus 4.7 --- CLAUDE.md | 76 ++- .../source/test_items/parallel_test_item.rst | 96 +++ doc/manual/sphinx/source/tum_syntax.rst | 1 + doc/manual/testium_manual.pdf | Bin 679621 -> 681810 bytes src/lib/stdout_redirect.py | 130 +++- src/testium/__init__.py | 28 +- src/testium/interpreter/terminal.py | 246 ------- .../test_items/test_item_container.py | 37 + .../test_items/test_item_parallel.py | 175 +++++ .../interpreter/test_items/test_item_sleep.py | 5 +- .../interpreter/test_report/test_report.py | 7 +- src/testium/interpreter/utils/constants.py | 2 + src/testium/interpreter/utils/test_init.py | 3 + .../main_win/resources/black/parallel.png | Bin 0 -> 654 bytes .../main_win/resources/color/parallel.png | Bin 0 -> 1208 bytes .../main_win/resources/testium_core_win.qrc | 3 + .../main_win/resources/testium_core_win_rc.py | 645 +++++++++++------- .../main_win/resources/white/parallel.png | Bin 0 -> 480 bytes .../test_tree_items/test_tree_item.py | 2 + test/validation/items/parallel/parallel.py | 16 + test/validation/items/parallel/param.yaml | 1 + test/validation/items/parallel/test.tum | 343 ++++++++++ 22 files changed, 1258 insertions(+), 558 deletions(-) create mode 100644 doc/manual/sphinx/source/test_items/parallel_test_item.rst delete mode 100644 src/testium/interpreter/terminal.py create mode 100644 src/testium/interpreter/test_items/test_item_container.py create mode 100644 src/testium/interpreter/test_items/test_item_parallel.py create mode 100644 src/testium/main_win/resources/black/parallel.png create mode 100644 src/testium/main_win/resources/color/parallel.png create mode 100644 src/testium/main_win/resources/white/parallel.png create mode 100644 test/validation/items/parallel/parallel.py create mode 100644 test/validation/items/parallel/param.yaml create mode 100644 test/validation/items/parallel/test.tum diff --git a/CLAUDE.md b/CLAUDE.md index c12529d..1586f33 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,26 +2,25 @@ ## What is testium -Testium is a test sequencer/runner written in Python. It executes YAML-based test scripts ("`.tum`" files) and supports three execution modes: +Testium is a test sequencer/runner written in Python. It executes YAML-based test scripts ("`.tum`" files) and supports two execution modes: - **GUI mode** (default, no flag): PySide6 Qt application (`src/testium/main_win/`) - **Batch mode** (`-b` / `--batch-execution`): headless, non-interactive, runs tests and exits -- **Terminal mode** (`-m` / `--terminal`): interactive REPL in the terminal (partially implemented / work-in-progress) Run from repo root: `./run.sh` (Linux) or `run.bat` / `run.ps1` (Windows). -Direct invocation: `python3 -m src/testium [-b|-m] ` +Direct invocation: `python3 -m src/testium [-b] ` ## Architecture ### Entry point -`src/testium/__init__.py` — parses CLI args, dispatches to the three modes. +`src/testium/__init__.py` — parses CLI args, dispatches to the two modes. `multiprocessing.set_start_method('spawn')` is called early (required for Linux dialog subprocesses). ### Core execution - `src/testium/interpreter/process.py` — `TestProcess(multiprocessing.Process)`: runs the test in a child process. Stdout is redirected via a `StringQueue` → pipe → parent thread (`capture_stdout`) that writes to real stdout. - `src/testium/interpreter/batch.py` — `Batch`: parent-side orchestrator for `-b` mode. Creates the `msg_queue`, starts `TestProcess`, waits for the "finished" signal. - `src/testium/interpreter/test_set.py` — `TestSet`: builds and executes the tree of test items. -- `src/testium/interpreter/test_items/test_item*.py` — one file per test item type (check, cycle, group, let, unittest, py_func, lua_func, console, git, dialogs, report, …). +- `src/testium/interpreter/test_items/test_item*.py` — one file per test item type (check, cycle, group, let, unittest, py_func, lua_func, console, git, dialogs, report, parallel, …). ### Communication channels (parent ↔ child process) - `msg_queue` (`multiprocessing.Queue`): carries status messages from child to parent. @@ -44,7 +43,7 @@ test item print() `src/testium/interpreter/utils/globdict.py` — shared state accessible from test scripts via `tm.gd()` / `tm.setgd()`. When `set_update_queue()` is active (during test execution), every `setgd`/`delgd` on a non-`_`-prefixed key pushes a message to `msg_queue`. ### Coloring (`-o` disables it) -`src/testium/interpreter/utils/termlog.py` — `TermLog` wraps stdout with colorama-based line coloring (PASS=green, FAIL=red, WARN=yellow, …). Applied in parent process for batch/terminal modes. Auto-detects light/dark terminal background via (in order): `COLORFGBG` env var, OSC 11 query, default dark. +`src/testium/interpreter/utils/termlog.py` — `TermLog` wraps stdout with colorama-based line coloring (PASS=green, FAIL=red, WARN=yellow, …). Applied in parent process for batch mode. Auto-detects light/dark terminal background via (in order): `COLORFGBG` env var, OSC 11 query, default dark. ### Dialog items in batch mode All dialog items (`dialog_image`, `dialog_question`, `dialog_references`, `dialog_value`, `dialog_message`, `dialog_choices`, `dialog_note`) follow this rule in non-interactive text mode (`-b`): @@ -54,6 +53,50 @@ All dialog items (`dialog_image`, `dialog_question`, `dialog_references`, `dialo `auto_result` (and `auto_value` for value/note dialogs) is intended for the validation test suite (`test/validation/`) only. +### `parallel` item +`src/testium/interpreter/test_items/test_item_parallel.py` — runs multiple branches concurrently. + +```yaml +- parallel: + name: My parallel block + sync: all # all: wait for all; any: stop as soon as one finishes + no_fail: true # (optional) don't propagate branch failures to parent + branches: + - name: Branch A + wait_for: # (optional) poll condition before starting + condition: <| expr |> + timeout: 10 + steps: + - ... + - name: Branch B + steps: + - ... +``` + +- `TestItemParallel(TestItemContainer)`: mutates `dict_item["steps"]` to inject synthetic `parallel_branch` items so `load_test_recursively` loads branches normally as children. +- `TestItemParallelBranch(TestItemContainer)`: container for one branch. `wait_for` polls every 0.1s up to `timeout` seconds before running steps. +- `sync: any` calls `_stop_branch_recursively()` on all other branches when one *actually runs* (SUCCESS/FAILURE). A `NORUN` branch (disabled, condition not met) never wins the race. +- Each branch runs in a daemon thread; the parent waits with `.join()`. +- Branches stopped late (e.g. user disabled them in the GUI, or another sync:any branch already won) go through the normal `branch.stop() + branch.execute()` path so they always produce a clean DB entry via `addTest()`. +- Exceptions raised in a branch's `execute()` are caught by `run_branch`, logged to stdout, and converted to a `FAILURE` result so they never disappear silently. +- `sync: all` ignores `NORUN` branches when computing success (matches Group/Cycle semantics): only an actual `FAILURE` fails the parallel. +- `TestItemSleep` is interruptible (polls `self._is_stopped` in a loop) so `sync: any` can stop slow branches quickly. `py_func` and `console` items are not interruptible; their full duration is observed before the branch returns. + +### `TestItemContainer` base class +`src/testium/interpreter/test_items/test_item_container.py` — shared base for Group, Cycle, Parallel, and ParallelBranch. Provides `_run_children_sequentially()` which handles stop-on-failure, `executedOnStop` items, and returns `(TestResult, stopped_bool)`. + +### Report threading +`src/testium/interpreter/test_report/test_report.py` — SQLite report with thread-safe writes: +- `sqlite3.connect(..., check_same_thread=False)` +- `self._lock = threading.Lock()` guards the SQLite `INSERT` only. +- Per-item log capture (`stdio_redir.read()`) is naturally race-free thanks to per-thread buffers (see `StdoutProxy`). + +### Thread-aware stdout (`StdoutProxy`) +`src/lib/stdout_redirect.py` — when `log_stored: True`, `intercept()` installs a `StdoutProxy` as `sys.stdout`/`sys.stderr` instead of a single shared `StringQueue`. The proxy: +- Holds one `StringQueue` per thread (registered via `register_thread(buffer=...)`). The main thread uses a default buffer; each parallel branch's thread registers its own at start and unregisters at end. `stdio_redir.read()` reads the calling thread's buffer → `addTest()` of an item running in branch X reads X's clean, non-interleaved output. +- For the live stream (terminal in batch / GUI panel), prefixes every line emitted from a branch's thread with `[] ` so concurrent branches stay readable. +- Exposes `write` / `writeln` / `flush` (Python 3.14's `unittest` calls `stream.writeln()` directly without `_WritelnDecorator`). + ## Key files | Path | Role | @@ -61,8 +104,9 @@ All dialog items (`dialog_image`, `dialog_question`, `dialog_references`, `dialo | `src/testium/__init__.py` | CLI entry, mode dispatch | | `src/testium/interpreter/batch.py` | `-b` mode orchestrator | | `src/testium/interpreter/process.py` | Child test process | -| `src/testium/interpreter/terminal.py` | `-m` mode (WIP) | | `src/testium/interpreter/test_set.py` | Test tree builder/executor | +| `src/testium/interpreter/test_items/test_item_container.py` | Base class for container items | +| `src/testium/interpreter/test_items/test_item_parallel.py` | `parallel` and `parallel_branch` items | | `src/testium/interpreter/utils/globdict.py` | Global variable dict | | `src/testium/interpreter/utils/termlog.py` | Terminal color output | | `src/lib/stdout_redirect.py` | `StdioRedirect` singleton (`stdio_redir`) | @@ -91,9 +135,6 @@ pyside6-rcc testium_core_win.qrc -o testium_core_win_rc.py Icons are assigned once when the test file is loaded (not updated live on theme change — a file reload is required). -## Known issues / WIP -- `-m` (terminal mode) is not functional yet. - ### `run` item `src/testium/interpreter/test_items/test_item_run.py` — launches a `.tum` file in a new testium instance (`-b` in batch mode, `-r` in GUI mode). Result: - **SUCCESS** if the sub-instance launched and ran to completion (exit code is ignored) @@ -101,6 +142,15 @@ Icons are assigned once when the test file is loaded (not updated live on theme The sub-test's own pass/fail result is intentionally not propagated. +## Recent fixes (branch `parallel_execution`) +- `test_item_parallel.py`: new `parallel` item with `sync: all|any`, `wait_for`, daemon threads, `_stop_branch_recursively()`. Each branch thread registers a per-thread stdout buffer with `stdio_redir.register_thread(...)` so its log capture and live-output prefix work in isolation. +- `test_item_container.py`: new `TestItemContainer` base class extracted from Group/Cycle patterns +- `test_item_sleep.py`: interruptible loop (checks `self._is_stopped`) instead of blocking `time.sleep()` so `sync: any` can stop slow branches quickly +- `stdout_redirect.py`: rewrote `intercept()` to install a `StdoutProxy` (thread-aware: per-thread capture buffers + branch-prefixed live output). Adds `writeln()` for Python 3.14 unittest compatibility. +- `test_report.py`: `check_same_thread=False` + lock around the SQLite `INSERT` for parallel branch concurrency. Log capture itself is race-free thanks to per-thread buffers. +- `__init__.py`: removed `-m`/`--terminal` mode +- `terminal.py`: deleted + ## Recent fixes (branch `text_no_pyside`) - `batch.py`: premature loop exit when `gd_update` messages (no `"id"` key) were mistaken for the "finished" signal — fix: `"id" in m and m["id"] is None` - `batch.py`: `control("loaded")` deadlock if `TestProcess` crashed before `cmd_th` started — fix: daemon thread + `threading.Event` + `is_alive()` polling @@ -109,7 +159,11 @@ The sub-test's own pass/fail result is intentionally not propagated. - `run` item: removed `stdout=PIPE` (caused deadlock with `multiprocessing` spawn); simplified result to SUCCESS on any completed subprocess. ## Validation tests -Located in `test/validation/`. Run with `-b` flag against each `.tum` file. +Located in `test/validation/`. Run with `-b` flag: +``` +./run.sh -b -l mon_log.log -- test/validation/main.tum +``` +Parallel item tests: `test/validation/items/parallel/test.tum` ## Dependencies See `src/requirements.txt`. Key ones: `pyside6`, `pyyaml`, `jinja2`, `colorama`, `gitpython`, `pexpect`, `matplotlib`. diff --git a/doc/manual/sphinx/source/test_items/parallel_test_item.rst b/doc/manual/sphinx/source/test_items/parallel_test_item.rst new file mode 100644 index 0000000..7baa3de --- /dev/null +++ b/doc/manual/sphinx/source/test_items/parallel_test_item.rst @@ -0,0 +1,96 @@ +.. _sec_parallel_item: + +**parallel** test item +============================================================ + +This element is of the following form: + +.. code-block:: yaml + :caption: ``parallel`` test item usage example + + - parallel: + name: My parallel block + sync: all + branches: + - name: Branch A + steps: + - py_func: + name: Long operation + file: long_op.py + func_name: do_work + - name: Branch B + wait_for: + condition: <| "$(ready_flag)" == "True" |> + timeout: 30 + steps: + - let: + name: Mark done + values: + - branch_b_done: true + +The ``parallel`` element runs several sequences of items concurrently. Each +inner sequence is called a *branch* and runs in its own thread. The parent +test item waits for branches to finish according to the ``sync`` policy. + +Attributes +-------------------- + +* ``branches``: required. A list of branches to execute concurrently. Each + branch has a ``name`` and a ``steps`` list (same structure as a ``group`` + item). It can also declare a ``wait_for`` precondition (see below). +* ``sync``: optional, defaults to ``all``. + + * ``all``: the parallel item completes when *every* branch has finished. + The result is ``PASS`` if no branch returned ``FAIL`` (skipped or + disabled branches are ignored, like in ``group``); otherwise ``FAIL``. + * ``any``: the parallel item completes as soon as the *first* branch + finishes. The remaining branches are stopped (their next test items + are not executed). The result is ``PASS`` if at least one branch + succeeded. + +* ``no_fail``: optional. When ``true``, a ``FAIL`` result is forced to + ``PASS`` for the parallel item itself (same semantics as for any test + item). Branches keep their own result. + +Branch attributes +-------------------- + +Each entry of ``branches`` is a dict with the following attributes: + +* ``name``: required. The branch name. Used in reports and as a prefix + in the live log output (each line printed by the branch is prefixed + with ``[] `` so concurrent branches stay readable). +* ``steps``: required. The list of test items executed sequentially + inside the branch. +* ``wait_for``: optional. Forces the branch to wait until a condition is + met before running its steps. If the timeout elapses, the branch + returns ``FAIL`` (the steps are not run). Sub-attributes: + + * ``condition``: a testium expression evaluated repeatedly (every + 100 ms) until it returns ``True``. + * ``timeout``: maximum wait, in seconds. Defaults to 30. + +Reporting +-------------------- + +Each branch produces its own row in the SQLite report (with type +``Parallel branch``), in addition to the parent ``Parallel`` row. The +``log`` column of each row contains only the output emitted from that +branch's thread, so logs are never mixed between concurrent branches. + +In the live (terminal / GUI) output, lines emitted from a branch are +prefixed with ``[] ``. The prefix is not stored in the +SQLite log column. + +Notes +-------------------- + +* A ``sleep`` item inside a branch is interruptible: if another + ``sync: any`` branch wins the race, slow ``sleep`` items are aborted + within ~50 ms. +* A ``py_func`` or ``console`` item inside a branch is **not** + interruptible: a ``sync: any`` stop will only take effect after the + current item returns. The branch will then skip its remaining steps. +* When a user disables a branch in the GUI tree, the branch returns + ``SKIP`` instantly without affecting the others (it does *not* win a + ``sync: any`` race). diff --git a/doc/manual/sphinx/source/tum_syntax.rst b/doc/manual/sphinx/source/tum_syntax.rst index 2b4403d..0997d2b 100644 --- a/doc/manual/sphinx/source/tum_syntax.rst +++ b/doc/manual/sphinx/source/tum_syntax.rst @@ -255,6 +255,7 @@ step list attributes. test_items/let_test_item.rst test_items/loop_test_item.rst test_items/lua_func_test_item.rst + test_items/parallel_test_item.rst test_items/plot_test_item.rst test_items/report_test_item.rst test_items/run_test_item.rst diff --git a/doc/manual/testium_manual.pdf b/doc/manual/testium_manual.pdf index f1fef5aba1a0c3973d691b9dd4ffde72205c3784..046607a88c51d501b034ea7496e4babd4de2d97f 100644 GIT binary patch delta 128895 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 delta 126665 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%0D6?l%w_!3Zkv*4~;d%lKVeW4kxT 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 >ZC~63oi2~S! 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%0AqFll=+1!2E4zT!Ljb-y0Z!*C;F3uV1MQ#IIeX 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 diff --git a/src/lib/stdout_redirect.py b/src/lib/stdout_redirect.py index 1adc047..b827622 100644 --- a/src/lib/stdout_redirect.py +++ b/src/lib/stdout_redirect.py @@ -1,8 +1,88 @@ import sys +import threading from threading import (Thread, Event) from lib.string_queue import StringQueue from time import (sleep) + +class StdoutProxy: + """Thread-aware stdout proxy. + + Each writing thread can be associated with: + - a per-thread buffer (StringQueue) where its writes are captured for the + per-item SQLite log column; + - a 'branch' label, used to prefix each line in the live (parent-visible) + output stream so concurrent branches are easy to read. + + Threads with no association fall back to the default buffer (the "main" + thread's buffer) and write to live output without prefix. + """ + + def __init__(self, live_stream, default_buffer): + self.live_stream = live_stream + self.default_buffer = default_buffer + self._buffers = {} + self._branches = {} + self._lock = threading.Lock() + + def register(self, tid=None, buffer=None, branch=None): + if tid is None: + tid = threading.get_ident() + with self._lock: + if buffer is not None: + self._buffers[tid] = buffer + if branch is not None: + self._branches[tid] = branch + + def unregister(self, tid=None): + if tid is None: + tid = threading.get_ident() + with self._lock: + self._buffers.pop(tid, None) + self._branches.pop(tid, None) + + def get_buffer(self, tid=None): + if tid is None: + tid = threading.get_ident() + with self._lock: + return self._buffers.get(tid, self.default_buffer) + + def write(self, s): + if not s: + return + tid = threading.get_ident() + with self._lock: + buf = self._buffers.get(tid, self.default_buffer) + branch = self._branches.get(tid) + # Per-thread capture: clean, no prefix + buf.write(s) + # Live stream: prefix each line with the branch label + if branch: + self.live_stream.write(self._prefix(s, f'[{branch}] ')) + else: + self.live_stream.write(s) + + @staticmethod + def _prefix(s, prefix): + ends_nl = s.endswith('\n') + body = s[:-1] if ends_nl else s + if body == '': + return s + prefixed = '\n'.join(prefix + line for line in body.split('\n')) + if ends_nl: + prefixed += '\n' + return prefixed + + def writeln(self, s=''): + self.write(s + '\n') + + def flush(self): + try: + self.live_stream.flush() + except AttributeError: + pass + + class StdioRedirect: def __init__(self): @@ -28,48 +108,38 @@ class StdioRedirect: def intercept(self): if not self.spy_enabled: - self.thr_started = Event() - self.log_buf = StringQueue() - self.in_stream = StringQueue() - self.stop_output = Event() - self.thrd_out = Thread(target=self.interceptStdOut) - self.thrd_out.daemon = True - sys.stdout = self.in_stream - sys.stderr = self.in_stream - self.stream = self.in_stream - self.thrd_out.start() - self.thr_started.wait() + self.log_buf = StringQueue() # default buffer (main thread) + self.proxy = StdoutProxy(self.out_stream, self.log_buf) + sys.stdout = self.proxy + sys.stderr = self.proxy + self.stream = self.proxy self.spy_enabled = True - def stop(self): if self.spy_enabled: sys.stdout = self.out_stream sys.stderr = self.out_stream self.stream = self.out_stream - self.stop_output.set() - self.thrd_out.join() del self.log_buf - del self.in_stream - del self.stop_output - del self.thrd_out - del self.thr_started + del self.proxy self.spy_enabled = False - def interceptStdOut(self): - self.thr_started.set() - while not self.stop_output.is_set(): - data = self.in_stream.read() - self.log_buf.write(data) - self.out_stream.write(data) - if data == '': - sleep(0.1) - def read(self): - ret = '' + """Read accumulated content from the calling thread's buffer.""" + if not self.spy_enabled: + return '' + return self.proxy.get_buffer().read() + + def register_thread(self, buffer=None, branch=None): + """Register the calling thread's per-thread buffer and/or branch label.""" if self.spy_enabled: - ret = self.log_buf.read() - return ret + self.proxy.register(buffer=buffer, branch=branch) + + def unregister_thread(self): + """Drop the calling thread's registration.""" + if self.spy_enabled: + self.proxy.unregister() + stdio_redir = StdioRedirect() diff --git a/src/testium/__init__.py b/src/testium/__init__.py index 886b05f..99a253c 100755 --- a/src/testium/__init__.py +++ b/src/testium/__init__.py @@ -21,10 +21,8 @@ def main(): help="Returns the version of testium", action='store_true') parser.add_argument("-b", "--batch-execution", help="Executes the test in batch mode", action='store_true') - parser.add_argument("-m", "--terminal", - help="Starts terminal mode", action='store_true') parser.add_argument("-o", "--no-color", - help="Deactivates stdout colors in batch and terminal mode", action='store_true') + help="Deactivates stdout colors in batch mode", action='store_true') parser.add_argument("-c", "--config-file", help="Configuration file", nargs='+', default=[]) @@ -95,30 +93,6 @@ def main(): from interpreter.utils.version import get_testium_version print(get_testium_version()) - elif args.terminal: - import select - from interpreter.terminal import Terminal - - if (lf != '') or (rf != '') or (tf != '') or (pn != []): - print('"-l", "-p", "-t", "-n" options are not supported in this mode.') - - t = Terminal(os.getcwd(), cf, defines, args.no_color, text_mode=True) - - loop = 1 - while loop: - try: - loop = 0 - t.cmdloop() - except KeyboardInterrupt: - print("\n") - loop = 1 - except Exception as exc: - if str(exc) == 'quit': - break - print(exc) - loop = 1 - - elif args.batch_execution: if (lf != ''): print('"-l" option is not supported in this mode.') diff --git a/src/testium/interpreter/terminal.py b/src/testium/interpreter/terminal.py deleted file mode 100644 index 87bc44b..0000000 --- a/src/testium/interpreter/terminal.py +++ /dev/null @@ -1,246 +0,0 @@ -try: - import readline -except: - pass -from cmd import Cmd -import os -import sys -from yaml import load, Loader -import functools -import platform -import types -import inspect - -# test modules -from interpreter.utils.test_init import ( - env_init, prepare_global, set_standard_gd_keys, - update_global, test_run_init, test_run_header, load_test) -from interpreter.utils.globdict import (global_dict) -import libs.testium as tm -from interpreter.utils.constants import TestItemType as cst -from interpreter.test_report.test_report import TestReport - - -class FakeQueue: - def put(self, arg): - pass - - -def func(self, args): - if not args.startswith("{"): - args = "{"+args+"}" - y = load(args, Loader) - obj = self.current_item(y, status_queue=FakeQueue()) - obj.report = self.report - res = obj.execute() - if not (res.value is None): - print('result : {}'.format(res.value)) - print(res.test_result) - - -class Terminal(Cmd): - SUPPORTED_TESTS = [ - cst.TYPE_SLEEP, - cst.TYPE_LET, - cst.TYPE_PY_FUNCTION, - cst.TYPE_LUA_FUNCTION, - cst.TYPE_CONSOLE, - cst.TYPE_IMAGE_DLG, - cst.TYPE_MESSAGE_DLG, - cst.TYPE_QUESTION_DLG, - cst.TYPE_VALUE_DLG, - ] - - SUPPORTED_GROUPS = [ - cst.TYPE_GROUP, - cst.TYPE_CYCLE - ] - - def __init__(self, working_dir, config_files, defines, no_color, text_mode=False): - super().__init__() - self.working_dir = working_dir - self.config_files = config_files - self.current_item = None - report = TestReport(None) - self.report = report - - env_init() - prepare_global() - # Define the builtin variables - set_standard_gd_keys("Unnamed", self.working_dir, '', config_files) - update_global([], defines) - if text_mode: - tm.setgd("_text_mode", True) - - # creation of the functions - for tst in self.SUPPORTED_TESTS: - meth_name = "do_" + tst.item_cmd - # copy of the function - f = types.FunctionType(func.__code__, func.__globals__, name=meth_name, - argdefs=func.__defaults__, - closure=func.__closure__) - f = functools.update_wrapper(f, func) - f.__kwdefaults__ = func.__kwdefaults__ - f.__doc__ = tst.item_class.__doc__ - setattr(self, meth_name, types.MethodType(f, self)) - - test_run_init() - self.prompt = "(testium)~ " - - # display header - print(test_run_header()) - # redirect output - - if 'Linux' in platform.system() and not no_color: - from lib.stdout_redirect import stdio_redir - try: - from interpreter.utils.termlog import TermLog - stdio_redir.redirect(TermLog(sys.stdout)) - except ModuleNotFoundError: - tm.print_info('Colored console not supported by the system.' + - ' If you want it, please install colorama module') - - def precmd(self, line: str) -> str: - c = line.split(" ", 1)[0].strip() - self.current_item = None - for tst in self.SUPPORTED_TESTS: - if c == tst.item_cmd: - self.current_item = tst.item_class - break - return line - - def load_test_recursively(self, tree_parent, parent_seq, status_queue): - try: - parent_seq_name = parent_seq['name'] - except KeyError: - parent_seq['name'] = "sequence" - except TypeError: - raise Exception("Syntax error in an item of type {} which is a child of {}".format( - tree_parent.type(), tree_parent.parent().name())) - try: - parent_seq_actions = parent_seq['steps'] - except KeyError: - raise Exception(' No action list found for "%s" sequence' - % (parent_seq_name)) - # if action is a dictionary , we assume it is a single action - # that has not been nested in a list, so do it - if isinstance(parent_seq_actions, (dict)): - parent_seq_actions = [parent_seq_actions] - if not isinstance(parent_seq_actions, (list, tuple)): - raise Exception('Actions list not valid.') - # first we merged to the same level 'sequence dict entries and list within the list - counter = 0 - test_dir = tm.gd('test_directory') - while (counter < len(parent_seq_actions)): - action = parent_seq_actions[counter] - # if action is a list raise up to the the same level, - # ie insert action element into the parent_seq_actions - if isinstance(action, (list, tuple)): - parent_seq_actions[counter:counter+1] = action - continue - # if action is a NoneType skip and continue - # (when pointing to an unused alias for instance) - if action is None: - counter += 1 - continue - # if action is a sequence we insert its entry into the action list - if 'sequence' in action: - parent_seq_actions[counter:counter+1] = action['sequence'] - continue - else: - executed = False - for it in [*self.SUPPORTED_TESTS, *self.SUPPORTED_GROUPS]: - if it.item_cmd in action: - executed = True - item = (it.item_class)(action[it.item_cmd], - tree_parent, - status_queue) - # check for sequence type: - if it.item_cmd == cst.TYPE_UNITTEST.item_cmd: - item.setTestDir(test_dir) - item.load() - elif ((it.item_cmd == cst.TYPE_CYCLE.item_cmd) or - (it.item_cmd == cst.TYPE_GROUP.item_cmd)): - self.load_test_recursively( - item, action[it.item_cmd], status_queue) - - if not executed: - raise Exception('action type is not known "{}"'.format( - list(action.keys())[0])) - - counter += 1 - - def __setReportRecursively(self, parent): - for i in range(parent.childCount()): - parent.child(i).report = self.report - self.__setReportRecursively(parent.child(i)) - - def setReport(self, root_item): - root_item.report = self.report - self.__setReportRecursively(root_item) - - def get_names(self): - memb = inspect.getmembers(self) - return [n[0] for n in memb if (inspect.ismethod(n[1]) and n[0].startswith("do_"))] - - def do_load(self, args): - """load function. - -This function loads and executes a testium sub-script. - -The loaded sequence can't be a main testium script ("testium -b" option is -defined for such a usage). - -Accepted files are with extension "*.tum". - -usage: - load path/to/my/sequence.tum -""" - file = args.strip() - suff = file[-4:] - if not suff in ['.tum']: - raise Exception('Wrong input file extension') - - if not (os.path.exists(file) and os.path.isfile(file)): - raise Exception( - '"{}" does not exist or is not a file.'.format(file)) - - d, _ = load_test(file) - if not isinstance(d, list): - raise Exception( - "The file root object must be a list. A \"main\" tum can't be loaded from here (use batch mode instead).") - - if (len(d) == 1) and isinstance(d[0], dict) and (not d[0].get('sequence', None) is None): - d = d[0]['sequence'] - - sq = FakeQueue() - root_item = (cst.TYPE_ROOT.item_class)( - dict_item={'steps': d}, status_queue=sq) - self.load_test_recursively(root_item, {'steps': d}, sq) - self.setReport(root_item) - res = root_item.execute() - if not (res.value is None): - print('"{}" execution overall result: {}'.format(file, res.value)) - print(res.test_result) - - def do_gd(self, args): - """Variables lists and values. - -usage: - gd - gd home -""" - if args != '': - res = tm.gd(args, None) - if res is None: - raise Exception( - 'the variable: "{}" has not been found.'.format(args)) - print(res) - return - - for k in global_dict.keys(): - print('{}: {}'.format(str(k), str(global_dict[k]))) - - def do_quit(self, args): - '''Quit the application.''' - raise Exception('quit') diff --git a/src/testium/interpreter/test_items/test_item_container.py b/src/testium/interpreter/test_items/test_item_container.py new file mode 100644 index 0000000..51e3859 --- /dev/null +++ b/src/testium/interpreter/test_items/test_item_container.py @@ -0,0 +1,37 @@ +from interpreter.test_items.test_item import TestItem, test_run +from interpreter.test_items.test_result import TestResult, TestValue + + +class TestItemContainer(TestItem): + """Base class for items that run a sequence of children sequentially.""" + + def __init__(self, item_type, dict_item, parent=None, status_queue=None, filename=""): + self._name = item_type.item_name + super().__init__(dict_item, parent, status_queue, filename=filename) + self._type = item_type + self.is_container = True + + def _run_children_sequentially(self): + """Execute all children in order, respecting stop_on_failure and stop requests. + Returns a TestResult aggregating all children outcomes.""" + i = 0 + to_be_stopped = False + while not self.isStopped() and i < self.childCount() and not to_be_stopped: + result = self.child(i).execute() + if result.test_result == TestValue.FAILURE and self._stop_on_failure: + to_be_stopped = True + i += 1 + + if self.isStopped() or to_be_stopped: + for j in range(self.childCount()): + if self.child(j).executedOnStop() and j >= i: + self.child(j).execute() + + success = TestValue.SUCCESS + for j in range(i): + if self.child(j).result.test_result == TestValue.FAILURE: + success = TestValue.FAILURE + break + + stopped = self.isStopped() or to_be_stopped + return TestResult(None, success, ""), stopped diff --git a/src/testium/interpreter/test_items/test_item_parallel.py b/src/testium/interpreter/test_items/test_item_parallel.py new file mode 100644 index 0000000..fb1ee68 --- /dev/null +++ b/src/testium/interpreter/test_items/test_item_parallel.py @@ -0,0 +1,175 @@ +import threading +from time import sleep, time + +from interpreter.test_items.test_item_container import TestItemContainer +from interpreter.test_items.test_item import test_run +from interpreter.test_items.test_result import TestResult, TestValue +from interpreter.utils.constants import TestItemType as cst +from interpreter.utils.eval import eval_to_boolean +from lib.tum_except import ETUMSyntaxError +from lib.string_queue import StringQueue +from lib.stdout_redirect import stdio_redir + + +class TestItemParallelBranch(TestItemContainer): + """One branch of a parallel item. Runs its children sequentially, + optionally waiting for a condition before starting.""" + + def __init__(self, dict_item, parent=None, status_queue=None, filename=""): + super().__init__(cst.TYPE_PARALLEL_BRANCH, dict_item, parent, status_queue, filename=filename) + self._wait_condition = None + self._wait_timeout = 30 + if "wait_for" in dict_item: + wf = dict_item["wait_for"] + if not isinstance(wf, dict): + raise ETUMSyntaxError( + f"'wait_for' in branch '{self.name()}' must be a dict with 'condition' and optional 'timeout'", + self.seqFilename(), + ) + self._wait_condition = wf.get("condition", None) + self._wait_timeout = float(wf.get("timeout", 30)) + + def _wait_start(self): + """Block until wait_for condition is True, or timeout. Returns False on timeout.""" + if self._wait_condition is None: + return True + deadline = time() + self._wait_timeout + while time() < deadline: + if self.isStopped(): + return False + try: + c = self._prms.expanse(self._wait_condition) + if eval_to_boolean(c): + return True + except Exception: + pass + sleep(0.1) + return False + + @test_run + def execute(self): + if not self._wait_start(): + self.result.set( + TestValue.FAILURE, + f"wait_for timeout ({self._wait_timeout}s): condition '{self._wait_condition}' not met", + ) + return + + result, stopped = self._run_children_sequentially() + + if stopped: + if result.test_result == TestValue.FAILURE: + self.result.set(TestValue.FAILURE, "Branch aborted on failure") + else: + self.result.set(TestValue.NORUN, "Branch aborted on user request") + else: + self.result.set(result.test_result, "") + + +class TestItemParallel(TestItemContainer): + """Runs multiple branches concurrently. + + YAML: + parallel: + name: ... + sync: all # all (default): wait for every branch + # any: stop as soon as one branch finishes + stop_on_failure: false + branches: + - name: Branch A + wait_for: + condition: "'$(ready)' == 'True'" + timeout: 30 + steps: + - ... + - name: Branch B + steps: + - ... + """ + + def __init__(self, dict_item, parent=None, status_queue=None, filename=""): + branches = dict_item.get("branches", []) + if not branches: + raise ETUMSyntaxError( + f"'parallel' item requires at least one branch in 'branches'", + dict_item.get("seq_filename", ""), + ) + # Inject a synthetic 'steps' key so load_test_recursively can load branches + # as TestItemParallelBranch children. The original 'branches' key is kept + # for display in the GUI (it's included by _filter_dict_item, 'steps' is not). + dict_item["steps"] = [{"parallel_branch": b} for b in branches] + + super().__init__(cst.TYPE_PARALLEL, dict_item, parent, status_queue, filename=filename) + self._sync = str(dict_item.get("sync", "all")).lower() + if self._sync not in ("all", "any"): + raise ETUMSyntaxError( + f"'sync' must be 'all' or 'any', got '{self._sync}'", + self.seqFilename(), + ) + + def _stop_branch_recursively(self, item): + item.stop() + for i in range(item.childCount()): + self._stop_branch_recursively(item.child(i)) + + @test_run + def execute(self): + branch_results = [None] * self.childCount() + any_done = threading.Event() + + def run_branch(idx): + branch = self.child(idx) + stdio_redir.register_thread(buffer=StringQueue(), branch=branch.name()) + try: + # sync:any: if another branch already won the race, mark this + # branch as stopped so its execute() skips children but still + # goes through the normal addTest path (clean DB entry). + if self._sync == "any" and any_done.is_set(): + branch.stop() + try: + result = branch.execute() + except Exception as e: + import traceback + print(f"[parallel] Branch '{branch.name()}' crashed: {e}") + traceback.print_exc() + branch.result.set(TestValue.FAILURE, f"Branch crashed: {e}") + result = branch.result + branch_results[idx] = result + # Only a branch that actually ran (SUCCESS or FAILURE) wins the + # sync:any race. A disabled or skipped branch returns NORUN + # almost instantly and must not stop legitimate branches. + if self._sync == "any" and result.test_result != TestValue.NORUN: + any_done.set() + for j in range(self.childCount()): + if j != idx: + self._stop_branch_recursively(self.child(j)) + finally: + stdio_redir.unregister_thread() + + threads = [ + threading.Thread(target=run_branch, args=(i,), daemon=True) + for i in range(self.childCount()) + ] + for t in threads: + t.start() + for t in threads: + t.join() + + if self._sync == "all": + # Pass if no branch failed; disabled/skipped branches (NORUN) are + # ignored, matching how Group/Cycle treat disabled children. + success = all( + r is not None and r.test_result != TestValue.FAILURE + for r in branch_results + ) + else: + # Pass if at least one branch ran and succeeded. + success = any( + r is not None and r.test_result == TestValue.SUCCESS + for r in branch_results + ) + + self.result.set( + TestValue.SUCCESS if success else TestValue.FAILURE, + f"parallel sync={self._sync}", + ) diff --git a/src/testium/interpreter/test_items/test_item_sleep.py b/src/testium/interpreter/test_items/test_item_sleep.py index e07a4ae..fcd7f77 100644 --- a/src/testium/interpreter/test_items/test_item_sleep.py +++ b/src/testium/interpreter/test_items/test_item_sleep.py @@ -76,5 +76,8 @@ class TestItemSleep(TestItem): else: if not isinstance(timeout, (int, float)): raise ETUMRuntimeError(f"Timeout value of sleep test item \"{self.name}\" is not valid: \"{timeout}\".") - sleep(timeout) + import time as _time + end_time = _time.time() + float(timeout) + while _time.time() < end_time and not self._is_stopped: + sleep(min(0.05, end_time - _time.time())) self.result.set(TestValue.SUCCESS, 'Sleep %s sec' % (str(timeout))) diff --git a/src/testium/interpreter/test_report/test_report.py b/src/testium/interpreter/test_report/test_report.py index 0a03c08..22ed6ea 100644 --- a/src/testium/interpreter/test_report/test_report.py +++ b/src/testium/interpreter/test_report/test_report.py @@ -1,4 +1,5 @@ import os +import threading from functools import wraps import sqlite3 from time import (time, sleep) @@ -143,6 +144,7 @@ class TestReport: self._level = 0 self._log_stored = False self._con = None + self._lock = threading.Lock() if dict_report is None: self._active = False @@ -231,7 +233,7 @@ class TestReport: prepare_file_to_save(rep_path) if not os.path.exists(os.path.dirname(rep_path)): raise ETUMRuntimeError("Report path does not exist: " + rep_path) - self._con = sqlite3.connect(rep_path) + self._con = sqlite3.connect(rep_path, check_same_thread=False) self.createHeader(header) self.createTestTable() self._con.commit() @@ -334,7 +336,8 @@ class TestReport: req = req + '?,' req = req[:-1] + ')' - self._con.execute(req, param) + with self._lock: + self._con.execute(req, param) def incLevel(self): self._level = self._level + 1 diff --git a/src/testium/interpreter/utils/constants.py b/src/testium/interpreter/utils/constants.py index 221df9d..2f198ab 100644 --- a/src/testium/interpreter/utils/constants.py +++ b/src/testium/interpreter/utils/constants.py @@ -33,6 +33,8 @@ class TestItemType(Enum): TYPE_RUN = TestItemEnum("run", "Run tum") TYPE_JSON_RPC = TestItemEnum("json_rpc", "JSON-RPC") TYPE_JSON_RPC_ACTION = TestItemEnum("json_rpc_action", "JSON-RPC action") + TYPE_PARALLEL = TestItemEnum("parallel", "Parallel") + TYPE_PARALLEL_BRANCH = TestItemEnum("parallel_branch", "Parallel branch") TYPE_ROOT = TestItemEnum("default", "default") @staticmethod diff --git a/src/testium/interpreter/utils/test_init.py b/src/testium/interpreter/utils/test_init.py index d5b3267..e5a62d7 100644 --- a/src/testium/interpreter/utils/test_init.py +++ b/src/testium/interpreter/utils/test_init.py @@ -44,6 +44,7 @@ from interpreter.test_items.test_item_choices_dialog import TestItemChoicesDialo from interpreter.test_items.test_item_console import TestItemConsole from interpreter.test_items.test_item_run import TestItemRun from interpreter.test_items.test_item_report import TestItemReport +from interpreter.test_items.test_item_parallel import TestItemParallel, TestItemParallelBranch def _constants_init(): @@ -69,6 +70,8 @@ def _constants_init(): cst.TYPE_SLEEP.item_class = TestItemSleep cst.TYPE_UNITTEST.item_class = TestItemUnittestFile cst.TYPE_VALUE_DLG.item_class = TestItemValueDialog + cst.TYPE_PARALLEL.item_class = TestItemParallel + cst.TYPE_PARALLEL_BRANCH.item_class = TestItemParallelBranch def locate_report_file(rep_file): diff --git a/src/testium/main_win/resources/black/parallel.png b/src/testium/main_win/resources/black/parallel.png new file mode 100644 index 0000000000000000000000000000000000000000..37142387ff98b3d3364974472fc91976e6f18118 GIT binary patch literal 654 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lNlJ8oIPC} zLn`LHz2)0|*+GK+!~f4)>YDU|tdyEk%r=SaZ)mUj_~7)>!%gpw@;^NOLHdp7(Qb{Z ztKGI0Umu*zx#29x>H21+dgA1Xkx?9Xb3b3Y&}s9zIl$wYy>aC%wJAIgD(5|~OuA^6 zxb|yp@|jSjU!m&xJv+ zOOKppI%|EmqKvaeTLI5Qi9?1h$sET8`UncFi@u`3fQF{gAX#S=H5HG>5cb4 z2IKp0zyFS(tWwGRpul(gx=-65S!{bPxosc2%q_+lJBt@8Kl3~Ipri4Y+<)l4ouK7Cq!K#xflX%+?_kaF*$4-ua!$ZT;n-A7~_FX6ZhQ;wi zV~5<+a;aoH&82eFB<_^fz5dSxv}L2=GZXV4nXLz7pU)O<14=g X%e1ghr=IQrCNKt1S3j3^P6tj9@)l^;*2@m5g|nn$i~O5aw0nlpIkBRUPXvDyH;- zrsn-B8tM&ec!$3{_e;7?Pgx~a8f#@b_xIhC9E^r`?&2s z=Y;$*tA37~J1+U3T%FJW_}S08D)Iq9E*gur_aT;SJPL5WeidMVD>LC^Mfh5G(}=LV zz5a|bd7%+hG}BHL}RdZ3M-^#J|g%A<1f6?JL}mW!dx)K7n(D5hWc;>c48pby-ZTzcU+n zrNwupCNTL0BZzo=9R)^Rt7b1ft;w>ATn%DzZC~wtD?F6HaTFWd-kntXg#wVXOM1Cq z&SLT7Dm5z)r~MA?PqK=bo$T#*dV-e%uF_=hxdfO|lxgUPHg%&m-s2paC+}HoU4+^# z=bYueSIDlrmz+EA>5)lszr+kN+^NJKhVjnj-_&b859eD}Qze$1FI~w@_}4#n*RTC9 zcxYg5_Zp{b0HZ|$?+g3WPdSHV58Z2SpCyv{N&C;$SW;<0w8O)zo#EVWaAIk_N-|I} z5}lhBh$}Em1y#lk`SL)=28+MW@b{ zrK%1yrk@T7(;XlWXciw3-k3R1?AQk~1|Wpgq0}*){lqV+rQkG;1>Nc}6jq9s|2jdT zgqfsvcz)XGnrSejPv+OewWgiEr#vWOk8k^oO`~KQDBJCs9Ci;XU`x}ELV@MtX=w!0 zb4z`NeC=LY?@^hjoTWYp$Dg90h=N4g zxlWar>k!7j5-daptq;vqw%B$onsZ5|{VN{%^rJk(#z`ipJK?baLhC2^NQdfzkq;&; z=L7N);K)aw$6Laym=kCk%V@a?)sB=RrowJIzZGX7!l6O##EIf()FLfgv1GHPH+(QO zZnv`JBu}ylJ7YI^Jb&eTm2n&KEPE6nGYY3y3H4ZvDB1RmalzE;5+@{uhyf9QxCnNw z>ai_6i$`EsU!mj6m>5_uH%lemZG1Xd<4vESsTnqCFBEC1oNw+b_Y=XAEuJqwUQk5y zRB&ZT`gp0XwG#&(oq%`P36_b^gPSx|Fkm}#O}qk=RPx)rJAh{Z{(jpHk)$ZM!BTYr z?s1;fl2H%+FfnBwxO?zKP}jOu#_^mBk6OUg-@^STz)P&4Sljmk_9r^`_=*55#sgjF HfJ^%aKa^$| literal 0 HcmV?d00001 diff --git a/src/testium/main_win/resources/testium_core_win.qrc b/src/testium/main_win/resources/testium_core_win.qrc index 80d9af2..08b5cff 100644 --- a/src/testium/main_win/resources/testium_core_win.qrc +++ b/src/testium/main_win/resources/testium_core_win.qrc @@ -45,6 +45,7 @@ black/lua.png black/verif.png black/view-refresh.png + black/parallel.png testium_logo.png @@ -92,6 +93,7 @@ white/lua.png white/verif.png white/view-refresh.png + white/parallel.png testium_logo.png @@ -139,5 +141,6 @@ color/lua.png color/verif.png color/view-refresh.png + color/parallel.png diff --git a/src/testium/main_win/resources/testium_core_win_rc.py b/src/testium/main_win/resources/testium_core_win_rc.py index 44909ad..f2ca3af 100644 --- a/src/testium/main_win/resources/testium_core_win_rc.py +++ b/src/testium/main_win/resources/testium_core_win_rc.py @@ -4261,6 +4261,38 @@ tEXtdate:timesta\ mp\x002026-01-05T17\ :43:41+00:00l1\xd2\xbe\ \x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xe0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x01\x95IDATx\x9c\xed\xd91N\ +\xc30\x14\x06\xe0\xff\xbd\xe6\x08\x15b`\xa6\xdd\xb8B\ +'\x06\x0e\xd0\x93p\x0cn\xc0V\xd1\xa1\x82\x89\x09\xb1\ +\xc0\x05:\xb0\x01\xdd\x10\x13g@\xfa\x91\xd5T\x02\x11\ +\x1a'5q\xe0\xbdO\x8a\x22\xd5\xfec\xe7\xd9\x89\x22\ +\x15p\xce9\xe7\xcc\x92]\xc2$O\x00\xec\x01xm\ +y\x89\x83\xf2\xdc6\xbf\x0f\xe0MDn;/\x00\xc9\ +G\x00#\xf4\xc3\x93\x88\x8c\xdb\x04u\x87\x95\xef\xcb\xcd\ +\x07\xa3rN\xdd\x14\x00\xc0\x10\xfd3\xec\xb2\x00/\xe8\ +\x9fVs*\x12N\xe0\x14\xc0Cd\xdf#\x00g\x89\ +\xf3\xc8]\x80\xa5\x88\xdc\xc7t$\xf9\xfe\x0byt\xf9\ +\x08\xfc\x1b\x0a\xe3\x14\xc6)\x8cS\x18\xa70Na\x9c\ +\xc28\x85q\x0a\xe3\x14\xc6)\x8cS\x18\xa70Na\ +\x9c\xc28\x85q\x0a\xe3\x14\xc6)\x8cS\x18\xa70N\ +a\x9c\xc2\xb8\xa2\xae\x03\xc9\xc3p\x16\x91\xe7&\x17\xde\ +\xe46r\xe5\xebrZs\x91\xf3\xf0\xd7s8H\xce\ +H\xc6\x14\xac\x08}7\xb9\xdc\xf9\xf2\x1e\x9a#9\xe6\ +w\x8br\x80IE\xdb\xa4l\x0b}~\x92+?N\ +\xf5\x0e\x98\x02\x98\x03\x18T\xb4\x0d\xca\xb6i\x8f\xf3\xcd\ +p\xbd\xed\xaa\xdcE\xfe\xc6\x1e\xe4g\xbb\x14`@\xf2\ +\x82\xed]\x91\x9cg\xcc_\xc6\xbc7\xb6\x8ax.\xeb\ +\x9e\xd7\xacy\xa4\xc0\xe6;\xe1K\xe5s\xe7S\x15\xa1\ +\x88\x5c\x89\xca\xca\xe7\xcewU\x84\xc5\xb6\xc1s\xe7\x93\ +\xe0z;^W\x0c~\x13\xf9\xa1\x925\x9f\x04\xd7+\ +\xb1\xfa4\xf8\xaa\xc9\xe0\xb9\xf3\xc9\x90<\x0e\xc7_\xcd\ +;\xe7\x9cs\xce9\xe7\x1c\xac\xfa\x00r^\xb7Q\xcd\ +\x1e\x12J\x00\x00\x00\x00IEND\xaeB`\x82\ \x00\x00\x03\xda\ \x89\ PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ @@ -9314,6 +9346,49 @@ D\x90\xfcw&\xd3\xf3\xb6\xb0\x1ex\x19!\xf2\x03\xc0\ \xdf\x00\x0e\xb8\xdcf\x8b\x11#F\x8c\x181bD\x1c\ \x7f\x01K7\xae\xf7\x8d\x18\xc1Z\x00\x00\x00\x00IE\ ND\xaeB`\x82\ +\x00\x00\x02\x8e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x02CIDATx\x9c\xed\xdaM\x8b\ +\xd3@\x18\x07\xf0\xff\xf3\xb4~\x82.R:\x22\x82d\ +6\xb2\x14\xbf\x80\x87z\xf1\xe0\xcb\xc5\xc3\x82\xee\xc5\x0f\ +\xe1\xc7\xf0\x1b\xecI\xc5\x8b(z\xd5\x8b=x\xf5\xe0\ +\xc9l\xd8C\x11\x09E\xec\xa9'a\x93\x91YZ\x08\ +\xddm\xf3\xd2\xd0\x89<\xf3\x83PH\xe6?3y\x9a\ +&\x94\x0c\xe0y\x9e\xe7yb\xd16a\xad\xf5}c\ +\xccU\x22\xfaU'o\x8c\xb9v>\x89\x9ay\x22\xea\ +\x13\xd1\xef(\x8a>\xd7\xc9oU\x00\xadu\x04`\x1f\ +\xedp\x12\xc7qX'\xc8u\xbf\xf9\x16\x9d\xbc\xb5\xbf\ +\x98\xd3n\x0a\x00`\x0f\xed\xb3\xb7\xb3\x020\xf3O\xb4\ +L\xdd9u\x1b\x9c\xc3s\x00\xdfK\xb6\xbd\x0d\xe0E\ +\xc3y8-\x003\x7f\x8b\xa2h\x5c\xa6m\x18\x86g\ +Y\x965\x9a\xaf\x8b!\x1cC8\x86p\x0c\xe1\x18\xc2\ +1\x84c\x08\xc7\x10\x8e!\x1cC8\x86p\x0c\xe1\x18\ +\xc21\x84c\x08\xc7\x10\x8e!\x1cC8\x86p\x0c\xe1\ +\x18\xc21\x84c\x08\xc7\x10\xae[\xd4 \x0cCm?\ +\xa3(\x8a\xabt\xbc\xcc-\xb9\xca\x17\xe5x\xd3A\xad\ +\xf5q\x96e'v\xd3Z\xbf\x1a\x8dF\x85\x05\xb3m\ +l\xdbe\xceu\xde\x9eC\xad\xf5\x01Zk\xfb\xbe\xfd\ +\xc7\xca\xee\xb7\x83\xc1\xe0h:\x9d\xde\xc9\xb2\xecK\xfe\ +\x003\xdf\xed\xf7\xfb_\x93$y\x03\xe0pM\xb7\xae\ +\xf2\xb7\xe28\xb6\xeb\x19\xb6\xbe\x07\x1c\xda\x01\x98\xb9s\ +\xa1#\xe6N\xc1\xe4\xdb\x90\xbf\xa0\xb3\xee\xc0l6\xfb\ +\xd3\xeb\xf5n.\xde\xc4\xe6\x1d\xa4iz\x9d\x88n\xe4\ +w.\xf6=(1\xe6\xae\xf3\xaf\xe38>\xae\xbbD\ +\xa6\x13\x04\xc1K\x22:B\x0d\xc6\x98\xf7\x00\xfe\x12\xd1\ +SG\xf9wJ\xa9'\xe3\xf1\xf8l]\x9bnA\x1f\ +\xa9R\xeaY\x92$W\xaa^Z\xf6\xf7\xaa\x94:/\ +\x5c\x92$]W\xf9M'_e\x91T\xa5+\xe1\x92\ +\xca\xbb\xce\xaf\xc5e:\x5c^\x09\xb6\xaa%+\xbf:\ +\xb8\xeb|\xf5\x9b\xe0\xaa\xc9d\x92\x0d\x87\xc3\x8f\xf3\xf9\ +\xdc>\x1e\x0f\xb0\xe11u\xd9\xe0\xae\xf3M\xae\x13\xec\ +\x04A\xf0\x81\x88\x1e\xe5w\x1ac>)\xa5\x1e\x96\x18\ +\xdcu~\xeb\xff\x02\xa9R\xea\xb11\xe647\xf8i\ +\x85\xc1]\xe7\x9b\x13\x86\xe1=\xbb\xfd\xafy\xcf\xf3<\ +\xcf\xf3<\xcf\xf3\ +H\xbc\x85'\x7f{q\x88n\xc8\xc7M\x96x\xbf\xc7\ +2\xf3P\x8d\x1b\xadO\xfb\xe2\xb5\xe9\x81\xfc:\xd7\x0b\ +K\x7f\xcb\x1f\x16U\xbe\xaf\xea\x91\xef\x94)6@\xc1\ +`%)\x1c\xa5k\x00\xd3\x97\xc3\x84\x0aHd\x8e\xc8\ +\x85\xb3\xba\xddx\x7f\xe8z\xf7\xa4\x1a\xcf\xfd\xfd\x95m\ +B\x94W\xbch\xdb\xbe\xff\xd5\xe5\xeb\xaa\xfc\xc4\xa7\xce\ +m\x90\x8a^`\x95-\x81\xff\x13\x14\x82C!8\x14\ +\x82C!8\x14\x82C!8\x14\x82C!8\x14\x82\ +C!8\x14\x82C!8\x14\x82C!8\x14\x82C\ +!8\x14\x82C!8\x14\x82C!8\x14\x82C!\ +8\x14\x82c*\xd7\xc0\x17\xfc\xed4\xff|x\xeb\xc4\ +\x8c\x96\x8es^\xa2\xfd\x86|<{\xf1\x96&\xff\xf5\ +o\x83\xb2\xff\xcb\xf4\x1d\xf9\xd8\xf6\xfe\x82&\x7f\xfd\xb3\ +\xa6\xd3j\ +8;|!\x14){\xc3x\x1b\xde\x96;\x1b\xbe{\ +Q&A.\x9e\x1f\x82\xc3\x17\x22\xa1\xf2~$d\xe2\ +m\xb9\xf3\xf1\xf2\x83(aY\xb9\xac\x0f4\x0c\xb3P\ +\xf9\x07\xc6\xdb\xf0\xb69/1\xd00X\xaa=)v\ +\xe2\xdc\x95\xb93\x84\xb1\xc7\x8a\xce\x81\xf01G\xbc\xe7\ +\xe5\xaa\xbb5\xcbX$\xff\x1c%\xc4\x7f\xc4\x1e\x9b\xfa\ +s\xc55B\x80@\xd6\xfa\x02)\xff\x17{\xbb\x0d\xbb\ +\xcc\x8e\x9eXz\xb5\x95\x10\xa5\xcf\x18\xf1\xbb-\xf6\xa9\ +\xf8\xe6\xca\x08\x80\x80g3\x81\xbbO\xee\xed\xbd\xdc\xb0\ +5\xb9\xd8\x93\xacq\xb6\x82\x10\x85\x0f\xc6\xfc\xd6\xd4\xf2\ +T\xd2\xda8\x02\xb0\x80\xf2\xba\x89\xd7\xd6\xbf8]\xf1\ +\x1e@\x80\x80\x1c\x90f\xa5\x82s4+\xe5\xc2\x97\xe8\ +\x22\xc0\x03R\xd0\x02\x9f\xd7\xe5\xc2\x17\xd7Y\x80\x07$\ +YV8~\x96I\xff\x15\xbe\x1cR\xb1\x13\xcf\x7f\xba\ +\xb9Z\xff\xe6{'\xf8rV\x0c\x04\x9c\xcd2\xd2L\ +\x00w~\xfd\xbfu\x17w\xdbm\x1d\x02\xabYC\xd6\ +\xb6\xb2\xb7\xeb\xb3 \xac\x99\xffF\xaaL \xd7\xed\xfa\ +/Mf\x1c\xdfJ\xa1%\xbdV\xe8SR\xe8\xef\xd4\ +\xed\xfa9\x18\xf0\xa5\xad\x7f\xa9\xe82 (Ag'\ +\x93f\xea\xe6\x86\x18\xd0\x03=\x90\xcc\xed\xf5\x8e\x9b\x9b\ +\x04\xac[\x8fnB\xf6\xf6\xcf\xbf\xde\xdd\xa4L\x9f\x0f\ +`\xcc\x9a\x5c\xea\x22!l\x17k@K\xd9\xa3\xa3$\ +s\xd4\x11\xef\xe3k_\xeb\xc8\xdc\xa9\xb5?\xbb\xe46\ +\xdb{\xa1\xc3\xe7N\x93\xb9\xfe\x92-\xb1\xd8\xcb\xd7\xbe\ +v\x9d\xef\x17\xa5\xc3sT\xfd\xc8\xaec&\x8c\xd5:\ +\xe2]\x93!\xff\xce\xe0\xe1N\xc9s\xb8n\x08D\xa5\ +\xcf0\xe6\xb28\xba&\xfd!\xd9gaH\xc9\xf9\x86\ +!h\x18_Mx\xd5\x9b\xa0\x96\x99 ?\xf9\xfc\xf0\ +\x9c\xc0h\xc6eq\xf4\xa9\x9c\x09\xe1\xfc\xf0\x1c\x12@\ +\xc6\x9a\x5c\xeaS7\x13\xd4=\xf9\xdd\xd6\xd0\x00\x7f\xc7\ +\x97\xda\xe9s\xafIE\xf8|?\x122\x95\xd9\xe9\xe5\ +\xd7d~xE\xff!\x98J\xef\xf4;\xafI\xb5\xe1\ +9\x9a\xffg\xc2\x97C\xb4nn\x1c\xc0\xdb\x8a\x13\x84\ +L\xd4\xdac\x1d\xc5\xc2\xef\xb2\xb3\x1c\xc6A\xf6\xf8 \ +\x13.\xb3\xbd\xa3X\xf8\x1c|9\xa4\xe6\x9d\xe3\x0cD\ +\xe1\x13`\xa2&\xb9\xd4\xa1%\x99\ -\x00\x00\x01\x9d\xce^\x88S\ -\x00\x00\x03\x92\x00\x00\x00\x00\x00\x01\x00\x01\x09h\ -\x00\x00\x01\x9b\x8fA\xee\x17\ +\x00\x00\x01\x9d\xcf\xc3\xa3\x15\ +\x00\x00\x03\xb0\x00\x00\x00\x00\x00\x01\x00\x01\x0bL\ +\x00\x00\x01\x9b\x97*\xf4\x03\ \x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x00\x0fl\ -\x00\x00\x01\x9b\xbd8B\xc4\ +\x00\x00\x01\x9b\xc5\xbd\x83\x1b\ \x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00+s\ -\x00\x00\x01\x9b\x8fA\xeeK\ +\x00\x00\x01\x9b\x97*\xf4\x03\ \x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x00\xf7Q\ -\x00\x00\x01\x9b\x8fA\xee\xf9\ +\x00\x00\x01\x9b\x97*\xf4\x06\ \x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x00!6\ -\x00\x00\x01\x9b\x8fA\xee\xf2\ -\x00\x00\x04B\x00\x00\x00\x00\x00\x01\x00\x01!\x0a\ -\x00\x00\x01\x9b\x8f'M\xb2\ +\x00\x00\x01\x9b\x97*\xf4\x06\ +\x00\x00\x04`\x00\x00\x00\x00\x00\x01\x00\x01\x22\xee\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ \x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00#\xa7\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x04~\x00\x00\x00\x00\x00\x01\x00\x01'\xaa\ -\x00\x00\x01\x9b\x8fA\xee\xe4\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\x9c\x00\x00\x00\x00\x00\x01\x00\x01)\x8e\ +\x00\x00\x01\x9b\x97*\xf4\x06\ \x00\x00\x022\x00\x00\x00\x00\x00\x01\x00\x00k\xfc\ -\x00\x00\x01\x9b\x8fA\xee\xdd\ +\x00\x00\x01\x9b\x97*\xf4\x06\ \x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x00H\xe3\ -\x00\x00\x01\x9b\x8fA\xeeq\ +\x00\x00\x01\x9b\x97*\xf4\x04\ \x00\x00\x02\x16\x00\x00\x00\x00\x00\x01\x00\x00e#\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x00Y~\ -\x00\x00\x01\x9b\x8fA\xee\xb2\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ \x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x01\x05\x8a\ -\x00\x00\x01\x9b\x8fA\xee4\ +\x00\x00\x01\x9d\xd7\xdb\x89<\ +\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x00Y~\ +\x00\x00\x01\x9b\x97*\xf4\x05\ +\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x01\x07n\ +\x00\x00\x01\x9b\x97*\xf4\x03\ \x00\x00\x01\x02\x00\x00\x00\x00\x00\x01\x00\x00.\x86\ -\x00\x00\x01\x9b\x8fA\xeeZ\ +\x00\x00\x01\x9b\x97*\xf4\x04\ \x00\x00\x016\x00\x00\x00\x00\x00\x01\x00\x006\xc0\ -\x00\x00\x01\x9b\x8fA\xee;\ +\x00\x00\x01\x9b\x97*\xf4\x03\ \x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x00r\x15\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x03\xc8\x00\x00\x00\x00\x00\x01\x00\x01\x11w\ -\x00\x00\x01\x9b\x8fA\xee\xc0\ -\x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x01\x19\xbb\ -\x00\x00\x01\x9b\x8fA\xee-\ -\x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x03\x06\x16\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03D\x00\x00\x00\x00\x00\x01\x00\x03\x88)\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00^\x00\x00\x00\x00\x00\x01\x00\x02x\xfe\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x02\x8fq\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x04\x22\x00\x00\x00\x00\x00\x01\x00\x03\xb2\x94\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x02\xd0\x09\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x02\xe1K\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x03\x107\ -\x00\x00\x01\x9b\x8f'M\xbb\ -\x00\x00\x04Z\x00\x00\x00\x00\x00\x01\x00\x03\xba\xf2\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x03\x00\x09\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01L\x00\x00\x00\x00\x00\x01\x00\x02\xacC\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\xd0\x00\x00\x00\x00\x00\x01\x00\x03\x0bx\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x04\xc6\x00\x00\x00\x00\x00\x01\x00\x03\xd5o\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03X\x00\x00\x00\x00\x00\x01\x00\x03\x8bd\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x02\xa5\xb6\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x04\xae\x00\x00\x00\x00\x00\x01\x00\x03\xd0\xb4\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01\xec\x00\x00\x00\x00\x00\x01\x00\x02\xdc\xbf\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x02\xd3\xdd\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x02m\xe0\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x04\x96\x00\x00\x00\x00\x00\x01\x00\x03\xc7G\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00F\x00\x00\x00\x00\x00\x01\x00\x02u\x06\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x02\x87\xcb\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x03\xe2\x00\x00\x00\x00\x00\x01\x00\x03\xaa\x10\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x02\xf5\xf9\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03\xaa\x00\x00\x00\x00\x00\x01\x00\x03\x9de\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x03\x81\x02\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01f\x00\x00\x00\x00\x00\x01\x00\x02\xb0\xd1\ -\x00\x00\x01\x9d\xce\x5c\x0ci\ -\x00\x00\x03\x92\x00\x00\x00\x00\x00\x01\x00\x03\x94\xec\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x02}\xbf\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x02\xa15\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x03\x83x\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x02\x97\x0e\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x04B\x00\x00\x00\x00\x00\x01\x00\x03\xb8^\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x02\x99i\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x04~\x00\x00\x00\x00\x00\x01\x00\x03\xbek\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x022\x00\x00\x00\x00\x00\x01\x00\x02\xf2\x0c\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x02\xc6\xca\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\x16\x00\x00\x00\x00\x00\x01\x00\x02\xeb3\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x02\xdaL\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x03\x8e\x95\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x01\x02\x00\x00\x00\x00\x00\x01\x00\x02\xa3\xf8\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x016\x00\x00\x00\x00\x00\x01\x00\x02\xa8\xe4\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x02\xfa\xc1\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x03\xc8\x00\x00\x00\x00\x00\x01\x00\x03\x9f\x9e\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x03\xac\xfe\ -\x00\x00\x01\x9b\x8f'M\xb3\ -\x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x01\xb4\xe1\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03D\x00\x00\x00\x00\x00\x01\x00\x021;\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00^\x00\x00\x00\x00\x00\x01\x00\x01Fu\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x01Y\xc5\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x04\x22\x00\x00\x00\x00\x00\x01\x00\x02P\x00\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x01\x89s\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x01\x99\xe5\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x01\xba\xeb\ -\x00\x00\x01\x9b\x8f'M\xbb\ -\x00\x00\x04Z\x00\x00\x00\x00\x00\x01\x00\x02U\xfc\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x01\xaf\x80\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01L\x00\x00\x00\x00\x00\x01\x00\x01s\xf3\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02\xd0\x00\x00\x00\x00\x00\x01\x00\x01\xb7\xcf\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x04\xc6\x00\x00\x00\x00\x00\x01\x00\x02i\xa2\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03X\x00\x00\x00\x00\x00\x01\x00\x026d\ -\x00\x00\x01\x9b\x8f'M\xb1\ -\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x01m5\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x04\xae\x00\x00\x00\x00\x00\x01\x00\x02e\x0c\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01\xec\x00\x00\x00\x00\x00\x01\x00\x01\x95Y\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x01\x8e\x90\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x01=G\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x04\x96\x00\x00\x00\x00\x00\x01\x00\x02^\xf1\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00F\x00\x00\x00\x00\x00\x01\x00\x01Dm\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x01R\x1f\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x03\xe2\x00\x00\x00\x00\x00\x01\x00\x02J\xa3\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x01\xa88\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03\xaa\x00\x00\x00\x00\x00\x01\x00\x02C\x13\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x02+\xb6\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01f\x00\x00\x00\x00\x00\x01\x00\x01w\xaf\ -\x00\x00\x01\x9d\xce^\x88R\ -\x00\x00\x03\x92\x00\x00\x00\x00\x00\x01\x00\x02>f\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x01K\xdd\ -\x00\x00\x01\x9b\xbd8B\xba\ -\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01f\xb9\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x02-\xfd\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x01\x5c\xf7\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x04B\x00\x00\x00\x00\x00\x01\x00\x02Sh\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x01^\xed\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x04~\x00\x00\x00\x00\x00\x01\x00\x02Y\xad\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x022\x00\x00\x00\x00\x00\x01\x00\x01\xa4\xce\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x01\x83\x92\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02\x16\x00\x00\x00\x00\x00\x01\x00\x01\x9d\xf5\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x01\x93\x1f\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x02:\xff\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x01\x02\x00\x00\x00\x00\x00\x01\x00\x01iW\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x016\x00\x00\x00\x00\x00\x01\x00\x01p\xad\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x01\xaa8\ -\x00\x00\x01\x9b\x8f'M\xba\ -\x00\x00\x03\xc8\x00\x00\x00\x00\x00\x01\x00\x02E\xd1\ -\x00\x00\x01\x9b\x8f'M\xb2\ -\x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x02M\x0a\ -\x00\x00\x01\x9b\x8f'M\xb2\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x03\xe6\x00\x00\x00\x00\x00\x01\x00\x01\x13[\ +\x00\x00\x01\x9b\x97*\xf4\x05\ +\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x01\x1b\x9f\ +\x00\x00\x01\x9b\x97*\xf4\x03\ +\x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x03\x0a\x8c\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x03D\x00\x00\x00\x00\x00\x01\x00\x03\x8c\x9f\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x00^\x00\x00\x00\x00\x00\x01\x00\x02}t\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x02\x93\xe7\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x04@\x00\x00\x00\x00\x00\x01\x00\x03\xbb\xc6\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x02\xd4\x7f\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x02\xe5\xc1\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x03\x14\xad\ +\x00\x00\x01\x9b\x97*\xf4\x02\ +\x00\x00\x04x\x00\x00\x00\x00\x00\x01\x00\x03\xc4$\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x03\x04\x7f\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x01L\x00\x00\x00\x00\x00\x01\x00\x02\xb0\xb9\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x02\xd0\x00\x00\x00\x00\x00\x01\x00\x03\x0f\xee\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x04\xe4\x00\x00\x00\x00\x00\x01\x00\x03\xde\xa1\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x03X\x00\x00\x00\x00\x00\x01\x00\x03\x8f\xda\ +\x00\x00\x01\x9b\x97*\xf3\xe3\ +\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x02\xaa,\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x04\xcc\x00\x00\x00\x00\x00\x01\x00\x03\xd9\xe6\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x01\xec\x00\x00\x00\x00\x00\x01\x00\x02\xe15\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x02\xd8S\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x02rV\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\xb4\x00\x00\x00\x00\x00\x01\x00\x03\xd0y\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x00F\x00\x00\x00\x00\x00\x01\x00\x02y|\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x02\x8cA\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x03\xb3B\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x02\xfao\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x03\xc8\x00\x00\x00\x00\x00\x01\x00\x03\xa6\x97\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x03\x85x\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x01f\x00\x00\x00\x00\x00\x01\x00\x02\xb5G\ +\x00\x00\x01\x9d\xcf\xc3\xa3\x0d\ +\x00\x00\x03\xb0\x00\x00\x00\x00\x00\x01\x00\x03\x9e\x1e\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x02\x825\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x02\xa5\xab\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x03\x87\xee\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x02\x9b\x84\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x04`\x00\x00\x00\x00\x00\x01\x00\x03\xc1\x90\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x02\x9d\xdf\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\x9c\x00\x00\x00\x00\x00\x01\x00\x03\xc7\x9d\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x022\x00\x00\x00\x00\x00\x01\x00\x02\xf6\x82\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x02\xcb@\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02\x16\x00\x00\x00\x00\x00\x01\x00\x02\xef\xa9\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x03\x93\x0b\ +\x00\x00\x01\x9d\xd7\xdb\x89=\ +\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x02\xde\xc2\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x03\x97\xc7\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x01\x02\x00\x00\x00\x00\x00\x01\x00\x02\xa8n\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x016\x00\x00\x00\x00\x00\x01\x00\x02\xadZ\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x02\xff7\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x03\xe6\x00\x00\x00\x00\x00\x01\x00\x03\xa8\xd0\ +\x00\x00\x01\x9b\x97*\xf3\xe5\ +\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x03\xb60\ +\x00\x00\x01\x9b\x97*\xf3\xe4\ +\x00\x00\x02\xa8\x00\x00\x00\x00\x00\x01\x00\x01\xb6\xc5\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x03D\x00\x00\x00\x00\x00\x01\x00\x023\x1f\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x00^\x00\x00\x00\x00\x00\x01\x00\x01HY\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x01[\xa9\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x04@\x00\x00\x00\x00\x00\x01\x00\x02Tv\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x01\x8bW\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x02\x02\x00\x00\x00\x00\x00\x01\x00\x01\x9b\xc9\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x01\xbc\xcf\ +\x00\x00\x01\x9b\x97*\xf4\x02\ +\x00\x00\x04x\x00\x00\x00\x00\x00\x01\x00\x02Zr\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x01\xb1d\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x01L\x00\x00\x00\x00\x00\x01\x00\x01u\xd7\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x02\xd0\x00\x00\x00\x00\x00\x01\x00\x01\xb9\xb3\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x04\xe4\x00\x00\x00\x00\x00\x01\x00\x02n\x18\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x03X\x00\x00\x00\x00\x00\x01\x00\x028H\ +\x00\x00\x01\x9b\x97*\xf3\xe0\ +\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x01o\x19\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x04\xcc\x00\x00\x00\x00\x00\x01\x00\x02i\x82\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x01\xec\x00\x00\x00\x00\x00\x01\x00\x01\x97=\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x01\xae\x00\x00\x00\x00\x00\x01\x00\x01\x90t\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x01?+\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\xb4\x00\x00\x00\x00\x00\x01\x00\x02cg\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x00F\x00\x00\x00\x00\x00\x01\x00\x01FQ\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x01T\x03\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x02O\x19\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x01\xaa\x1c\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x03\xc8\x00\x00\x00\x00\x00\x01\x00\x02G\x89\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x02-\x9a\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x01f\x00\x00\x00\x00\x00\x01\x00\x01y\x93\ +\x00\x00\x01\x9d\xcf\xc3\xa3\x0d\ +\x00\x00\x03\xb0\x00\x00\x00\x00\x00\x01\x00\x02B\xdc\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x01M\xc1\ +\x00\x00\x01\x9b\xc5\xbd\x82\xf5\ +\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x01h\x9d\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x02/\xe1\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x01^\xdb\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x04`\x00\x00\x00\x00\x00\x01\x00\x02W\xde\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x01`\xd1\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x04\x9c\x00\x00\x00\x00\x00\x01\x00\x02^#\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x022\x00\x00\x00\x00\x00\x01\x00\x01\xa6\xb2\ +\x00\x00\x01\x9b\x97*\xf3\xe2\ +\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x01\x85v\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x02\x16\x00\x00\x00\x00\x00\x01\x00\x01\x9f\xd9\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x02<\xe3\ +\x00\x00\x01\x9d\xd7\xdb\x89;\ +\x00\x00\x01\xd4\x00\x00\x00\x00\x00\x01\x00\x01\x95\x03\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x02?u\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x01\x02\x00\x00\x00\x00\x00\x01\x00\x01k;\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x016\x00\x00\x00\x00\x00\x01\x00\x01r\x91\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x02h\x00\x00\x00\x00\x00\x01\x00\x01\xac\x1c\ +\x00\x00\x01\x9b\x97*\xf3\xfe\ +\x00\x00\x03\xe6\x00\x00\x00\x00\x00\x01\x00\x02JG\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ +\x00\x00\x04\x18\x00\x00\x00\x00\x00\x01\x00\x02Q\x80\ +\x00\x00\x01\x9b\x97*\xf3\xe1\ " def qInitResources(): diff --git a/src/testium/main_win/resources/white/parallel.png b/src/testium/main_win/resources/white/parallel.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a1ae20c12af7c221dfba9bba2ef9c184bd8e3a GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE)4%caKYZ?lNlHor+T_L zhE&XXd(+VGuz?8Mga3PACkJrFtIoN`~8 zA-(hSiP(mv9e0kGsQmoLU0L#zFc7X;)$O>TralpIOlOpWDQ5H`OZ5(KgrEfwtQCJUDV*|dV5I@cWvDy zZF|43d^4D4FiV7N;XSo2v;Xtig1v87-EsYQOzuhgZjl6sPfc%QC(cPf6Mt-v`L?bK zz1Q=uuc=&e;F + - <| $(branch_b_done) == True |> + +# --- Test 2: one branch fails, sync:all + no_fail → parallel forced to PASS --- +- parallel: + name: One branch fails + key: $(test)_PASS + sync: all + no_fail: true + branches: + - name: Pass branch + steps: + - let: + name: Set pass flag + values: + - pass_branch_ran: true + - name: Fail branch + steps: + - py_func: + name: Raise exception + file: $(test_path)$(psep)parallel.py + func_name: sleep_func + param: [0] + expected_result: fail + +- check: + name: Pass branch still ran + key: $(test)_PASS + values: + - <| $(pass_branch_ran) == True |> + +# --- Test 3: sync:any — first branch done stops the rest --- +- let: + name: Reset slow flag + values: + - slow_done: false + +- parallel: + name: sync any - first wins + key: $(test)_PASS + sync: any + branches: + - name: Fast branch + steps: + - let: + name: Fast done + values: + - fast_done: true + - name: Slow branch + steps: + - py_func: + name: Sleep 2s + file: $(test_path)$(psep)parallel.py + func_name: sleep_func + param: [2] + - let: + name: Slow done + values: + - slow_done: true + +- check: + name: Fast branch ran, slow branch was stopped + key: $(test)_PASS + values: + - <| $(fast_done) == True |> + - <| $(slow_done) == False |> + +# --- Test 4: wait_for — branch B waits for A to set a flag --- +- let: + name: Reset sync flag + values: + - sync_flag: "" + - waiter_ran: false + +- parallel: + name: wait_for synchronization + key: $(test)_PASS + sync: all + branches: + - name: Setter branch + steps: + - py_func: + name: Sleep 0.3s then set flag + file: $(test_path)$(psep)parallel.py + func_name: sleep_func + param: [0.3] + - let: + name: Set sync flag + values: + - sync_flag: ready + - name: Waiter branch + wait_for: + condition: <| "$(sync_flag)" == "ready" |> + timeout: 10 + steps: + - let: + name: Got flag + values: + - waiter_ran: true + +- check: + name: Waiter branch ran after flag was set + key: $(test)_PASS + values: + - <| $(waiter_ran) == True |> + +# --- Test 5: parallel is faster than sequential (timing) --- +# Two 1s sleeps in parallel → ~1s total, not ~2s sequential +- parallel: + name: Timing test + key: $(test)_PASS + sync: all + branches: + - name: Sleep A + steps: + - sleep: + name: Sleep 1s A + timeout: 1 + - name: Sleep B + steps: + - sleep: + name: Sleep 1s B + timeout: 1 + +- let: + name: Capture parallel duration + values: + - parallel_duration: $(ts_duration_Timing test) + +- check: + name: Duration < 1.8s (would be 2s if sequential) + key: $(test)_PASS + values: + - <| float("$(parallel_duration)") < 1.8 |> + +# --- Test 6: more than two branches --- +- let: + name: Reset N flags + values: + - n_a: false + - n_b: false + - n_c: false + - n_d: false + +- parallel: + name: Four branches + key: $(test)_PASS + sync: all + branches: + - name: NA + steps: + - let: {name: set n_a, values: [{n_a: true}]} + - name: NB + steps: + - let: {name: set n_b, values: [{n_b: true}]} + - name: NC + steps: + - let: {name: set n_c, values: [{n_c: true}]} + - name: ND + steps: + - let: {name: set n_d, values: [{n_d: true}]} + +- check: + name: Four branches all set their flag + key: $(test)_PASS + values: + - <| $(n_a) == True |> + - <| $(n_b) == True |> + - <| $(n_c) == True |> + - <| $(n_d) == True |> + +# --- Test 7: nested parallel --- +- let: + name: Reset nested flags + values: + - outer_x: false + - inner_x_1: false + - inner_x_2: false + +- parallel: + name: Outer parallel + key: $(test)_PASS + sync: all + branches: + - name: Outer X + steps: + - let: {name: set outer_x, values: [{outer_x: true}]} + - parallel: + name: Inner parallel + sync: all + branches: + - name: Inner X1 + steps: + - let: {name: set inner_x_1, values: [{inner_x_1: true}]} + - name: Inner X2 + steps: + - let: {name: set inner_x_2, values: [{inner_x_2: true}]} + - name: Outer Y + steps: + - sleep: + name: brief sleep + timeout: 0 + +- check: + name: Nested parallel set all flags + key: $(test)_PASS + values: + - <| $(outer_x) == True |> + - <| $(inner_x_1) == True |> + - <| $(inner_x_2) == True |> + +# --- Test 9: wait_for timeout --- +- let: + name: Reset waiter timeout flag + values: + - waiter_timeout_ran: false + +- parallel: + name: wait_for timeout + key: $(test)_PASS + sync: all + no_fail: true + branches: + - name: Quick branch + steps: + - sleep: + name: brief sleep + timeout: 0 + - name: Doomed waiter + wait_for: + condition: <| "never" == "ready" |> + timeout: 1 + steps: + - let: {name: should not run, values: [{waiter_timeout_ran: true}]} + +- check: + name: Doomed waiter never ran its steps + key: $(test)_PASS + values: + - <| $(waiter_timeout_ran) == False |> + +# --- Test 10: sync:all with a real branch failure (parallel must FAIL) --- +- parallel: + name: One branch really fails + key: $(test)_FAIL + sync: all + branches: + - name: ok branch + steps: + - let: {name: noop, values: [{noop_var: 1}]} + - name: broken branch + steps: + - py_func: + name: Forced fail + file: $(test_path)$(psep)parallel.py + func_name: sleep_func + param: [0] + expected_result: fail + +# --- Test 11: branch with unmet condition is skipped, not failing the parallel --- +- let: + name: Reset branch condition flag + values: + - cond_branch_ran: false + - other_branch_ran: false + +- parallel: + name: Condition-skipped branch + key: $(test)_PASS + sync: all + branches: + - name: Skipped branch + condition: <| "always" == "false" |> + steps: + - let: {name: should not run, values: [{cond_branch_ran: true}]} + - name: Other branch + steps: + - let: {name: ran, values: [{other_branch_ran: true}]} + +- check: + name: Skipped condition branch did not run + key: $(test)_PASS + values: + - <| $(cond_branch_ran) == False |> + - <| $(other_branch_ran) == True |> + +# --- Test 8: parallel inside loop (re-execution) --- +- let: + name: Reset loop counters + values: + - loop_count_a: 0 + - loop_count_b: 0 + +- loop: + name: Loop wrapping parallel + iterator: 3 + steps: + - parallel: + name: Per-iteration parallel + sync: all + branches: + - name: LA + steps: + - let: + name: bump A + values: + - loop_count_a: <| int("$(loop_count_a)") + 1 |> + - name: LB + steps: + - let: + name: bump B + values: + - loop_count_b: <| int("$(loop_count_b)") + 1 |> + +- check: + name: Both branches ran 3 times + key: $(test)_PASS + values: + - <| int("$(loop_count_a)") == 3 |> + - <| int("$(loop_count_b)") == 3 |>