Clone
1
run 2771 TEST commit a90ef1b
ci-bot edited this page 2026-01-22 03:27:55 +00:00

Test Report

View CI Run 2771 | Commit a90ef1b Pytest completed successfully

All tests were collected and executed properly. See the details below.

📋 Short test summary info
=========================== short test summary info ============================
FAILED tests/test_core_devices.py::test_simpledevice_inherits_device - AssertionError: BUG: Expected 'Simple Device', got 'SIMPLE'
assert 'SIMPLE' == 'Simple Device'
  
  - Simple Device
  + SIMPLE
FAILED tests/test_core_devices.py::test_simpledevice_bug_name_and_description_ignored - AssertionError: BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got 'TESTID'
assert 'TESTID' == 'Custom Name Should Be Used'
  
  - Custom Name Should Be Used
  + TESTID
FAILED tests/test_core_devices.py::test_simpledevice_bug_cascade_effect - AssertionError: BUG CASCADE in auto(): Expected 'Auto Name', got 'AUTO_ID'
assert 'AUTO_ID' == 'Auto Name'
  
  - Auto Name
  + AUTO_ID
FAILED tests/test_core_devices.py::test_filtered_preserves_device_metadata - AssertionError: BUG: Expected 'Original Name', got 'ORIGINAL'
assert 'ORIGINAL' == 'Original Name'
  
  - Original Name
  + ORIGINAL
FAILED tests/test_core_devices.py::test_auto_with_kwargs - AssertionError: BUG: Expected 'Custom Name', got 'AUTO'
assert 'AUTO' == 'Custom Name'
  
  - Custom Name
  + AUTO
FAILED tests/test_core_devices.py::test_simpledevice_with_auto - AssertionError: BUG: Expected 'Auto Device', got 'AUTO'
assert 'AUTO' == 'Auto Device'
  
  - Auto Device
  + AUTO
FAILED tests/test_runname.py::test_extract_runnumber_valid_cases[scan_0042_test.json-scan_-_-42] - ValueError: invalid literal for int() with base 10: ''
FAILED tests/test_scanbackend.py::test_make_summary_single_repeat - assert 'FakeAcquisition' in 'perform the following scan:\n===========================\n\nDummyAdjustable "motor1" at 0 DummyAdjustable "motor2" at...\nrecord 5 pulses per step to "test_scan" via:\n--------------------------------------------\n- Fake DAQ (Last Run: 0)'
FAILED tests/test_scanbackend.py::test_sensor_without_remote_plot - AttributeError: 'NoneType' object has no attribute 'new_plot'
FAILED tests/test_scanbackend.py::test_scan_with_empty_values_list - UnboundLocalError: local variable 'n' referenced before assignment
FAILED tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1] - AssertionError: assert ('y' in {'x': 1, 'z': 0})
FAILED tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...] - assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
  
  - 'aaaaaaaaaa...
  ?  -
  + 'aaaaaaaaa...
FAILED tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] - AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
  
  - Obj(xxxxxxxxxxxxxxxxx...
  ?                     -
  + Obj(xxxxxxxxxxxxxxxx...
FAILED tests/test_utils_elog.py::test_screenshot - elog.logbook_exceptions.LogbookMessageRejected: Rejected because of: Invalid URL: None
FAILED tests/test_utils_logcfg.py::test_import_logging_once_per_module - AssertionError: Expected 1 import log for 'math', found 0
assert 0 == 1
================= 15 failed, 882 passed, 2 warnings in 17.50s ==================
🪵 Full raw pytest log
============================= test session starts ==============================
platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0
rootdir: /workspace/tligui_y/slic
plugins: time-machine-2.15.0, cov-5.0.0, json-report-1.5.0, metadata-3.1.1, typeguard-4.3.0
collected 897 items

morbidissimo/morbidissimo/morioc/test_infer_type.py .................... [  2%]
............                                                             [  3%]
tests/test_core_adjustables.py ......................................... [  8%]
........................................................................ [ 16%]
..............                                                           [ 17%]
tests/test_core_devices.py ............................................. [ 22%]
............F..FF.............F...F......F......                         [ 28%]
tests/test_runname.py .............F...................................  [ 33%]
tests/test_scanbackend.py ..........F................................... [ 38%]
...F...F.........                                                        [ 40%]
tests/test_scaninfo.py ....................................              [ 44%]
tests/test_utils_argfwd.py ...................F........                  [ 47%]
tests/test_utils_ask_yes_no.py ........................................  [ 52%]
tests/test_utils_channels.py .                                           [ 52%]
tests/test_utils_config.py ..                                            [ 52%]
tests/test_utils_cpint.py ........................                       [ 55%]
tests/test_utils_dbusnotify.py .......                                   [ 55%]
tests/test_utils_debug.py ......F...F                                    [ 57%]
tests/test_utils_dictext.py .................                            [ 59%]
tests/test_utils_dotdir.py ...                                           [ 59%]
tests/test_utils_duo.py ...........                                      [ 60%]
tests/test_utils_elog.py ....F                                           [ 61%]
tests/test_utils_eval.py ......................................          [ 65%]
tests/test_utils_exceptions.py ..........                                [ 66%]
tests/test_utils_get_adj.py ....                                         [ 67%]
tests/test_utils_ipy.py .                                                [ 67%]
tests/test_utils_jsonext.py ........                                     [ 68%]
tests/test_utils_lazypv.py .                                             [ 68%]
tests/test_utils_logcfg.py ..F                                           [ 68%]
tests/test_utils_logign.py .....                                         [ 69%]
tests/test_utils_marker.py .............                                 [ 70%]
tests/test_utils_metaclasses.py ..                                       [ 70%]
tests/test_utils_namespace.py .                                          [ 70%]
tests/test_utils_npy.py ................................................ [ 76%]
......                                                                   [ 76%]
tests/test_utils_path.py .....                                           [ 77%]
tests/test_utils_picklio.py .......                                      [ 78%]
tests/test_utils_printing.py .......................................     [ 82%]
tests/test_utils_rangebar.py .................                           [ 84%]
tests/test_utils_readable.py ........................                    [ 87%]
tests/test_utils_registry.py ........                                    [ 87%]
tests/test_utils_richcfg.py .                                            [ 88%]
tests/test_utils_run_later.py ..................                         [ 90%]
tests/test_utils_sendmail.py ..                                          [ 90%]
tests/test_utils_sendsms.py .                                            [ 90%]
tests/test_utils_shortcut.py .................                           [ 92%]
tests/test_utils_snapshot.py ........                                    [ 93%]
tests/test_utils_termtitle.py .                                          [ 93%]
tests/test_utils_tqdm_mod.py .......                                     [ 94%]
tests/test_utils_trinary.py ...                                          [ 94%]
tests/test_utils_typecast.py .........                                   [ 95%]
tests/test_utils_utils.py ..................................             [ 99%]
tests/test_utils_xrange.py .......                                       [100%]

=================================== FAILURES ===================================
______________________ test_simpledevice_inherits_device _______________________

    def test_simpledevice_inherits_device():
        dev = SimpleDevice(ID="SIMPLE", name="Simple Device")
        dev.motor = DummyAdjustable(ID="m1", name="Motor")
    
>       assert dev.name == "Simple Device", f"BUG: Expected 'Simple Device', got '{dev.name}'"
E       AssertionError: BUG: Expected 'Simple Device', got 'SIMPLE'
E       assert 'SIMPLE' == 'Simple Device'
E         
E         - Simple Device
E         + SIMPLE

tests/test_core_devices.py:276: AssertionError
______________ test_simpledevice_bug_name_and_description_ignored ______________

    def test_simpledevice_bug_name_and_description_ignored():
        dev = SimpleDevice(
            ID="TESTID",
            name="Custom Name Should Be Used",
            description="Custom Description Should Be Used",
            z_undulator=42
        )
    
>       assert dev.name == "Custom Name Should Be Used", \
            f"BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got '{dev.name}'"
E       AssertionError: BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got 'TESTID'
E       assert 'TESTID' == 'Custom Name Should Be Used'
E         
E         - Custom Name Should Be Used
E         + TESTID

tests/test_core_devices.py:315: AssertionError
_____________________ test_simpledevice_bug_cascade_effect _____________________

    def test_simpledevice_bug_cascade_effect():
        fake_globals = {"adj": DummyAdjustable(ID="a1", name="Adj")}
        auto_dev = auto(fake_globals, "AUTO_ID", name="Auto Name", description="Auto Desc")
    
>       assert auto_dev.name == "Auto Name", \
            f"BUG CASCADE in auto(): Expected 'Auto Name', got '{auto_dev.name}'"
E       AssertionError: BUG CASCADE in auto(): Expected 'Auto Name', got 'AUTO_ID'
E       assert 'AUTO_ID' == 'Auto Name'
E         
E         - Auto Name
E         + AUTO_ID

tests/test_core_devices.py:327: AssertionError
___________________ test_filtered_preserves_device_metadata ____________________

    def test_filtered_preserves_device_metadata():
        dev = Device(ID="ORIGINAL", name="Original Name", description="Original Desc")
        dev.motor = DummyAdjustable(ID="m1", name="Motor")
    
        filtered_dev = by_name(dev, "motor")
    
        assert filtered_dev.ID == "ORIGINAL"
>       assert filtered_dev.name == "Original Name", \
            f"BUG: Expected 'Original Name', got '{filtered_dev.name}'"
E       AssertionError: BUG: Expected 'Original Name', got 'ORIGINAL'
E       assert 'ORIGINAL' == 'Original Name'
E         
E         - Original Name
E         + ORIGINAL

tests/test_core_devices.py:492: AssertionError
____________________________ test_auto_with_kwargs _____________________________

    def test_auto_with_kwargs():
        fake_globals = {
            "motor": DummyAdjustable(ID="m1", name="Motor"),
        }
    
        dev = auto(fake_globals, "AUTO", name="Custom Name", description="Custom Desc")
    
>       assert dev.name == "Custom Name", \
            f"BUG: Expected 'Custom Name', got '{dev.name}'"
E       AssertionError: BUG: Expected 'Custom Name', got 'AUTO'
E       assert 'AUTO' == 'Custom Name'
E         
E         - Custom Name
E         + AUTO

tests/test_core_devices.py:554: AssertionError
_________________________ test_simpledevice_with_auto __________________________

    def test_simpledevice_with_auto():
        fake_globals = {
            "motor_x": DummyAdjustable(ID="mx", name="MotorX"),
            "motor_y": DummyAdjustable(ID="my", name="MotorY"),
            "sensor_temp": DummyAdjustable(ID="st", name="TempSensor"),
            "sensor_pressure": DummyAdjustable(ID="sp", name="PressureSensor"),
        }
    
        dev = auto(fake_globals, "AUTO", name="Auto Device")
    
>       assert dev.name == "Auto Device", \
            f"BUG: Expected 'Auto Device', got '{dev.name}'"
E       AssertionError: BUG: Expected 'Auto Device', got 'AUTO'
E       assert 'AUTO' == 'Auto Device'
E         
E         - Auto Device
E         + AUTO

tests/test_core_devices.py:655: AssertionError
______ test_extract_runnumber_valid_cases[scan_0042_test.json-scan_-_-42] ______

fname = 'scan_0042_test.json', prefix = 'scan_', separator = '_', expected = 42

    @pytest.mark.parametrize(
        "fname,prefix,separator,expected",
        [
            ("scan0004_test.json", "scan", "_", 4),
            ("scan0001_alpha.txt", "scan", "_", 1),
            ("run-0042_demo.csv", "run-", "_", 42),
            ("data9999_final.txt", "data", "_", 9999),
            ("scan5_test.json", "scan", "_", 5),
            (str(Path("/tmp/data/scan0007_exp.json")), "scan", "_", 7),
            (str(Path("/Users/yasmine_tligui/test_pv/runs/scan0123_test.json")), "scan", "_", 123),
            ("scan0010_report.csv", "scan", "_", 10),
            ("scan0300_analysis.yaml", "scan", "_", 300),
            ("experimentscan0070_trial.txt", "experimentscan", "_", 70),
            ("meas:001_test.txt", "meas:", "_", 1),
            (str(Path("a/b/c/scan0042_demo.json")), "scan", "_", 42),
            ("scan1234_extra_part.json", "scan", "_", 1234),
            ("scan_0042_test.json", "scan_", "_", 42),
        ],
    )
    def test_extract_runnumber_valid_cases(fname, prefix, separator, expected):
>       assert extract_runnumber(fname, prefix, separator) == expected

tests/test_runname.py:40: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

fname = 'scan_0042_test.json', prefix = 'scan_', separator = '_'

    def extract_runnumber(fname, prefix, separator):
        name = Path(fname).name
        front = name.split(separator)[0]
        runnum = front[len(prefix):]
>       runnum = int(runnum)
E       ValueError: invalid literal for int() with base 10: ''

slic/core/scanner/runname.py:49: ValueError
_______________________ test_make_summary_single_repeat ________________________

tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_make_summary_single_repea0')

    def test_make_summary_single_repeat(tmp_path):
        adjs = [DummyAdjustable(name="motor1", ID="M1"), DummyAdjustable(name="motor2", ID="M2")]
        fake_acq = FakeAcquisition("test_instrument", "test_pgroup")
    
        sb = ScanBackend(
            adjs, [[1, 2], [3, 4]], [fake_acq], "test_scan",
            [], ["bs_channel"], [], 5,
            "data", tmp_path, True, None, True, 1,
            None, None
        )
    
        summary = sb._make_summary()
    
        assert "perform the following scan" in summary
    
        assert "motor1" in summary
        assert "motor2" in summary
    
        assert "5 pulses" in summary
    
        assert "test_scan" in summary
    
>       assert "FakeAcquisition" in summary
E       assert 'FakeAcquisition' in 'perform the following scan:\n===========================\n\nDummyAdjustable "motor1" at 0 DummyAdjustable "motor2" at...\nrecord 5 pulses per step to "test_scan" via:\n--------------------------------------------\n- Fake DAQ (Last Run: 0)'

tests/test_scanbackend.py:487: AssertionError
_______________________ test_sensor_without_remote_plot ________________________

tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_sensor_without_remote_plo0')

    def test_sensor_without_remote_plot(tmp_path):
        adjs = [DummyAdjustable(name="M", ID="M")]
        fake = FakeAcquisition("test_instrument", "test_pgroup")
        sensor = DummySensor(name="TestSensor")
    
        sb = ScanBackend(
            adjs, [[1], [2]], [fake], "sensor_only_scan",
            [], ["ch"], [], 1,
            "data", tmp_path, False, None, True, 1, sensor, None
        )
    
>       sb.run()

tests/test_scanbackend.py:1546: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = perform the following scan:
===========================

A: DummyAdjustable "M" at 0

# A
- -
0 1
1 2

record 1 pulse per step to "sensor_only_scan" via:
--------------------------------------------------
- Fake DAQ (Last Run: 0)
step_info = None

    def run(self, step_info=None):
        self.store_initial_values()
        self.create_output_dirs()
    
        #TODO: clean up
        sensor = self.sensor
        if sensor:
            cfg = {
                "xlabel": self.adjustables[0].name,
                "ylabel": sensor.name
            }
            try:
>               self.remote_plot.new_plot(self.filename, cfg)
E               AttributeError: 'NoneType' object has no attribute 'new_plot'

slic/core/scanner/scanbackend.py:86: AttributeError
_______________________ test_scan_with_empty_values_list _______________________

tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_scan_with_empty_values_li0')

    def test_scan_with_empty_values_list(tmp_path):
        adjs = [DummyAdjustable(name="M", ID="M")]
        fake = FakeAcquisition("test_instrument", "test_pgroup")
    
        sb = ScanBackend(
            adjs, [], [fake], "empty_scan",
            [], ["ch"], [], 1,
            "data", tmp_path, False, None, True, 1, None, None
        )
    
        sb.running = True
    
>       sb.scan_loop()

tests/test_scanbackend.py:1625: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = perform the following scan:
===========================

A: DummyAdjustable "M" at 0

# A
- -

record 1 pulse per step to "empty_scan" via:
--------------------------------------------
- Fake DAQ (Last Run: 1)
step_info = None

    def scan_loop(self, step_info=None):
        do_step = self.do_checked_step if self.condition else self.do_step
    
        #TODO this needs work
        for acq in self.acquisitions:
            if is_sfdaq(acq):
                run_number = acq.client.next_run()
                print(f"Advanced run number to {run_number} for {acq}.")
                if hasattr(acq, "spreadsheet") and acq.spreadsheet is not None:
                    acq.spreadsheet.add(
                        run_number, self.filename, self.n_pulses_per_step,
                        scanned_adjs=self.adjustables, scan_values=self.values
                    )
    
        ntotal = self.n_steps
        for n, val in enumerate(self.values):
            if not self.running:
                n -= 1 # stopped before this iteration
                break
            self.current_step = n + 1 # note the current value here to have it available for get_state
            cprint(f"Scan step {n+1} of {ntotal}", color="green")
            do_step(n, val, step_info=step_info)
    
>       if self.running and n+1 == ntotal:
E       UnboundLocalError: local variable 'n' referenced before assignment

slic/core/scanner/scanbackend.py:170: UnboundLocalError
----------------------------- Captured stdout call -----------------------------
run number is 1
Advanced run number to 1 for Fake DAQ (Last Run: 1).
_______ test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1] ________

func = <function <lambda> at 0x7f524283c1f0>, expected_pos = []
expected_kw = {'x': 1, 'y': <class 'inspect._empty'>, 'z': 0}

    @pytest.mark.parametrize("func, expected_pos, expected_kw", [
        (lambda a, b, c=3, *, d=4: None, ['a', 'b'], {'c': 3, 'd': 4}),
        (lambda x=1, *, y, z=0: None, [], {'x': 1, 'y': inspect._empty, 'z': 0}),
        (lambda *args, **kwargs: None, [], {}),
    ])
    def test_get_args_parametrized(func, expected_pos, expected_kw):
        pos, kw = get_args(func)
        assert pos == expected_pos
        for k, v in expected_kw.items():
            if v is inspect._empty:
>               assert k in kw and kw[k] == inspect._empty
E               AssertionError: assert ('y' in {'x': 1, 'z': 0})

tests/test_utils_argfwd.py:81: AssertionError
_ test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...] _

value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
cutoff = 10, expected = "'aaaaaaaaaa..."

    @pytest.mark.parametrize(
        "value, cutoff, expected",
        [
            ("abc", 10, "'abc'"),
            ("a" * 100, 10, "'aaaaaaaaaa..."),
            (12345, 10, "12345"),
            ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
            (None, 10, "None"),
            (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
        ]
    )
    
    def test_short_repr(value, cutoff, expected):
>       assert short_repr(value, cutoff) == expected
E       assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
E         
E         - 'aaaaaaaaaa...
E         ?  -
E         + 'aaaaaaaaa...

tests/test_utils_debug.py:66: AssertionError
_____________ test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] ______________

value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20
expected = 'Obj(xxxxxxxxxxxxxxxxx...'

    @pytest.mark.parametrize(
        "value, cutoff, expected",
        [
            ("abc", 10, "'abc'"),
            ("a" * 100, 10, "'aaaaaaaaaa..."),
            (12345, 10, "12345"),
            ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
            (None, 10, "None"),
            (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
        ]
    )
    
    def test_short_repr(value, cutoff, expected):
>       assert short_repr(value, cutoff) == expected
E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
E         
E         - Obj(xxxxxxxxxxxxxxxxx...
E         ?                     -
E         + Obj(xxxxxxxxxxxxxxxx...

tests/test_utils_debug.py:66: AssertionError
_______________________________ test_screenshot ________________________________

mock_screenshot_class = <MagicMock name='Screenshot' id='139991238965664'>

    @patch("slic.utils.elog.Screenshot")
    def test_screenshot(mock_screenshot_class):
        fake_path = "/tmp/fake_screenshot.png"
        with open(fake_path, "wb") as f:
            f.write(b"fake image data")
    
        mock_instance = mock_screenshot_class.return_value
        mock_instance.shoot.return_value = [fake_path]
    
        elog = Elog("http://localhost:8080/demo", user="robot", password="testpassword")
    
        test_msg = "SCREENSHOT_INTEGRATION_TEST_MSG_456"
        msg_id = elog.screenshot(message=test_msg)
    
        filename = os.path.basename(fake_path)
>       message, attributes, attachments = elog.read(msg_id)

tests/test_utils_elog.py:114: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:335: in read
    self._check_if_message_on_server(msg_id)  # raises exceptions if no message or no response from server
.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:586: in _check_if_message_on_server
    resp_message, resp_headers, resp_msg_id = _validate_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

response = <Response [404]>

    def _validate_response(response):
        """ Validate response of the request."""
    
        msg_id = None
    
        if response.status_code not in [200, 302]:
            # 200 --> OK; 302 --> Found
            # Html page is returned with error description (handling errors same way as on original client. Looks
            # like there is no other way.
    
            err = re.findall('<td.*?class="errormsg".*?>.*?</td>',
                             response.content.decode('utf-8', 'ignore'),
                             flags=re.DOTALL)
    
            if len(err) > 0:
                # Remove html tags
                # If part of the message has: Please go  back... remove this part since it is an instruction for
                # the user when using browser.
                err = re.sub('(?:<.*?>)', '', err[0])
                if err:
>                   raise LogbookMessageRejected('Rejected because of: ' + err)
E                   elog.logbook_exceptions.LogbookMessageRejected: Rejected because of: Invalid URL: None

.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:751: LogbookMessageRejected
_____________________ test_import_logging_once_per_module ______________________

    def test_import_logging_once_per_module():
        code = textwrap.dedent("""
            from slic.utils.logcfg import *
            import math
            import io
            import random
        """)
    
        with tempfile.NamedTemporaryFile("w", suffix=".py", delete=False) as tmp:
            tmp.write(code)
            tmp_path = tmp.name
    
        env = os.environ.copy()
        root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
        env["PYTHONPATH"] = root_path + os.pathsep + env.get("PYTHONPATH", "")
    
        result = subprocess.run([sys.executable, tmp_path], capture_output=True, text=True, env=env)
        os.remove(tmp_path)
    
        assert result.returncode == 0, f"Script failed:\n{result.stderr}"
    
        stderr = result.stderr
        print(stderr)
        lines = stderr.splitlines()
        for mod in ["math", "io", "random"]:
            count = sum(1 for line in lines if f"importing: {mod}" in line)
>           assert count == 1, f"Expected 1 import log for '{mod}', found {count}"
E           AssertionError: Expected 1 import log for 'math', found 0
E           assert 0 == 1

tests/test_utils_logcfg.py:78: AssertionError
----------------------------- Captured stdout call -----------------------------
[E 260122 03:27:14 tools:40] cannot assign endstation to IP 172.18.0.3 (b125c85d5ecd)
[W 260122 03:27:14 pvpreload:38] PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/root/.slic/pvpreload'

=============================== warnings summary ===============================
.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97
  /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97: DeprecationWarning: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
    from numpy.dual import register_func

tests/test_utils_pv.py:12
  /workspace/tligui_y/slic/tests/test_utils_pv.py:12: DeprecationWarning: invalid escape sequence \[
    '''

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Generated on 2026-01-22 04:27:20 CET

🧾 General Info

  • duration: 17.460822820663452
  • root: /workspace/tligui_y/slic
  • environment: {}

📋 Summary

  • Passed: 882
  • Failed: 15
  • Total: 897
  • Collected: 897

🔎 Tests

Passed (882)
  • 📄 morbidissimo/morbidissimo/morioc/test_infer_type.py

    Function: test_it_type_str

    • Test 1

      📌 Setup phase

      duration:

      0.0008827979982015677
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028617100178962573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027220300398766994
      

      outcome:

      passed
      

    Function: test_it_type_float

    • Test 2

      📌 Setup phase

      duration:

      0.00016643299750285223
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020763900101883337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001407469972036779
      

      outcome:

      passed
      

    Function: test_it_type_int

    • Test 3

      📌 Setup phase

      duration:

      0.00014608899800805375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017925899737747386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001326120036537759
      

      outcome:

      passed
      

    Function: test_it_value_str

    • Test 4

      📌 Setup phase

      duration:

      0.00017331200069747865
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019046899979002774
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000136721006128937
      

      outcome:

      passed
      

    Function: test_it_value_long_str

    • Test 5

      📌 Setup phase

      duration:

      0.000158196002303157
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017670300439931452
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001320689989370294
      

      outcome:

      passed
      

    Function: test_it_value_float

    • Test 6

      📌 Setup phase

      duration:

      0.00016016499284887686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002129339991370216
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014472900511464104
      

      outcome:

      passed
      

    Function: test_it_value_int

    • Test 7

      📌 Setup phase

      duration:

      0.00014953799836803228
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020119999680900946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016616199718555436
      

      outcome:

      passed
      

    Function: test_it_empty_value_str

    • Test 8

      📌 Setup phase

      duration:

      0.00015190200065262616
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017718800518196076
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014855000335955992
      

      outcome:

      passed
      

    Function: test_it_empty_value_float

    • Test 9

      📌 Setup phase

      duration:

      0.00014124700101092458
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001725490001263097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013921999925514683
      

      outcome:

      passed
      

    Function: test_it_empty_value_int

    • Test 10

      📌 Setup phase

      duration:

      0.00014310700498754159
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016804200276965275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013994800247019157
      

      outcome:

      passed
      

    Function: test_pstrue_str

    • Test 11

      📌 Setup phase

      duration:

      0.0001444689987692982
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001997660001507029
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013617100194096565
      

      outcome:

      passed
      

    Function: test_pstrue_float

    • Test 12

      📌 Setup phase

      duration:

      0.00014613899838877842
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019313099619466811
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013257099635666236
      

      outcome:

      passed
      

    Function: test_pstrue_int

    • Test 13

      📌 Setup phase

      duration:

      0.00013853199925506487
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018607099627843127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012898400018457323
      

      outcome:

      passed
      

    Function: test_psfalse_str

    • Test 14

      📌 Setup phase

      duration:

      0.00014947899762773886
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018220800120616332
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013516000035451725
      

      outcome:

      passed
      

    Function: test_psfalse_float

    • Test 15

      📌 Setup phase

      duration:

      0.00016031700215535238
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017614800162846223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013046400272287428
      

      outcome:

      passed
      

    Function: test_psfalse_int

    • Test 16

      📌 Setup phase

      duration:

      0.00015757099754409865
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017707400547806174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001326950005022809
      

      outcome:

      passed
      

    Function: test_it_None

    • Test 17

      📌 Setup phase

      duration:

      0.0001729970026644878
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021073700190754607
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001349869999103248
      

      outcome:

      passed
      

    Function: test_it_True

    • Test 18

      📌 Setup phase

      duration:

      0.0001468679984100163
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016979900101432577
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001293480017920956
      

      outcome:

      passed
      

    Function: test_it_False

    • Test 19

      📌 Setup phase

      duration:

      0.00017258300067624077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003858679992845282
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014980499690864235
      

      outcome:

      passed
      

    Function: test_it_nan

    • Test 20

      📌 Setup phase

      duration:

      0.00015147800149861723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018574499699752778
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013970999862067401
      

      outcome:

      passed
      

    Function: test_it_np_nan

    • Test 21

      📌 Setup phase

      duration:

      0.00014124999870546162
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018416599777992815
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001391260011587292
      

      outcome:

      passed
      

    Function: test_it_np1D_int

    • Test 22

      📌 Setup phase

      duration:

      0.0001448419934604317
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002999099961016327
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001349749945802614
      

      outcome:

      passed
      

    Function: test_it_np2D_int

    • Test 23

      📌 Setup phase

      duration:

      0.00016044399671955034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023521199909737334
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013489599950844422
      

      outcome:

      passed
      

    Function: test_it_np1D_float

    • Test 24

      📌 Setup phase

      duration:

      0.00014751100388821214
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002931830022134818
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001515300027676858
      

      outcome:

      passed
      

    Function: test_it_np2D_float

    • Test 25

      📌 Setup phase

      duration:

      0.00015612800052622333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025016699510160834
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001554019981995225
      

      outcome:

      passed
      

    Function: test_it_np1D_bool

    • Test 26

      📌 Setup phase

      duration:

      0.00016180400416487828
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020406099793035537
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014071800251258537
      

      outcome:

      passed
      

    Function: test_it_np1D_object

    • Test 27

      📌 Setup phase

      duration:

      0.00014259600720833987
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022801099839853123
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013719299749936908
      

      outcome:

      passed
      

    Function: test_it_np_scalar_int

    • Test 28

      📌 Setup phase

      duration:

      0.00014879800437483937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023758299357723445
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001344619959127158
      

      outcome:

      passed
      

    Function: test_it_np_scalar_float

    • Test 29

      📌 Setup phase

      duration:

      0.0001411119956173934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022025399812264368
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013188400043873116
      

      outcome:

      passed
      

    Function: test_it_np_scalar_bool

    • Test 30

      📌 Setup phase

      duration:

      0.00016112500452436507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021929699869360775
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013568100257543847
      

      outcome:

      passed
      

    Function: test_it_list

    • Test 31

      📌 Setup phase

      duration:

      0.00015838899707887322
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018763000116450712
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013324100291356444
      

      outcome:

      passed
      

    Function: test_it_tuple

    • Test 32

      📌 Setup phase

      duration:

      0.00014774699957342818
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001806840009521693
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014340900088427588
      

      outcome:

      passed
      
  • 📄 test_core_adjustables.py

    Function: test_baseadjustable_cannot_instantiate

    • Test 33

      📌 Setup phase

      duration:

      0.00017712100088829175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004919819984934293
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015231900033541024
      

      outcome:

      passed
      

    Function: test_baseadjustable_missing_methods

    • Test 34

      📌 Setup phase

      duration:

      0.0001529809960629791
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008767319959588349
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015857800462981686
      

      outcome:

      passed
      

    Function: test_baseadjustable_working_subclass

    • Test 35

      📌 Setup phase

      duration:

      0.00015045899635879323
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002884250061470084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001380199973937124
      

      outcome:

      passed
      

    Function: test_dummyadjustable_basic

    • Test 36

      📌 Setup phase

      duration:

      0.00015459700080100447
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040359999547945336
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015521299792453647
      

      outcome:

      passed
      

    Function: test_dummyadjustable_set_get_with_wait

    • Test 37

      📌 Setup phase

      duration:

      0.00015155300206970423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014669529991806485
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 100
      DummyAdjustable "TestAdj" at -50.5
      
      

      📌 Teardown phase

      duration:

      0.000176961999386549
      

      outcome:

      passed
      

    Function: test_dummyadjustable_is_moving

    • Test 38

      📌 Setup phase

      duration:

      0.00015572900156257674
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034837100247386843
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015086399798747152
      

      outcome:

      passed
      

    Function: test_dummyadjustable_initial_value

    • Test 39

      📌 Setup phase

      duration:

      0.0001592519984114915
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003710129967657849
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001534870025352575
      

      outcome:

      passed
      

    Function: test_dummyadjustable_float_values

    • Test 40

      📌 Setup phase

      duration:

      0.00014938799722585827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000632194998615887
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 3.14159
      
      

      📌 Teardown phase

      duration:

      0.0001654619991313666
      

      outcome:

      passed
      

    Function: test_dummyadjustable_large_values

    • Test 41

      📌 Setup phase

      duration:

      0.0001591990003362298
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007138290020520799
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 10000000000.0
      
      

      📌 Teardown phase

      duration:

      0.00016211500042118132
      

      outcome:

      passed
      

    Function: test_dummyadjustable_process_time

    • Test 42
      params: process_time=0.1, target=100

      📌 Parameters

      params:
        process_time: 0.1
        target: 100
      id: "0.1-100"
      

      📌 Setup phase

      duration:

      0.0004239569971105084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.10116102699976182
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 100
      
      

      📌 Teardown phase

      duration:

      0.0003318640010547824
      

      outcome:

      passed
      
    • Test 43
      params: process_time=0.2, target=50

      📌 Parameters

      params:
        process_time: 0.2
        target: 50
      id: "0.2-50"
      

      📌 Setup phase

      duration:

      0.0003967320008086972
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20156541100004688
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 50
      
      

      📌 Teardown phase

      duration:

      0.0003439190040808171
      

      outcome:

      passed
      
    • Test 44
      params: process_time=0.15, target=200

      📌 Parameters

      params:
        process_time: 0.15
        target: 200
      id: "0.15-200"
      

      📌 Setup phase

      duration:

      0.00037003299803473055
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.1515090440007043
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 200
      
      

      📌 Teardown phase

      duration:

      0.00034009500086540356
      

      outcome:

      passed
      
    • Test 45
      params: process_time=0.3, target=-100

      📌 Parameters

      params:
        process_time: 0.3
        target: -100
      id: "0.3--100"
      

      📌 Setup phase

      duration:

      0.00039534900133730844
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.3017406020007911
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at -100
      
      

      📌 Teardown phase

      duration:

      0.0003801809943979606
      

      outcome:

      passed
      

    Function: test_dummyadjustable_process_time_progressive_values

    • Test 46
      params: process_time=0.2, initial=0, target=100

      📌 Parameters

      params:
        process_time: 0.2
        initial: 0
        target: 100
      id: "0.2-0-100"
      

      📌 Setup phase

      duration:

      0.0004318020000937395
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20278036600211635
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 100
      
      

      📌 Teardown phase

      duration:

      0.00041526999848429114
      

      outcome:

      passed
      
    • Test 47
      params: process_time=0.3, initial=0, target=200

      📌 Parameters

      params:
        process_time: 0.3
        initial: 0
        target: 200
      id: "0.3-0-200"
      

      📌 Setup phase

      duration:

      0.00045874300121795386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.30349994999414776
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 200
      
      

      📌 Teardown phase

      duration:

      0.0003575039954739623
      

      outcome:

      passed
      
    • Test 48
      params: process_time=0.4, initial=0, target=50

      📌 Parameters

      params:
        process_time: 0.4
        initial: 0
        target: 50
      id: "0.4-0-50"
      

      📌 Setup phase

      duration:

      0.0004334209952503443
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.40398240499780513
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 50
      
      

      📌 Teardown phase

      duration:

      0.00043413399544078857
      

      outcome:

      passed
      
    • Test 49
      params: process_time=0.25, initial=0, target=-100

      📌 Parameters

      params:
        process_time: 0.25
        initial: 0
        target: -100
      id: "0.25-0--100"
      

      📌 Setup phase

      duration:

      0.0005766999965999275
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.26336469299712917
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at -100
      
      

      📌 Teardown phase

      duration:

      0.00035659900458995253
      

      outcome:

      passed
      
    • Test 50
      params: process_time=0.3, initial=100, target=-50

      📌 Parameters

      params:
        process_time: 0.3
        initial: 100
        target: -50
      id: "0.3-100--50"
      

      📌 Setup phase

      duration:

      0.0004378809971967712
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.30343464799807407
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at -50
      
      

      📌 Teardown phase

      duration:

      0.000366004001989495
      

      outcome:

      passed
      
    • Test 51
      params: process_time=0.35, initial=-50, target=-150

      📌 Parameters

      params:
        process_time: 0.35
        initial: -50
        target: -150
      id: "0.35--50--150"
      

      📌 Setup phase

      duration:

      0.0004711110013886355
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.36429467300331453
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at -150
      
      

      📌 Teardown phase

      duration:

      0.00035660400317283347
      

      outcome:

      passed
      

    Function: test_dummyadjustable_jitter

    • Test 52
      params: jitter=1

      📌 Parameters

      params:
        jitter: 1
      id: "1"
      

      📌 Setup phase

      duration:

      0.00032630100031383336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.020231554997735657
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003039310031454079
      

      outcome:

      passed
      
    • Test 53
      params: jitter=5

      📌 Parameters

      params:
        jitter: 5
      id: "5"
      

      📌 Setup phase

      duration:

      0.0003252220049034804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007695029999013059
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018350200116401538
      

      outcome:

      passed
      
    • Test 54
      params: jitter=10

      📌 Parameters

      params:
        jitter: 10
      id: "10"
      

      📌 Setup phase

      duration:

      0.00027071800286648795
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006732760011800565
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001743239990901202
      

      outcome:

      passed
      
    • Test 55
      params: jitter=20

      📌 Parameters

      params:
        jitter: 20
      id: "20"
      

      📌 Setup phase

      duration:

      0.00023086199507815763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006592450008611195
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001895179957500659
      

      outcome:

      passed
      
    • Test 56
      params: jitter=0.5

      📌 Parameters

      params:
        jitter: 0.5
      id: "0.5"
      

      📌 Setup phase

      duration:

      0.00022947399702388793
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006593319994863123
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017780600319383666
      

      outcome:

      passed
      

    Function: test_dummyadjustable_stop

    • Test 57

      📌 Setup phase

      duration:

      0.00015502499445574358
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.10136645199963823
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "TestAdj" at 10.0
      
      

      📌 Teardown phase

      duration:

      0.0002718520045164041
      

      outcome:

      passed
      

    Function: test_genericadjustable_with_callbacks

    • Test 58

      📌 Setup phase

      duration:

      0.00019370699737919495
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000771630002418533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016108899581013247
      

      outcome:

      passed
      

    Function: test_genericadjustable_with_wait_callback

    • Test 59

      📌 Setup phase

      duration:

      0.0001774039992596954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039101900620153174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001645239972276613
      

      outcome:

      passed
      

    Function: test_converted_with_scaling

    • Test 60
      params: scale_factor=10, test_value=100

      📌 Parameters

      params:
        scale_factor: 10
        test_value: 100
      id: "10-100"
      

      📌 Setup phase

      duration:

      0.00031872300314716995
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001276659000723157
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 10.0
      
      

      📌 Teardown phase

      duration:

      0.00023343900102190673
      

      outcome:

      passed
      
    • Test 61
      params: scale_factor=2, test_value=50

      📌 Parameters

      params:
        scale_factor: 2
        test_value: 50
      id: "2-50"
      

      📌 Setup phase

      duration:

      0.00033399000676581636
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010089770003105514
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 25.0
      
      

      📌 Teardown phase

      duration:

      0.0002334400051040575
      

      outcome:

      passed
      
    • Test 62
      params: scale_factor=5, test_value=200

      📌 Parameters

      params:
        scale_factor: 5
        test_value: 200
      id: "5-200"
      

      📌 Setup phase

      duration:

      0.0003137079984298907
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010156429998460226
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 40.0
      
      

      📌 Teardown phase

      duration:

      0.00022903899662196636
      

      outcome:

      passed
      
    • Test 63
      params: scale_factor=0.5, test_value=25

      📌 Parameters

      params:
        scale_factor: 0.5
        test_value: 25
      id: "0.5-25"
      

      📌 Setup phase

      duration:

      0.0003199720013071783
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009855759999481961
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 50.0
      
      

      📌 Teardown phase

      duration:

      0.0002346480032429099
      

      outcome:

      passed
      
    • Test 64
      params: scale_factor=100, test_value=1000

      📌 Parameters

      params:
        scale_factor: 100
        test_value: 1000
      id: "100-1000"
      

      📌 Setup phase

      duration:

      0.00031660199601901695
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009514080011285841
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 10.0
      
      

      📌 Teardown phase

      duration:

      0.00022839099983684719
      

      outcome:

      passed
      

    Function: test_converted_with_offset

    • Test 65
      params: offset=50, test_value=100

      📌 Parameters

      params:
        offset: 50
        test_value: 100
      id: "50-100"
      

      📌 Setup phase

      duration:

      0.0003049259976251051
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008713540009921417
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 50
      
      

      📌 Teardown phase

      duration:

      0.00022298900148598477
      

      outcome:

      passed
      
    • Test 66
      params: offset=10, test_value=30

      📌 Parameters

      params:
        offset: 10
        test_value: 30
      id: "10-30"
      

      📌 Setup phase

      duration:

      0.00032768299570307136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010713239971664734
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 20
      
      

      📌 Teardown phase

      duration:

      0.0002158720017177984
      

      outcome:

      passed
      
    • Test 67
      params: offset=-20, test_value=50

      📌 Parameters

      params:
        offset: -20
        test_value: 50
      id: "-20-50"
      

      📌 Setup phase

      duration:

      0.00029497499781427905
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008666380017530173
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 70
      
      

      📌 Teardown phase

      duration:

      0.0002480240000295453
      

      outcome:

      passed
      
    • Test 68
      params: offset=100, test_value=200

      📌 Parameters

      params:
        offset: 100
        test_value: 200
      id: "100-200"
      

      📌 Setup phase

      duration:

      0.00029184699815232307
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008768499974394217
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 100
      
      

      📌 Teardown phase

      duration:

      0.00021627399837598205
      

      outcome:

      passed
      
    • Test 69
      params: offset=0, test_value=42

      📌 Parameters

      params:
        offset: 0
        test_value: 42
      id: "0-42"
      

      📌 Setup phase

      duration:

      0.0002864880007109605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008447359941783361
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 42
      
      

      📌 Teardown phase

      duration:

      0.00020973800565116107
      

      outcome:

      passed
      

    Function: test_converted_with_scaling_and_offset

    • Test 70
      params: scale=10, offset=50, base_val=0, expected_conv=50

      📌 Parameters

      params:
        scale: 10
        offset: 50
        base_val: 0
        expected_conv: 50
      id: "10-50-0-50"
      

      📌 Setup phase

      duration:

      0.00039269500121008605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010732259979704395
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 0
      DummyAdjustable "Base" at 0.0
      
      

      📌 Teardown phase

      duration:

      0.00023259899899130687
      

      outcome:

      passed
      
    • Test 71
      params: scale=10, offset=50, base_val=5, expected_conv=100

      📌 Parameters

      params:
        scale: 10
        offset: 50
        base_val: 5
        expected_conv: 100
      id: "10-50-5-100"
      

      📌 Setup phase

      duration:

      0.0003733870034920983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012850139974034391
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 5
      DummyAdjustable "Base" at 5.0
      
      

      📌 Teardown phase

      duration:

      0.0002478969981893897
      

      outcome:

      passed
      
    • Test 72
      params: scale=2, offset=10, base_val=20, expected_conv=50

      📌 Parameters

      params:
        scale: 2
        offset: 10
        base_val: 20
        expected_conv: 50
      id: "2-10-20-50"
      

      📌 Setup phase

      duration:

      0.0003888600040227175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011875030031660572
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 20
      DummyAdjustable "Base" at 20.0
      
      

      📌 Teardown phase

      duration:

      0.000252496000030078
      

      outcome:

      passed
      
    • Test 73
      params: scale=5, offset=-15, base_val=3, expected_conv=0

      📌 Parameters

      params:
        scale: 5
        offset: -15
        base_val: 3
        expected_conv: 0
      id: "5--15-3-0"
      

      📌 Setup phase

      duration:

      0.0003848389969789423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011000680024153553
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 3
      DummyAdjustable "Base" at 3.0
      
      

      📌 Teardown phase

      duration:

      0.00023581599816679955
      

      outcome:

      passed
      
    • Test 74
      params: scale=0.5, offset=100, base_val=40, expected_conv=120

      📌 Parameters

      params:
        scale: 0.5
        offset: 100
        base_val: 40
        expected_conv: 120
      id: "0.5-100-40-120"
      

      📌 Setup phase

      duration:

      0.0003707819996634498
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009651349973864853
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 40
      DummyAdjustable "Base" at 40.0
      
      

      📌 Teardown phase

      duration:

      0.00024230199778685346
      

      outcome:

      passed
      

    Function: test_converted_units_conversion

    • Test 75

      📌 Setup phase

      duration:

      0.0001614620050531812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010288490011589602
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Position_mm" at 1 mm
      DummyAdjustable "Position_mm" at 2.5 mm
      
      

      📌 Teardown phase

      duration:

      0.00016700899868737906
      

      outcome:

      passed
      

    Function: test_converted_negative_scale

    • Test 76

      📌 Setup phase

      duration:

      0.00015296300261979923
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001090366997232195
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 10
      DummyAdjustable "Base" at -20
      
      

      📌 Teardown phase

      duration:

      0.00021581000328296795
      

      outcome:

      passed
      

    Function: test_converted_is_moving

    • Test 77

      📌 Setup phase

      duration:

      0.0002030890027526766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006913780016475357
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015012500080047175
      

      outcome:

      passed
      

    Function: test_converted_only_get_conversion

    • Test 78

      📌 Setup phase

      duration:

      0.00019978800264652818
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012965029964107089
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 5
      DummyAdjustable "Base" at 100
      
      

      📌 Teardown phase

      duration:

      0.00017031199968187138
      

      outcome:

      passed
      

    Function: test_converted_only_set_conversion

    • Test 79

      📌 Setup phase

      duration:

      0.00018345600255997851
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010991089948220178
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 50
      DummyAdjustable "Base" at 10.0
      
      

      📌 Teardown phase

      duration:

      0.0001851210035965778
      

      outcome:

      passed
      

    Function: test_scaler_basic

    • Test 80
      params: init1=10, init2=20, factor_init=2, factor_target=4

      📌 Parameters

      params:
        init1: 10
        init2: 20
        factor_init: 2
        factor_target: 4
      id: "10-20-2-4"
      

      📌 Setup phase

      duration:

      0.0004343210021033883
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010883530048886314
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 20.0
      DummyAdjustable "Adj2" at 40.0
      
      

      📌 Teardown phase

      duration:

      0.0002648619993124157
      

      outcome:

      passed
      
    • Test 81
      params: init1=5, init2=15, factor_init=1, factor_target=3

      📌 Parameters

      params:
        init1: 5
        init2: 15
        factor_init: 1
        factor_target: 3
      id: "5-15-1-3"
      

      📌 Setup phase

      duration:

      0.00042838700028369203
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013371989989536814
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 15.0DummyAdjustable "Adj2" at 45.0
      
      
      

      📌 Teardown phase

      duration:

      0.00025560299400240183
      

      outcome:

      passed
      
    • Test 82
      params: init1=100, init2=200, factor_init=0.5, factor_target=1

      📌 Parameters

      params:
        init1: 100
        init2: 200
        factor_init: 0.5
        factor_target: 1
      id: "100-200-0.5-1"
      

      📌 Setup phase

      duration:

      0.0004346369969425723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011824689936474897
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 200.0DummyAdjustable "Adj2" at 400.0
      
      
      

      📌 Teardown phase

      duration:

      0.00024563699844293296
      

      outcome:

      passed
      
    • Test 83
      params: init1=8, init2=16, factor_init=4, factor_target=2

      📌 Parameters

      params:
        init1: 8
        init2: 16
        factor_init: 4
        factor_target: 2
      id: "8-16-4-2"
      

      📌 Setup phase

      duration:

      0.00041504499677103013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001613058993825689
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 4.0DummyAdjustable "Adj2" at 8.0
      
      
      

      📌 Teardown phase

      duration:

      0.000350488000549376
      

      outcome:

      passed
      
    • Test 84
      params: init1=50, init2=100, factor_init=10, factor_target=20

      📌 Parameters

      params:
        init1: 50
        init2: 100
        factor_init: 10
        factor_target: 20
      id: "50-100-10-20"
      

      📌 Setup phase

      duration:

      0.00044054200407117605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001670776997343637
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj2" at 200.0
      DummyAdjustable "Adj1" at 100.0
      
      

      📌 Teardown phase

      duration:

      0.0002692640046007
      

      outcome:

      passed
      

    Function: test_scaler_fractional_factor

    • Test 85

      📌 Setup phase

      duration:

      0.00017604899767320603
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009393399959662929
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 200.0
      
      

      📌 Teardown phase

      duration:

      0.00017909499729285017
      

      outcome:

      passed
      

    Function: test_scaler_is_moving

    • Test 86

      📌 Setup phase

      duration:

      0.0001571649991092272
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008383429958485067
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016731199866626412
      

      outcome:

      passed
      

    Function: test_combined_two_adjustables

    • Test 87

      📌 Setup phase

      duration:

      0.00015313200128730386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001485116001276765
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 50DummyAdjustable "Adj2" at 50
      
      
      

      📌 Teardown phase

      duration:

      0.0001626110024517402
      

      outcome:

      passed
      

    Function: test_combined_three_adjustables

    • Test 88

      📌 Setup phase

      duration:

      0.00016657500236760825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0019419590025790967
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 100DummyAdjustable "Adj2" at 100
      DummyAdjustable "Adj3" at 100
      
      
      

      📌 Teardown phase

      duration:

      0.00016713399963919073
      

      outcome:

      passed
      

    Function: test_combined_get_current_value_returns_mean

    • Test 89

      📌 Setup phase

      duration:

      0.00020729599782498553
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015995979993022047
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 100
      DummyAdjustable "Adj2" at 100
      
      

      📌 Teardown phase

      duration:

      0.00017606599431019276
      

      outcome:

      passed
      

    Function: test_combined_mean_with_different_initial_values

    • Test 90

      📌 Setup phase

      duration:

      0.0001684789967839606
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00220735500624869
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj1" at 60
      DummyAdjustable "Adj2" at 60
      DummyAdjustable "Adj3" at 60
      
      

      📌 Teardown phase

      duration:

      0.00018200599879492074
      

      outcome:

      passed
      

    Function: test_combined_is_moving

    • Test 91

      📌 Setup phase

      duration:

      0.00016836299619171768
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000594779005041346
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016234500071732327
      

      outcome:

      passed
      

    Function: test_linked_basic

    • Test 92

      📌 Setup phase

      duration:

      0.00015749599697301164
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013238960018497892
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10DummyAdjustable "Slave" at 10
      
      
      

      📌 Teardown phase

      duration:

      0.0001691409997874871
      

      outcome:

      passed
      

    Function: test_linked_with_scale

    • Test 93
      params: scale=2, target_val=10, expected_slave=20

      📌 Parameters

      params:
        scale: 2
        target_val: 10
        expected_slave: 20
      id: "2-10-20"
      

      📌 Setup phase

      duration:

      0.000368526998499874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002130512999428902
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10DummyAdjustable "Slave" at 20
      
      
      

      📌 Teardown phase

      duration:

      0.0002456940055708401
      

      outcome:

      passed
      
    • Test 94
      params: scale=3, target_val=15, expected_slave=45

      📌 Parameters

      params:
        scale: 3
        target_val: 15
        expected_slave: 45
      id: "3-15-45"
      

      📌 Setup phase

      duration:

      0.00036790900048799813
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012056880004820414
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 15DummyAdjustable "Slave" at 45
      
      
      

      📌 Teardown phase

      duration:

      0.00024120300076901913
      

      outcome:

      passed
      
    • Test 95
      params: scale=0.5, target_val=20, expected_slave=10

      📌 Parameters

      params:
        scale: 0.5
        target_val: 20
        expected_slave: 10
      id: "0.5-20-10"
      

      📌 Setup phase

      duration:

      0.00035403500078246
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011825620022136718
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 20
      DummyAdjustable "Slave" at 10.0
      
      

      📌 Teardown phase

      duration:

      0.00023282899928744882
      

      outcome:

      passed
      
    • Test 96
      params: scale=10, target_val=5, expected_slave=50

      📌 Parameters

      params:
        scale: 10
        target_val: 5
        expected_slave: 50
      id: "10-5-50"
      

      📌 Setup phase

      duration:

      0.0003662939998321235
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001211504997627344
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 5
      DummyAdjustable "Slave" at 50
      
      

      📌 Teardown phase

      duration:

      0.00022958499903324991
      

      outcome:

      passed
      
    • Test 97
      params: scale=-1, target_val=10, expected_slave=-10

      📌 Parameters

      params:
        scale: -1
        target_val: 10
        expected_slave: -10
      id: "-1-10--10"
      

      📌 Setup phase

      duration:

      0.00032788100361358374
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011983370059169829
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10
      DummyAdjustable "Slave" at -10
      
      

      📌 Teardown phase

      duration:

      0.00023216100089484826
      

      outcome:

      passed
      
    • Test 98
      params: scale=-2, target_val=15, expected_slave=-30

      📌 Parameters

      params:
        scale: -2
        target_val: 15
        expected_slave: -30
      id: "-2-15--30"
      

      📌 Setup phase

      duration:

      0.0003369060068507679
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013121990050422028
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 15DummyAdjustable "Slave" at -30
      
      
      

      📌 Teardown phase

      duration:

      0.0002285679947817698
      

      outcome:

      passed
      

    Function: test_linked_with_scale_and_offset

    • Test 99
      params: scale=1, offset=50, target_val=10

      📌 Parameters

      params:
        scale: 1
        offset: 50
        target_val: 10
      id: "1-50-10"
      

      📌 Setup phase

      duration:

      0.00034766200406011194
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011657419963739812
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10DummyAdjustable "Slave" at 60
      
      
      

      📌 Teardown phase

      duration:

      0.00022301900025922805
      

      outcome:

      passed
      
    • Test 100
      params: scale=2, offset=10, target_val=15

      📌 Parameters

      params:
        scale: 2
        offset: 10
        target_val: 15
      id: "2-10-15"
      

      📌 Setup phase

      duration:

      0.000340997998137027
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010893129947362468
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 15
      DummyAdjustable "Slave" at 40
      
      

      📌 Teardown phase

      duration:

      0.0002179869989049621
      

      outcome:

      passed
      
    • Test 101
      params: scale=3, offset=-5, target_val=10

      📌 Parameters

      params:
        scale: 3
        offset: -5
        target_val: 10
      id: "3--5-10"
      

      📌 Setup phase

      duration:

      0.000337634002789855
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011752130012609996
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10DummyAdjustable "Slave" at 25
      
      
      

      📌 Teardown phase

      duration:

      0.00021966200438328087
      

      outcome:

      passed
      
    • Test 102
      params: scale=0.5, offset=100, target_val=20

      📌 Parameters

      params:
        scale: 0.5
        offset: 100
        target_val: 20
      id: "0.5-100-20"
      

      📌 Setup phase

      duration:

      0.00033061000431189314
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001219595993461553
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 20
      DummyAdjustable "Slave" at 110.0
      
      

      📌 Teardown phase

      duration:

      0.0004080119979334995
      

      outcome:

      passed
      
    • Test 103
      params: scale=-1, offset=50, target_val=10

      📌 Parameters

      params:
        scale: -1
        offset: 50
        target_val: 10
      id: "-1-50-10"
      

      📌 Setup phase

      duration:

      0.00033950899523915723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010916379978880286
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 10DummyAdjustable "Slave" at 40
      
      
      

      📌 Teardown phase

      duration:

      0.00023923400294734165
      

      outcome:

      passed
      
    • Test 104
      params: scale=2, offset=0, target_val=25

      📌 Parameters

      params:
        scale: 2
        offset: 0
        target_val: 25
      id: "2-0-25"
      

      📌 Setup phase

      duration:

      0.0003374389998498373
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010531109946896322
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 25DummyAdjustable "Slave" at 50
      
      
      

      📌 Teardown phase

      duration:

      0.00022707999596605077
      

      outcome:

      passed
      

    Function: test_linked_get_current_value

    • Test 105

      📌 Setup phase

      duration:

      0.0001844669968704693
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006108739980845712
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017482900148024783
      

      outcome:

      passed
      

    Function: test_linked_repr

    • Test 106

      📌 Setup phase

      duration:

      0.00016781099839136004
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001210697999340482
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Master" at 15DummyAdjustable "Slave" at 35
      
      
      

      📌 Teardown phase

      duration:

      0.00015658499614801258
      

      outcome:

      passed
      

    Function: test_collection_basic

    • Test 107

      📌 Setup phase

      duration:

      0.00016170599701581523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006431949950638227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016607200086582452
      

      outcome:

      passed
      

    Function: test_collection_set_individual_values

    • Test 108

      📌 Setup phase

      duration:

      0.00015205799718387425
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014520740005536936
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 20
      
      
      

      📌 Teardown phase

      duration:

      0.00016807399515528232
      

      outcome:

      passed
      

    Function: test_collection_get_current_value

    • Test 109

      📌 Setup phase

      duration:

      0.00017523099813843146
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005284119979478419
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001625340009923093
      

      outcome:

      passed
      

    Function: test_collection_empty

    • Test 110

      📌 Setup phase

      duration:

      0.00014934300270397216
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030418100504903123
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001415209990227595
      

      outcome:

      passed
      

    Function: test_collection_wrong_number_of_values

    • Test 111

      📌 Setup phase

      duration:

      0.00014876200293656439
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015382100027636625
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015792500198585913
      

      outcome:

      passed
      

    Function: test_collection_repr

    • Test 112

      📌 Setup phase

      duration:

      0.0001589110033819452
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001527115993667394
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Adj1" at 100DummyAdjustable "Adj2" at 200DummyAdjustable "Adj3" at 300
      
      
      
      

      📌 Teardown phase

      duration:

      0.00016661900008330122
      

      outcome:

      passed
      

    Function: test_collection_is_moving

    • Test 113

      📌 Setup phase

      duration:

      0.0001550330052850768
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005457799998112023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015396000526379794
      

      outcome:

      passed
      

    Function: test_nested_conversions

    • Test 114

      📌 Setup phase

      duration:

      0.00016451199917355552
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0017559039988555014
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base" at 1
      DummyAdjustable "Base" at 5.0
      
      

      📌 Teardown phase

      duration:

      0.0001737769998726435
      

      outcome:

      passed
      

    Function: test_combined_with_converted

    • Test 115

      📌 Setup phase

      duration:

      0.00016964699898380786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00182492100429954
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base1" at 5.0
      DummyAdjustable "Base2" at 0.5
      
      

      📌 Teardown phase

      duration:

      0.0001761029998306185
      

      outcome:

      passed
      

    Function: test_collection_with_converted

    • Test 116

      📌 Setup phase

      duration:

      0.00016468900139443576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0016891719933482818
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Base1" at 5.0
      DummyAdjustable "Base2" at 2.0
      
      

      📌 Teardown phase

      duration:

      0.00018354199710302055
      

      outcome:

      passed
      

    Function: test_adjustable_tweak

    • Test 117
      params: initial=10, delta1=5, delta2=-3, expected_final=12

      📌 Parameters

      params:
        initial: 10
        delta1: 5
        delta2: -3
        expected_final: 12
      id: "10-5--3-12"
      

      📌 Setup phase

      duration:

      0.00042987499909941107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000733086999389343
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 15
      DummyAdjustable "Test" at 12
      
      

      📌 Teardown phase

      duration:

      0.00024373400083277375
      

      outcome:

      passed
      
    • Test 118
      params: initial=0, delta1=100, delta2=-50, expected_final=50

      📌 Parameters

      params:
        initial: 0
        delta1: 100
        delta2: -50
        expected_final: 50
      id: "0-100--50-50"
      

      📌 Setup phase

      duration:

      0.0003886399936163798
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009092619948205538
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 100
      DummyAdjustable "Test" at 50
      
      

      📌 Teardown phase

      duration:

      0.00025277699751313776
      

      outcome:

      passed
      
    • Test 119
      params: initial=42, delta1=-10, delta2=8, expected_final=40

      📌 Parameters

      params:
        initial: 42
        delta1: -10
        delta2: 8
        expected_final: 40
      id: "42--10-8-40"
      

      📌 Setup phase

      duration:

      0.0003684759940369986
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008005679992493242
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 32
      DummyAdjustable "Test" at 40
      
      

      📌 Teardown phase

      duration:

      0.00024126000062096864
      

      outcome:

      passed
      
    • Test 120
      params: initial=-5, delta1=15, delta2=-20, expected_final=-10

      📌 Parameters

      params:
        initial: -5
        delta1: 15
        delta2: -20
        expected_final: -10
      id: "-5-15--20--10"
      

      📌 Setup phase

      duration:

      0.00039742799708619714
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007781009990139864
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 10
      DummyAdjustable "Test" at -10
      
      

      📌 Teardown phase

      duration:

      0.00023322700144490227
      

      outcome:

      passed
      
    • Test 121
      params: initial=100, delta1=0, delta2=0, expected_final=100

      📌 Parameters

      params:
        initial: 100
        delta1: 0
        delta2: 0
        expected_final: 100
      id: "100-0-0-100"
      

      📌 Setup phase

      duration:

      0.0003860930009977892
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007941459989524446
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 100
      DummyAdjustable "Test" at 100
      
      

      📌 Teardown phase

      duration:

      0.0002520790003472939
      

      outcome:

      passed
      

    Function: test_adjustable_call_syntax

    • Test 122

      📌 Setup phase

      duration:

      0.00016350599616998807
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005618560026050545
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 100
      
      

      📌 Teardown phase

      duration:

      0.0001678729968261905
      

      outcome:

      passed
      

    Function: test_adjustable_set_get_aliases

    • Test 123

      📌 Setup phase

      duration:

      0.00015341500693466514
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000527452997630462
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 20
      
      

      📌 Teardown phase

      duration:

      0.00015634099690942094
      

      outcome:

      passed
      

    Function: test_adjustable_moving_property

    • Test 124

      📌 Setup phase

      duration:

      0.00015557499864371493
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003231719965697266
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015214700397336856
      

      outcome:

      passed
      

    Function: test_adjustable_repr_with_units

    • Test 125

      📌 Setup phase

      duration:

      0.00014761099737370387
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035280500014778227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013912100257584825
      

      outcome:

      passed
      

    Function: test_adjustable_repr_with_degrees

    • Test 126

      📌 Setup phase

      duration:

      0.000153730004967656
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033331300073768944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016468100511701778
      

      outcome:

      passed
      

    Function: test_adjustable_str

    • Test 127

      📌 Setup phase

      duration:

      0.00015040000289445743
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034182300441898406
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017054099589586258
      

      outcome:

      passed
      

    Function: test_numeric_convenience_int_float

    • Test 128
      params: value=42.7, expected_int=42, expected_float=42.7

      📌 Parameters

      params:
        value: 42.7
        expected_int: 42
        expected_float: 42.7
      id: "42.7-42-42.7"
      

      📌 Setup phase

      duration:

      0.0005136520048836246
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00048116799734998494
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024861500423867255
      

      outcome:

      passed
      
    • Test 129
      params: value=3.14159, expected_int=3, expected_float=3.14159

      📌 Parameters

      params:
        value: 3.14159
        expected_int: 3
        expected_float: 3.14159
      id: "3.14159-3-3.14159"
      

      📌 Setup phase

      duration:

      0.00036191200342727825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035615399974631146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020605200552381575
      

      outcome:

      passed
      
    • Test 130
      params: value=99.99, expected_int=99, expected_float=99.99

      📌 Parameters

      params:
        value: 99.99
        expected_int: 99
        expected_float: 99.99
      id: "99.99-99-99.99"
      

      📌 Setup phase

      duration:

      0.0004633939970517531
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000731902000552509
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00036065399763174355
      

      outcome:

      passed
      
    • Test 131
      params: value=-5.8, expected_int=-5, expected_float=-5.8

      📌 Parameters

      params:
        value: -5.8
        expected_int: -5
        expected_float: -5.8
      id: "-5.8--5--5.8"
      

      📌 Setup phase

      duration:

      0.0005774250021204352
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043020299926865846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00032905499392654747
      

      outcome:

      passed
      
    • Test 132
      params: value=0.1, expected_int=0, expected_float=0.1

      📌 Parameters

      params:
        value: 0.1
        expected_int: 0
        expected_float: 0.1
      id: "0.1-0-0.1"
      

      📌 Setup phase

      duration:

      0.0003835720053757541
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004109540022909641
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021103800099808723
      

      outcome:

      passed
      

    Function: test_numeric_convenience_round

    • Test 133
      params: value=3.14159, round0=3, round1=3.1, round2=3.14

      📌 Parameters

      params:
        value: 3.14159
        round0: 3
        round1: 3.1
        round2: 3.14
      id: "3.14159-3-3.1-3.14"
      

      📌 Setup phase

      duration:

      0.0003952190018026158
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035014400054933503
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002366479966440238
      

      outcome:

      passed
      
    • Test 134
      params: value=2.71828, round0=3, round1=2.7, round2=2.72

      📌 Parameters

      params:
        value: 2.71828
        round0: 3
        round1: 2.7
        round2: 2.72
      id: "2.71828-3-2.7-2.72"
      

      📌 Setup phase

      duration:

      0.0003955409993068315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000344816995493602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022912800341146067
      

      outcome:

      passed
      
    • Test 135
      params: value=9.8765, round0=10, round1=9.9, round2=9.88

      📌 Parameters

      params:
        value: 9.8765
        round0: 10
        round1: 9.9
        round2: 9.88
      id: "9.8765-10-9.9-9.88"
      

      📌 Setup phase

      duration:

      0.000355372998456005
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003782619969570078
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022989600256551057
      

      outcome:

      passed
      
    • Test 136
      params: value=-4.567, round0=-5, round1=-4.6, round2=-4.57

      📌 Parameters

      params:
        value: -4.567
        round0: -5
        round1: -4.6
        round2: -4.57
      id: "-4.567--5--4.6--4.57"
      

      📌 Setup phase

      duration:

      0.0004422899946803227
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003605739984777756
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028555700555443764
      

      outcome:

      passed
      
    • Test 137
      params: value=100.123, round0=100, round1=100.1, round2=100.12

      📌 Parameters

      params:
        value: 100.123
        round0: 100
        round1: 100.1
        round2: 100.12
      id: "100.123-100-100.1-100.12"
      

      📌 Setup phase

      duration:

      0.0005105509990244173
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035610299528343603
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023447900457540527
      

      outcome:

      passed
      

    Function: test_numeric_convenience_math_funcs

    • Test 138
      params: value=3.9, expected_trunc=3, expected_floor=3, expected_ceil=4

      📌 Parameters

      params:
        value: 3.9
        expected_trunc: 3
        expected_floor: 3
        expected_ceil: 4
      id: "3.9-3-3-4"
      

      📌 Setup phase

      duration:

      0.0003959640016546473
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038404599763453007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002546659961808473
      

      outcome:

      passed
      
    • Test 139
      params: value=3.1, expected_trunc=3, expected_floor=3, expected_ceil=4

      📌 Parameters

      params:
        value: 3.1
        expected_trunc: 3
        expected_floor: 3
        expected_ceil: 4
      id: "3.1-3-3-4"
      

      📌 Setup phase

      duration:

      0.0003623550001066178
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003724169946508482
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022452800476457924
      

      outcome:

      passed
      
    • Test 140
      params: value=-2.8, expected_trunc=-2, expected_floor=-3, expected_ceil=-2

      📌 Parameters

      params:
        value: -2.8
        expected_trunc: -2
        expected_floor: -3
        expected_ceil: -2
      id: "-2.8--2--3--2"
      

      📌 Setup phase

      duration:

      0.0003829139968729578
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036270199780119583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022316499962471426
      

      outcome:

      passed
      
    • Test 141
      params: value=-2.1, expected_trunc=-2, expected_floor=-3, expected_ceil=-2

      📌 Parameters

      params:
        value: -2.1
        expected_trunc: -2
        expected_floor: -3
        expected_ceil: -2
      id: "-2.1--2--3--2"
      

      📌 Setup phase

      duration:

      0.0003768030001083389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003439779975451529
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023292100377148017
      

      outcome:

      passed
      
    • Test 142
      params: value=5.5, expected_trunc=5, expected_floor=5, expected_ceil=6

      📌 Parameters

      params:
        value: 5.5
        expected_trunc: 5
        expected_floor: 5
        expected_ceil: 6
      id: "5.5-5-5-6"
      

      📌 Setup phase

      duration:

      0.00035718900471692905
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003488000002107583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002359650025027804
      

      outcome:

      passed
      

    Function: test_spec_convenience_wm

    • Test 143

      📌 Setup phase

      duration:

      0.00017799499619286507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003423140005907044
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016332900122506544
      

      outcome:

      passed
      

    Function: test_spec_convenience_mv

    • Test 144

      📌 Setup phase

      duration:

      0.000150431995280087
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000717863003956154
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 50
      
      

      📌 Teardown phase

      duration:

      0.00017558300169184804
      

      outcome:

      passed
      

    Function: test_spec_convenience_mvr

    • Test 145
      params: initial=10, move1=5, move2=-3, expected_final=12

      📌 Parameters

      params:
        initial: 10
        move1: 5
        move2: -3
        expected_final: 12
      id: "10-5--3-12"
      

      📌 Setup phase

      duration:

      0.0005037729933974333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008203879988286644
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 15
      DummyAdjustable "Test" at 12
      
      

      📌 Teardown phase

      duration:

      0.00023633099772268906
      

      outcome:

      passed
      
    • Test 146
      params: initial=0, move1=50, move2=30, expected_final=80

      📌 Parameters

      params:
        initial: 0
        move1: 50
        move2: 30
        expected_final: 80
      id: "0-50-30-80"
      

      📌 Setup phase

      duration:

      0.00038680499710608274
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000857699997141026
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 50
      DummyAdjustable "Test" at 80
      
      

      📌 Teardown phase

      duration:

      0.0003336750014568679
      

      outcome:

      passed
      
    • Test 147
      params: initial=100, move1=-20, move2=-10, expected_final=70

      📌 Parameters

      params:
        initial: 100
        move1: -20
        move2: -10
        expected_final: 70
      id: "100--20--10-70"
      

      📌 Setup phase

      duration:

      0.0003751109979930334
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008274530046037398
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 80
      DummyAdjustable "Test" at 70
      
      

      📌 Teardown phase

      duration:

      0.00025038800231413916
      

      outcome:

      passed
      
    • Test 148
      params: initial=-5, move1=15, move2=-8, expected_final=2

      📌 Parameters

      params:
        initial: -5
        move1: 15
        move2: -8
        expected_final: 2
      id: "-5-15--8-2"
      

      📌 Setup phase

      duration:

      0.0003695289997267537
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007456079983967356
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 10
      DummyAdjustable "Test" at 2
      
      

      📌 Teardown phase

      duration:

      0.00025020799512276426
      

      outcome:

      passed
      
    • Test 149
      params: initial=42, move1=0, move2=8, expected_final=50

      📌 Parameters

      params:
        initial: 42
        move1: 0
        move2: 8
        expected_final: 50
      id: "42-0-8-50"
      

      📌 Setup phase

      duration:

      0.0003632489970186725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008279570029117167
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 42
      DummyAdjustable "Test" at 50
      
      

      📌 Teardown phase

      duration:

      0.00024206600210163742
      

      outcome:

      passed
      

    Function: test_limited_set_limits

    • Test 150

      📌 Setup phase

      duration:

      0.00015946100029395893
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033065100433304906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001399850007146597
      

      outcome:

      passed
      

    Function: test_limited_with_various_ranges

    • Test 151
      params: low=0, high=100, valid_values=[0, 50, 100], invalid_low=-10, invalid_high=150

      📌 Parameters

      params:
        low: 0
        high: 100
        valid_values: [0, 50, 100]
        invalid_low: -10
        invalid_high: 150
      id: "0-100-valid_values0--10-150"
      

      📌 Setup phase

      duration:

      0.00042876599763985723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011905749997822568
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 0
      DummyAdjustable "Test" at 50
      DummyAdjustable "Test" at 100
      
      

      📌 Teardown phase

      duration:

      0.00026929000159725547
      

      outcome:

      passed
      
    • Test 152
      params: low=-50, high=50, valid_values=[-50, 0, 50], invalid_low=-100, invalid_high=100

      📌 Parameters

      params:
        low: -50
        high: 50
        valid_values: [-50, 0, 50]
        invalid_low: -100
        invalid_high: 100
      id: "-50-50-valid_values1--100-100"
      

      📌 Setup phase

      duration:

      0.0004322579989093356
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009570929978508502
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at -50
      DummyAdjustable "Test" at 0
      DummyAdjustable "Test" at 50
      
      

      📌 Teardown phase

      duration:

      0.0002437169969198294
      

      outcome:

      passed
      
    • Test 153
      params: low=10, high=20, valid_values=[10, 15, 20], invalid_low=5, invalid_high=25

      📌 Parameters

      params:
        low: 10
        high: 20
        valid_values: [10, 15, 20]
        invalid_low: 5
        invalid_high: 25
      id: "10-20-valid_values2-5-25"
      

      📌 Setup phase

      duration:

      0.0004333500037319027
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009475519982515834
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 10
      DummyAdjustable "Test" at 15
      DummyAdjustable "Test" at 20
      
      

      📌 Teardown phase

      duration:

      0.00027054599922848865
      

      outcome:

      passed
      
    • Test 154
      params: low=-100, high=-10, valid_values=[-100, -50, -10], invalid_low=-150, invalid_high=0

      📌 Parameters

      params:
        low: -100
        high: -10
        valid_values: [-100, -50, -10]
        invalid_low: -150
        invalid_high: 0
      id: "-100--10-valid_values3--150-0"
      

      📌 Setup phase

      duration:

      0.0004294399986974895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012019200003123842
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at -100
      DummyAdjustable "Test" at -50
      DummyAdjustable "Test" at -10
      
      

      📌 Teardown phase

      duration:

      0.0002568489944678731
      

      outcome:

      passed
      
    • Test 155
      params: low=0, high=1000, valid_values=[0, 500, 1000], invalid_low=-1, invalid_high=1001

      📌 Parameters

      params:
        low: 0
        high: 1000
        valid_values: [0, 500, 1000]
        invalid_low: -1
        invalid_high: 1001
      id: "0-1000-valid_values4--1-1001"
      

      📌 Setup phase

      duration:

      0.0004173950001131743
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000989856998785399
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 0
      DummyAdjustable "Test" at 500
      DummyAdjustable "Test" at 1000
      
      

      📌 Teardown phase

      duration:

      0.00027863000286743045
      

      outcome:

      passed
      

    Function: test_limited_no_limits

    • Test 156

      📌 Setup phase

      duration:

      0.00017568100156495348
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007674640000914223
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at -999
      DummyAdjustable "Test" at 999
      
      

      📌 Teardown phase

      duration:

      0.00018786099826684222
      

      outcome:

      passed
      

    Function: test_limited_only_low_limit

    • Test 157

      📌 Setup phase

      duration:

      0.00016490399866597727
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005858090007677674
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 1000
      
      

      📌 Teardown phase

      duration:

      0.00016155299817910418
      

      outcome:

      passed
      

    Function: test_limited_only_high_limit

    • Test 158

      📌 Setup phase

      duration:

      0.00015816700033610687
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005937779933447018
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at -1000
      
      

      📌 Teardown phase

      duration:

      0.0001647280005272478
      

      outcome:

      passed
      

    Function: test_limited_reversed_limits

    • Test 159

      📌 Setup phase

      duration:

      0.0001553999973111786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005702760026906617
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Test" at 50
      
      

      📌 Teardown phase

      duration:

      0.00018336599896429107
      

      outcome:

      passed
      
  • 📄 test_core_devices.py

    Function: test_device_init_name_defaults_to_id

    • Test 160
      params: device_id="DEV001", expected_name="DEV001"

      📌 Parameters

      params:
        device_id: "DEV001"
        expected_name: "DEV001"
      id: "DEV001-DEV001"
      

      📌 Setup phase

      duration:

      0.00033704700035741553
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025108699628617615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021534200641326606
      

      outcome:

      passed
      
    • Test 161
      params: device_id="MOTOR_X", expected_name="MOTOR_X"

      📌 Parameters

      params:
        device_id: "MOTOR_X"
        expected_name: "MOTOR_X"
      id: "MOTOR_X-MOTOR_X"
      

      📌 Setup phase

      duration:

      0.00032155199733097106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022218399681150913
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022744000307284296
      

      outcome:

      passed
      
    • Test 162
      params: device_id="dev123", expected_name="dev123"

      📌 Parameters

      params:
        device_id: "dev123"
        expected_name: "dev123"
      id: "dev123-dev123"
      

      📌 Setup phase

      duration:

      0.0003789689944824204
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002599969957373105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002879429957829416
      

      outcome:

      passed
      
    • Test 163
      params: device_id="X", expected_name="X"

      📌 Parameters

      params:
        device_id: "X"
        expected_name: "X"
      id: "X-X"
      

      📌 Setup phase

      duration:

      0.0003366490054759197
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020192700321786106
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019085699750576168
      

      outcome:

      passed
      
    • Test 164
      params: device_id="A_B_C_D", expected_name="A_B_C_D"

      📌 Parameters

      params:
        device_id: "A_B_C_D"
        expected_name: "A_B_C_D"
      id: "A_B_C_D-A_B_C_D"
      

      📌 Setup phase

      duration:

      0.00033823100238805637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021695200121030211
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020112600032007322
      

      outcome:

      passed
      

    Function: test_device_init_with_custom_attributes

    • Test 165
      params: device_id="DEV001", custom_name="Motor X", description="X-axis motor controller"

      📌 Parameters

      params:
        device_id: "DEV001"
        custom_name: "Motor X"
        description: "X-axis motor controller"
      id: "DEV001-Motor X-X-axis motor controller"
      

      📌 Setup phase

      duration:

      0.0003427420015214011
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020751499687321484
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001976429994101636
      

      outcome:

      passed
      
    • Test 166
      params: device_id="SENS002", custom_name="Temperature Sensor", description="Beamline temp sensor"

      📌 Parameters

      params:
        device_id: "SENS002"
        custom_name: "Temperature Sensor"
        description: "Beamline temp sensor"
      id: "SENS002-Temperature Sensor-Beamline temp sensor"
      

      📌 Setup phase

      duration:

      0.0003364129952387884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018900400027632713
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019247500313213095
      

      outcome:

      passed
      
    • Test 167
      params: device_id="UND100", custom_name="Undulator", description="Main undulator device"

      📌 Parameters

      params:
        device_id: "UND100"
        custom_name: "Undulator"
        description: "Main undulator device"
      id: "UND100-Undulator-Main undulator device"
      

      📌 Setup phase

      duration:

      0.00031479899917030707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017256400315091014
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021213700529187918
      

      outcome:

      passed
      
    • Test 168
      params: device_id="CAM01", custom_name="Camera 1", description=null

      📌 Parameters

      params:
        device_id: "CAM01"
        custom_name: "Camera 1"
        description: null
      id: "CAM01-Camera 1-None"
      

      📌 Setup phase

      duration:

      0.0003095279971603304
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019917699682991952
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019905399676645175
      

      outcome:

      passed
      
    • Test 169
      params: device_id="STAGE", custom_name="XY Stage", description=""

      📌 Parameters

      params:
        device_id: "STAGE"
        custom_name: "XY Stage"
        description: ""
      id: "STAGE-XY Stage-"
      

      📌 Setup phase

      duration:

      0.00032965600257739425
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018203900253865868
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019786399934673682
      

      outcome:

      passed
      

    Function: test_device_z_undulator_from_id

    • Test 170
      params: device_id="UND100", z_value=100

      📌 Parameters

      params:
        device_id: "UND100"
        z_value: 100
      id: "UND100-100"
      

      📌 Setup phase

      duration:

      0.00027707599656423554
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019852099649142474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021529800142161548
      

      outcome:

      passed
      
    • Test 171
      params: device_id="DEV999", z_value=999

      📌 Parameters

      params:
        device_id: "DEV999"
        z_value: 999
      id: "DEV999-999"
      

      📌 Setup phase

      duration:

      0.0002718269970500842
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019800900190602988
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003473469987511635
      

      outcome:

      passed
      
    • Test 172
      params: device_id="MOTOR123", z_value=123

      📌 Parameters

      params:
        device_id: "MOTOR123"
        z_value: 123
      id: "MOTOR123-123"
      

      📌 Setup phase

      duration:

      0.00030049999622860923
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018450600327923894
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001909889979287982
      

      outcome:

      passed
      
    • Test 173
      params: device_id="UND050:EXTRA", z_value=50

      📌 Parameters

      params:
        device_id: "UND050:EXTRA"
        z_value: 50
      id: "UND050:EXTRA-50"
      

      📌 Setup phase

      duration:

      0.0003146050003124401
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019283399888081476
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028077200113330036
      

      outcome:

      passed
      
    • Test 174
      params: device_id="ABC250", z_value=250

      📌 Parameters

      params:
        device_id: "ABC250"
        z_value: 250
      id: "ABC250-250"
      

      📌 Setup phase

      duration:

      0.0004065869943588041
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025156699848594144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001915989996632561
      

      outcome:

      passed
      

    Function: test_device_z_undulator_explicit

    • Test 175
      params: device_id="ANYID", explicit_z=42

      📌 Parameters

      params:
        device_id: "ANYID"
        explicit_z: 42
      id: "ANYID-42"
      

      📌 Setup phase

      duration:

      0.0002798040004563518
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020474499615374953
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019530099962139502
      

      outcome:

      passed
      
    • Test 176
      params: device_id="NOZINID", explicit_z=0

      📌 Parameters

      params:
        device_id: "NOZINID"
        explicit_z: 0
      id: "NOZINID-0"
      

      📌 Setup phase

      duration:

      0.00030069099739193916
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019281399727333337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017808900156524032
      

      outcome:

      passed
      
    • Test 177
      params: device_id="TEST", explicit_z=999

      📌 Parameters

      params:
        device_id: "TEST"
        explicit_z: 999
      id: "TEST-999"
      

      📌 Setup phase

      duration:

      0.00028082200151402503
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018774400086840615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019501700444379821
      

      outcome:

      passed
      
    • Test 178
      params: device_id="ABC", explicit_z=-10

      📌 Parameters

      params:
        device_id: "ABC"
        explicit_z: -10
      id: "ABC--10"
      

      📌 Setup phase

      duration:

      0.00026421799702802673
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018738400103757158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018092300160788
      

      outcome:

      passed
      
    • Test 179
      params: device_id="XYZ", explicit_z=12345

      📌 Parameters

      params:
        device_id: "XYZ"
        explicit_z: 12345
      id: "XYZ-12345"
      

      📌 Setup phase

      duration:

      0.00028711399500025436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017696299619274214
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017102799756685272
      

      outcome:

      passed
      

    Function: test_device_with_adjustables

    • Test 180

      📌 Setup phase

      duration:

      0.00016146900452440605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005400779991759919
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014604299940401688
      

      outcome:

      passed
      

    Function: test_device_iteration

    • Test 181

      📌 Setup phase

      duration:

      0.00015172799612628296
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006765860016457736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014919300156179816
      

      outcome:

      passed
      

    Function: test_device_repr_with_adjustables

    • Test 182

      📌 Setup phase

      duration:

      0.0001562790057505481
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006367470050463453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016458499885629863
      

      outcome:

      passed
      

    Function: test_device_repr_uses_description_then_name_then_id

    • Test 183

      📌 Setup phase

      duration:

      0.0001516819975222461
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026089099992532283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014451400056714192
      

      outcome:

      passed
      

    Function: test_device_nested

    • Test 184

      📌 Setup phase

      duration:

      0.0001527459971839562
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004240459966240451
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001662539943936281
      

      outcome:

      passed
      

    Function: test_device_recursive_detection

    • Test 185

      📌 Setup phase

      duration:

      0.00015219199849525467
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003945459975511767
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015276700287358835
      

      outcome:

      passed
      

    Function: test_read_z_from_channel_valid

    • Test 186
      params: channel_id="UND100", expected_z=100

      📌 Parameters

      params:
        channel_id: "UND100"
        expected_z: 100
      id: "UND100-100"
      

      📌 Setup phase

      duration:

      0.0003235100011806935
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019455399888101965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018234999879496172
      

      outcome:

      passed
      
    • Test 187
      params: channel_id="DEV999", expected_z=999

      📌 Parameters

      params:
        channel_id: "DEV999"
        expected_z: 999
      id: "DEV999-999"
      

      📌 Setup phase

      duration:

      0.00029795300361001864
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001838449970819056
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023330900148721412
      

      outcome:

      passed
      
    • Test 188
      params: channel_id="MOTOR123", expected_z=123

      📌 Parameters

      params:
        channel_id: "MOTOR123"
        expected_z: 123
      id: "MOTOR123-123"
      

      📌 Setup phase

      duration:

      0.00027242399664828554
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019239600078435615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017908900190377608
      

      outcome:

      passed
      
    • Test 189
      params: channel_id="UND001", expected_z=1

      📌 Parameters

      params:
        channel_id: "UND001"
        expected_z: 1
      id: "UND001-1"
      

      📌 Setup phase

      duration:

      0.0002761609939625487
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017860499792732298
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018331900355406106
      

      outcome:

      passed
      
    • Test 190
      params: channel_id="TEST000", expected_z=0

      📌 Parameters

      params:
        channel_id: "TEST000"
        expected_z: 0
      id: "TEST000-0"
      

      📌 Setup phase

      duration:

      0.00026658299611881375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016888899699551985
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018692299636313692
      

      outcome:

      passed
      
    • Test 191
      params: channel_id="XYZ250", expected_z=250

      📌 Parameters

      params:
        channel_id: "XYZ250"
        expected_z: 250
      id: "XYZ250-250"
      

      📌 Setup phase

      duration:

      0.00026436200278112665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016894299915293232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018624099902808666
      

      outcome:

      passed
      

    Function: test_read_z_from_channel_invalid

    • Test 192
      params: channel_id="NODIGITS"

      📌 Parameters

      params:
        channel_id: "NODIGITS"
      id: "NODIGITS"
      

      📌 Setup phase

      duration:

      0.00020438399951672181
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018574699788587168
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017636900156503543
      

      outcome:

      passed
      
    • Test 193
      params: channel_id="ABC"

      📌 Parameters

      params:
        channel_id: "ABC"
      id: "ABC"
      

      📌 Setup phase

      duration:

      0.0002290980046382174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018064399773720652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015433100634254515
      

      outcome:

      passed
      
    • Test 194
      params: channel_id="TEST"

      📌 Parameters

      params:
        channel_id: "TEST"
      id: "TEST"
      

      📌 Setup phase

      duration:

      0.0002348100024391897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000183295996976085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015967199578881264
      

      outcome:

      passed
      
    • Test 195
      params: channel_id="XYZ"

      📌 Parameters

      params:
        channel_id: "XYZ"
      id: "XYZ"
      

      📌 Setup phase

      duration:

      0.0002120200006174855
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017099400429287925
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016491099813720211
      

      outcome:

      passed
      
    • Test 196
      params: channel_id="MOTOR_X"

      📌 Parameters

      params:
        channel_id: "MOTOR_X"
      id: "MOTOR_X"
      

      📌 Setup phase

      duration:

      0.00023577200045110658
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000178980000782758
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016770500224083662
      

      outcome:

      passed
      
    • Test 197
      params: channel_id="AB1"

      📌 Parameters

      params:
        channel_id: "AB1"
      id: "AB1"
      

      📌 Setup phase

      duration:

      0.00020953499915776774
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018552999972598627
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015780200192239136
      

      outcome:

      passed
      
    • Test 198
      params: channel_id="X12"

      📌 Parameters

      params:
        channel_id: "X12"
      id: "X12"
      

      📌 Setup phase

      duration:

      0.00021609700343105942
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017785900126909837
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015480699948966503
      

      outcome:

      passed
      

    Function: test_read_z_from_channel_with_colons

    • Test 199
      params: channel_id="MAIN:SUB:123", colon_part="123"

      📌 Parameters

      params:
        channel_id: "MAIN:SUB:123"
        colon_part: "123"
      id: "MAIN:SUB:123-123"
      

      📌 Setup phase

      duration:

      0.0003063549957005307
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020004000543849543
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001820519973989576
      

      outcome:

      passed
      
    • Test 200
      params: channel_id="CH:100", colon_part="100"

      📌 Parameters

      params:
        channel_id: "CH:100"
        colon_part: "100"
      id: "CH:100-100"
      

      📌 Setup phase

      duration:

      0.00026373399305157363
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021203699725447223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001940969959832728
      

      outcome:

      passed
      
    • Test 201
      params: channel_id="A:B:C:456", colon_part="456"

      📌 Parameters

      params:
        channel_id: "A:B:C:456"
        colon_part: "456"
      id: "A:B:C:456-456"
      

      📌 Setup phase

      duration:

      0.00027255599707132205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001971360034076497
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017653000395512208
      

      outcome:

      passed
      
    • Test 202
      params: channel_id="PREFIX:789:SUFFIX", colon_part="789"

      📌 Parameters

      params:
        channel_id: "PREFIX:789:SUFFIX"
        colon_part: "789"
      id: "PREFIX:789:SUFFIX-789"
      

      📌 Setup phase

      duration:

      0.0002833219987223856
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019143900135532022
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018057099805446342
      

      outcome:

      passed
      

    Function: test_decide_z

    • Test 203
      params: channel_id="UND100", explicit_z=null, expected=100

      📌 Parameters

      params:
        channel_id: "UND100"
        explicit_z: null
        expected: 100
      id: "UND100-None-100"
      

      📌 Setup phase

      duration:

      0.0003142620043945499
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001778169971657917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021706899860873818
      

      outcome:

      passed
      
    • Test 204
      params: channel_id="UND100", explicit_z=200, expected=200

      📌 Parameters

      params:
        channel_id: "UND100"
        explicit_z: 200
        expected: 200
      id: "UND100-200-200"
      

      📌 Setup phase

      duration:

      0.0003084209965891205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018380700203124434
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018652899598237127
      

      outcome:

      passed
      
    • Test 205
      params: channel_id="NODIGITS", explicit_z=null, expected=null

      📌 Parameters

      params:
        channel_id: "NODIGITS"
        explicit_z: null
        expected: null
      id: "NODIGITS-None-None"
      

      📌 Setup phase

      duration:

      0.0003236880002077669
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019237200467614457
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001996869978029281
      

      outcome:

      passed
      
    • Test 206
      params: channel_id="NODIGITS", explicit_z=42, expected=42

      📌 Parameters

      params:
        channel_id: "NODIGITS"
        explicit_z: 42
        expected: 42
      id: "NODIGITS-42-42"
      

      📌 Setup phase

      duration:

      0.0003227030028938316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017027600551955402
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018996900325873867
      

      outcome:

      passed
      
    • Test 207
      params: channel_id="TEST123", explicit_z=0, expected=0

      📌 Parameters

      params:
        channel_id: "TEST123"
        explicit_z: 0
        expected: 0
      id: "TEST123-0-0"
      

      📌 Setup phase

      duration:

      0.00031410199881065637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018577899754745886
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020048699661856517
      

      outcome:

      passed
      

    Function: test_recursive_adjustables_flat

    • Test 208

      📌 Setup phase

      duration:

      0.00017746800585882738
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005318519979482517
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015560799511149526
      

      outcome:

      passed
      

    Function: test_recursive_adjustables_nested

    • Test 209

      📌 Setup phase

      duration:

      0.00015163700300035998
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007547889981651679
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015007800539024174
      

      outcome:

      passed
      

    Function: test_recursive_adjustables_deep_nesting

    • Test 210

      📌 Setup phase

      duration:

      0.0001516170013928786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039647000085096806
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015879400598350912
      

      outcome:

      passed
      

    Function: test_recursive_adjustables_ignores_non_adjustables

    • Test 211

      📌 Setup phase

      duration:

      0.00015427899779751897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046241200470831245
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013859700266039
      

      outcome:

      passed
      

    Function: test_simpledevice_with_kwargs

    • Test 212
      params: device_id="SIMPLE1", kwargs={"x": 10, "y": 20}

      📌 Parameters

      params:
        device_id: "SIMPLE1"
        kwargs: {"x": 10, "y": 20}
      id: "SIMPLE1-kwargs0"
      

      📌 Setup phase

      duration:

      0.00030943500314606354
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020060799579368904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017700200260151178
      

      outcome:

      passed
      
    • Test 213
      params: device_id="SIMPLE2", kwargs={"value": 42}

      📌 Parameters

      params:
        device_id: "SIMPLE2"
        kwargs: {"value": 42}
      id: "SIMPLE2-kwargs1"
      

      📌 Setup phase

      duration:

      0.0003001410004799254
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001987349969567731
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001998690058826469
      

      outcome:

      passed
      
    • Test 214
      params: device_id="SIMPLE3", kwargs={"a": 1, "b": 2, "c": 3}

      📌 Parameters

      params:
        device_id: "SIMPLE3"
        kwargs: {"a": 1, "b": 2, "c": 3}
      id: "SIMPLE3-kwargs2"
      

      📌 Setup phase

      duration:

      0.00027459600096335635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020253700495231897
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018455499957781285
      

      outcome:

      passed
      
    • Test 215
      params: device_id="SIMPLE4", kwargs={}

      📌 Parameters

      params:
        device_id: "SIMPLE4"
        kwargs: {}
      id: "SIMPLE4-kwargs3"
      

      📌 Setup phase

      duration:

      0.00028709899925161153
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019716400129254907
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017235500126844272
      

      outcome:

      passed
      
    • Test 216
      params: device_id="SIMPLE5", kwargs={"name_attr": "test", "count": 100}

      📌 Parameters

      params:
        device_id: "SIMPLE5"
        kwargs: {"name_attr": "test", "count": 100}
      id: "SIMPLE5-kwargs4"
      

      📌 Setup phase

      duration:

      0.00026551700284471735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019972500012954697
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001872590000857599
      

      outcome:

      passed
      

    Function: test_simpledevice_namespace_behavior

    • Test 218

      📌 Setup phase

      duration:

      0.00022454700228990987
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002676459989743307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015150000399444252
      

      outcome:

      passed
      

    Function: test_simpledevice_mixed_adjustables_and_data

    • Test 219

      📌 Setup phase

      duration:

      0.00015355500363511965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00044044700189260766
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001578759984113276
      

      outcome:

      passed
      

    Function: test_filtered_by_type_single

    • Test 222

      📌 Setup phase

      duration:

      0.00020913800108246505
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006207740007084794
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001631380000617355
      

      outcome:

      passed
      

    Function: test_filtered_by_type_excludes_other_types

    • Test 223

      📌 Setup phase

      duration:

      0.00018053899839287624
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005385070035117678
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017016600031638518
      

      outcome:

      passed
      

    Function: test_filtered_by_type_multiple_types

    • Test 224

      📌 Setup phase

      duration:

      0.00015728099970147014
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000531600002432242
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016194500494748354
      

      outcome:

      passed
      

    Function: test_filtered_by_name

    • Test 225
      params: pattern="motor", expected_attrs=["motor_x", "motor_y"]

      📌 Parameters

      params:
        pattern: "motor"
        expected_attrs: ["motor_x", "motor_y"]
      id: "motor-expected_attrs0"
      

      📌 Setup phase

      duration:

      0.0003441820008447394
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007896859970060177
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002205519995186478
      

      outcome:

      passed
      
    • Test 226
      params: pattern="x", expected_attrs=["motor_x", "pos_x"]

      📌 Parameters

      params:
        pattern: "x"
        expected_attrs: ["motor_x", "pos_x"]
      id: "x-expected_attrs1"
      

      📌 Setup phase

      duration:

      0.0003279229931649752
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007904159938334487
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022189599985722452
      

      outcome:

      passed
      
    • Test 227
      params: pattern="y", expected_attrs=["motor_y", "pos_y"]

      📌 Parameters

      params:
        pattern: "y"
        expected_attrs: ["motor_y", "pos_y"]
      id: "y-expected_attrs2"
      

      📌 Setup phase

      duration:

      0.00032384900259785354
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007896349998190999
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023081799736246467
      

      outcome:

      passed
      
    • Test 228
      params: pattern="pos", expected_attrs=["pos_x", "pos_y"]

      📌 Parameters

      params:
        pattern: "pos"
        expected_attrs: ["pos_x", "pos_y"]
      id: "pos-expected_attrs3"
      

      📌 Setup phase

      duration:

      0.00031023399787954986
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009671189982327633
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002519850022508763
      

      outcome:

      passed
      
    • Test 229
      params: pattern="sensor", expected_attrs=["temp_sensor"]

      📌 Parameters

      params:
        pattern: "sensor"
        expected_attrs: ["temp_sensor"]
      id: "sensor-expected_attrs4"
      

      📌 Setup phase

      duration:

      0.00037315100053092465
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008516449961462058
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002407240026514046
      

      outcome:

      passed
      

    Function: test_filtered_by_name_matches_adjustable_name

    • Test 230

      📌 Setup phase

      duration:

      0.00019277699902886525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005154909958946519
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018225100211566314
      

      outcome:

      passed
      

    Function: test_filtered_custom_condition

    • Test 231

      📌 Setup phase

      duration:

      0.00018932300008600578
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000598833998083137
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016139899526024237
      

      outcome:

      passed
      

    Function: test_filtered_nested_devices

    • Test 232

      📌 Setup phase

      duration:

      0.00019819699809886515
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006211610016180202
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016846899961819872
      

      outcome:

      passed
      

    Function: test_filtered_prunes_empty_subdevices

    • Test 233

      📌 Setup phase

      duration:

      0.00018403699505142868
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004890270065516233
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018051900406135246
      

      outcome:

      passed
      

    Function: test_filtered_returns_none_when_empty

    • Test 234

      📌 Setup phase

      duration:

      0.0001612150008440949
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038154700450832024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020320600015111268
      

      outcome:

      passed
      

    Function: test_auto_creates_device_from_globals

    • Test 236

      📌 Setup phase

      duration:

      0.00018141799955628812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000751009996747598
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018765099957818165
      

      outcome:

      passed
      

    Function: test_auto_ignores_private_variables

    • Test 237

      📌 Setup phase

      duration:

      0.0001719939973554574
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000592124997638166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016554700414417312
      

      outcome:

      passed
      

    Function: test_auto_includes_devices

    • Test 238

      📌 Setup phase

      duration:

      0.0001713270030450076
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003923149997717701
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017745299555826932
      

      outcome:

      passed
      

    Function: test_auto_empty_globals

    • Test 240

      📌 Setup phase

      duration:

      0.0001929499994730577
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004422920028446242
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001658830005908385
      

      outcome:

      passed
      

    Function: test_auto_ignores_various_underscore_prefixes

    • Test 241
      params: prefix="_"

      📌 Parameters

      params:
        prefix: "_"
      id: "_"
      

      📌 Setup phase

      duration:

      0.0002915189979830757
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004619089959305711
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020814099843846634
      

      outcome:

      passed
      
    • Test 242
      params: prefix="__"

      📌 Parameters

      params:
        prefix: "__"
      id: "__"
      

      📌 Setup phase

      duration:

      0.0002424629929009825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004673139992519282
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017916799697559327
      

      outcome:

      passed
      
    • Test 243
      params: prefix="___"

      📌 Parameters

      params:
        prefix: "___"
      id: "___"
      

      📌 Setup phase

      duration:

      0.00023847299598855898
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004415199946379289
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018119100423064083
      

      outcome:

      passed
      

    Function: test_full_device_hierarchy

    • Test 244

      📌 Setup phase

      duration:

      0.00016707600298104808
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008786280013737269
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017901300452649593
      

      outcome:

      passed
      

    Function: test_device_with_mixed_content

    • Test 245

      📌 Setup phase

      duration:

      0.0001609940009075217
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005282759957481176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016092699661385268
      

      outcome:

      passed
      

    Function: test_device_iteration_with_nested_structure

    • Test 247

      📌 Setup phase

      duration:

      0.00019085699750576168
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006992740018176846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015909300418570638
      

      outcome:

      passed
      

    Function: test_device_scalability

    • Test 248
      params: num_adjustables=5, num_devices=0

      📌 Parameters

      params:
        num_adjustables: 5
        num_devices: 0
      id: "5-0"
      

      📌 Setup phase

      duration:

      0.00033737400372046977
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007802679974702187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020686099742306396
      

      outcome:

      passed
      
    • Test 249
      params: num_adjustables=0, num_devices=3

      📌 Parameters

      params:
        num_adjustables: 0
        num_devices: 3
      id: "0-3"
      

      📌 Setup phase

      duration:

      0.00032084499980555847
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006027269992046058
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021580999600701034
      

      outcome:

      passed
      
    • Test 250
      params: num_adjustables=3, num_devices=2

      📌 Parameters

      params:
        num_adjustables: 3
        num_devices: 2
      id: "3-2"
      

      📌 Setup phase

      duration:

      0.0003170240015606396
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007615440044901334
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022000799799570814
      

      outcome:

      passed
      
    • Test 251
      params: num_adjustables=10, num_devices=5

      📌 Parameters

      params:
        num_adjustables: 10
        num_devices: 5
      id: "10-5"
      

      📌 Setup phase

      duration:

      0.00027747500280383974
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0018893770029535517
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002175330009777099
      

      outcome:

      passed
      
    • Test 252
      params: num_adjustables=1, num_devices=1

      📌 Parameters

      params:
        num_adjustables: 1
        num_devices: 1
      id: "1-1"
      

      📌 Setup phase

      duration:

      0.00029630000062752515
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004686269967351109
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021304799884092063
      

      outcome:

      passed
      
  • 📄 test_runname.py

    Function: test_extract_runnumber_valid_cases

    • Test 253
      params: fname="scan0004_test.json", prefix="scan", separator="_", expected=4

      📌 Parameters

      params:
        fname: "scan0004_test.json"
        prefix: "scan"
        separator: "_"
        expected: 4
      id: "scan0004_test.json-scan-_-4"
      

      📌 Setup phase

      duration:

      0.00040782599535305053
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022183400142239407
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002113539958372712
      

      outcome:

      passed
      
    • Test 254
      params: fname="scan0001_alpha.txt", prefix="scan", separator="_", expected=1

      📌 Parameters

      params:
        fname: "scan0001_alpha.txt"
        prefix: "scan"
        separator: "_"
        expected: 1
      id: "scan0001_alpha.txt-scan-_-1"
      

      📌 Setup phase

      duration:

      0.0003808249966823496
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019887600501533598
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022695399820804596
      

      outcome:

      passed
      
    • Test 255
      params: fname="run-0042_demo.csv", prefix="run-", separator="_", expected=42

      📌 Parameters

      params:
        fname: "run-0042_demo.csv"
        prefix: "run-"
        separator: "_"
        expected: 42
      id: "run-0042_demo.csv-run--_-42"
      

      📌 Setup phase

      duration:

      0.0003689019940793514
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020612699881894514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020397199841681868
      

      outcome:

      passed
      
    • Test 256
      params: fname="data9999_final.txt", prefix="data", separator="_", expected=9999

      📌 Parameters

      params:
        fname: "data9999_final.txt"
        prefix: "data"
        separator: "_"
        expected: 9999
      id: "data9999_final.txt-data-_-9999"
      

      📌 Setup phase

      duration:

      0.0003617759939515963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018584200006444007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024197599850594997
      

      outcome:

      passed
      
    • Test 257
      params: fname="scan5_test.json", prefix="scan", separator="_", expected=5

      📌 Parameters

      params:
        fname: "scan5_test.json"
        prefix: "scan"
        separator: "_"
        expected: 5
      id: "scan5_test.json-scan-_-5"
      

      📌 Setup phase

      duration:

      0.00035273999674245715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019802899623755366
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021974500123178586
      

      outcome:

      passed
      
    • Test 258
      params: fname="/tmp/data/scan0007_exp.json", prefix="scan", separator="_", expected=7

      📌 Parameters

      params:
        fname: "/tmp/data/scan0007_exp.json"
        prefix: "scan"
        separator: "_"
        expected: 7
      id: "/tmp/data/scan0007_exp.json-scan-_-7"
      

      📌 Setup phase

      duration:

      0.00039951899816514924
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020758199389092624
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030453399813268334
      

      outcome:

      passed
      
    • Test 259
      params: fname="/Users/yasmine_tligui/test_pv/runs/scan0123_test.json", prefix="scan", separator="_", expected=123

      📌 Parameters

      params:
        fname: "/Users/yasmine_tligui/test_pv/runs/scan0123_test.json"
        prefix: "scan"
        separator: "_"
        expected: 123
      id: "/Users/yasmine_tligui/test_pv/runs/scan0123_test.json-scan-_-123"
      

      📌 Setup phase

      duration:

      0.0003981830013799481
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023593800142407417
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002315520032425411
      

      outcome:

      passed
      
    • Test 260
      params: fname="scan0010_report.csv", prefix="scan", separator="_", expected=10

      📌 Parameters

      params:
        fname: "scan0010_report.csv"
        prefix: "scan"
        separator: "_"
        expected: 10
      id: "scan0010_report.csv-scan-_-10"
      

      📌 Setup phase

      duration:

      0.0004004820002592169
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021621699852403253
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023508499725721776
      

      outcome:

      passed
      
    • Test 261
      params: fname="scan0300_analysis.yaml", prefix="scan", separator="_", expected=300

      📌 Parameters

      params:
        fname: "scan0300_analysis.yaml"
        prefix: "scan"
        separator: "_"
        expected: 300
      id: "scan0300_analysis.yaml-scan-_-300"
      

      📌 Setup phase

      duration:

      0.0003987320014857687
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021832200582139194
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002826630006893538
      

      outcome:

      passed
      
    • Test 262
      params: fname="experimentscan0070_trial.txt", prefix="experimentscan", separator="_", expected=70

      📌 Parameters

      params:
        fname: "experimentscan0070_trial.txt"
        prefix: "experimentscan"
        separator: "_"
        expected: 70
      id: "experimentscan0070_trial.txt-experimentscan-_-70"
      

      📌 Setup phase

      duration:

      0.0004122569953324273
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023275199782801792
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002397819989710115
      

      outcome:

      passed
      
    • Test 263
      params: fname="meas:001_test.txt", prefix="meas:", separator="_", expected=1

      📌 Parameters

      params:
        fname: "meas:001_test.txt"
        prefix: "meas:"
        separator: "_"
        expected: 1
      id: "meas:001_test.txt-meas:-_-1"
      

      📌 Setup phase

      duration:

      0.00040066400106297806
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021052000374766067
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023381400387734175
      

      outcome:

      passed
      
    • Test 264
      params: fname="a/b/c/scan0042_demo.json", prefix="scan", separator="_", expected=42

      📌 Parameters

      params:
        fname: "a/b/c/scan0042_demo.json"
        prefix: "scan"
        separator: "_"
        expected: 42
      id: "a/b/c/scan0042_demo.json-scan-_-42"
      

      📌 Setup phase

      duration:

      0.00037752700154669583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022327400074573234
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023236299603013322
      

      outcome:

      passed
      
    • Test 265
      params: fname="scan1234_extra_part.json", prefix="scan", separator="_", expected=1234

      📌 Parameters

      params:
        fname: "scan1234_extra_part.json"
        prefix: "scan"
        separator: "_"
        expected: 1234
      id: "scan1234_extra_part.json-scan-_-1234"
      

      📌 Setup phase

      duration:

      0.00040731600165599957
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021101499442011118
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022903700300958008
      

      outcome:

      passed
      

    Function: test_extract_runnumber_invalid_cases

    • Test 267
      params: fname="scan00A3_test.json", prefix="scan", separator="_"

      📌 Parameters

      params:
        fname: "scan00A3_test.json"
        prefix: "scan"
        separator: "_"
      id: "scan00A3_test.json-scan-_"
      

      📌 Setup phase

      duration:

      0.0003882349992636591
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027775899798143655
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002330880015506409
      

      outcome:

      passed
      
    • Test 268
      params: fname="file_test.json", prefix="scan", separator="_"

      📌 Parameters

      params:
        fname: "file_test.json"
        prefix: "scan"
        separator: "_"
      id: "file_test.json-scan-_"
      

      📌 Setup phase

      duration:

      0.0003374310035724193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002613100004964508
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020025500271003693
      

      outcome:

      passed
      
    • Test 269
      params: fname="scan_test.json", prefix="scan", separator="_"

      📌 Parameters

      params:
        fname: "scan_test.json"
        prefix: "scan"
        separator: "_"
      id: "scan_test.json-scan-_"
      

      📌 Setup phase

      duration:

      0.0003591780041460879
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024153300182661042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023143800353864208
      

      outcome:

      passed
      
    • Test 270
      params: fname="run#_info.txt", prefix="run#", separator="#"

      📌 Parameters

      params:
        fname: "run#_info.txt"
        prefix: "run#"
        separator: "#"
      id: "run#_info.txt-run#-#"
      

      📌 Setup phase

      duration:

      0.00032692500099074095
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002599400031613186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020498000230873004
      

      outcome:

      passed
      
    • Test 271
      params: fname="1234_scan_test.json", prefix="scan", separator="_"

      📌 Parameters

      params:
        fname: "1234_scan_test.json"
        prefix: "scan"
        separator: "_"
      id: "1234_scan_test.json-scan-_"
      

      📌 Setup phase

      duration:

      0.00036532399826683104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002414439950371161
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019776300177909434
      

      outcome:

      passed
      

    Function: test_extract_runnumbers_valid

    • Test 272
      params: fnames=["scan0001_a", "scan0002_b", "scan0030_c"], prefix="scan", separator="_", expected=[1, 2, 30]

      📌 Parameters

      params:
        fnames: ["scan0001_a", "scan0002_b", "scan0030_c"]
        prefix: "scan"
        separator: "_"
        expected: [1, 2, 30]
      id: "fnames0-scan-_-expected0"
      

      📌 Setup phase

      duration:

      0.0003631820000009611
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022225499560590833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022280400298768654
      

      outcome:

      passed
      
    • Test 273
      params: fnames=["scan1_a", "scan02_b", "scan300_c"], prefix="scan", separator="_", expected=[1, 2, 300]

      📌 Parameters

      params:
        fnames: ["scan1_a", "scan02_b", "scan300_c"]
        prefix: "scan"
        separator: "_"
        expected: [1, 2, 300]
      id: "fnames1-scan-_-expected1"
      

      📌 Setup phase

      duration:

      0.00037805399915669113
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021000100241508335
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002141009972547181
      

      outcome:

      passed
      
    • Test 274
      params: fnames=["run-0004_x", "run-0005_y", "run-0010_z"], prefix="run-", separator="_", expected=[4, 5, 10]

      📌 Parameters

      params:
        fnames: ["run-0004_x", "run-0005_y", "run-0010_z"]
        prefix: "run-"
        separator: "_"
        expected: [4, 5, 10]
      id: "fnames2-run--_-expected2"
      

      📌 Setup phase

      duration:

      0.00035826499515678734
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020466199930524454
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020705899805761874
      

      outcome:

      passed
      
    • Test 275
      params: fnames=["data9_file", "data10_file", "data11_file"], prefix="data", separator="_", expected=[9, 10, 11]

      📌 Parameters

      params:
        fnames: ["data9_file", "data10_file", "data11_file"]
        prefix: "data"
        separator: "_"
        expected: [9, 10, 11]
      id: "fnames3-data-_-expected3"
      

      📌 Setup phase

      duration:

      0.0003651410006568767
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021193400607444346
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020413799938978627
      

      outcome:

      passed
      
    • Test 276
      params: fnames=["scan001--a", "scan002--b", "scan003--c"], prefix="scan", separator="--", expected=[1, 2, 3]

      📌 Parameters

      params:
        fnames: ["scan001--a", "scan002--b", "scan003--c"]
        prefix: "scan"
        separator: "--"
        expected: [1, 2, 3]
      id: "fnames4-scan----expected4"
      

      📌 Setup phase

      duration:

      0.00034949000109918416
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021747499704360962
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021407100575743243
      

      outcome:

      passed
      

    Function: test_fill_filename_pattern

    • Test 277
      params: prefix="pfx", run_index="7", separator="-", name="abc", suffix=".txt", expected="pfx7-abc"

      📌 Parameters

      params:
        prefix: "pfx"
        run_index: "7"
        separator: "-"
        name: "abc"
        suffix: ".txt"
        expected: "pfx7-abc"
      id: "pfx-7---abc-.txt-pfx7-abc"
      

      📌 Setup phase

      duration:

      0.00043711799662560225
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019324900495121256
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023873199825175107
      

      outcome:

      passed
      
    • Test 278
      params: prefix="scan", run_index="001", separator="_", name="data", suffix="_scan_info.json", expected="scan001_data"

      📌 Parameters

      params:
        prefix: "scan"
        run_index: "001"
        separator: "_"
        name: "data"
        suffix: "_scan_info.json"
        expected: "scan001_data"
      id: "scan-001-_-data-_scan_info.json-scan001_data"
      

      📌 Setup phase

      duration:

      0.0004473059962037951
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017683400074020028
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002300830019521527
      

      outcome:

      passed
      
    • Test 279
      params: prefix="run", run_index="42", separator="-", name="test", suffix=".meta", expected="run42-test"

      📌 Parameters

      params:
        prefix: "run"
        run_index: "42"
        separator: "-"
        name: "test"
        suffix: ".meta"
        expected: "run42-test"
      id: "run-42---test-.meta-run42-test"
      

      📌 Setup phase

      duration:

      0.0004341769963502884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018044799799099565
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022633000480709597
      

      outcome:

      passed
      
    • Test 280
      params: prefix="exp", run_index="003", separator="--", name="trial", suffix=".log", expected="exp003--trial"

      📌 Parameters

      params:
        prefix: "exp"
        run_index: "003"
        separator: "--"
        name: "trial"
        suffix: ".log"
        expected: "exp003--trial"
      id: "exp-003----trial-.log-exp003--trial"
      

      📌 Setup phase

      duration:

      0.0004369710004539229
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018129499949282035
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024655299785081297
      

      outcome:

      passed
      
    • Test 281
      params: prefix="data", run_index="99", separator="::", name="final", suffix=".json", expected="data99::final"

      📌 Parameters

      params:
        prefix: "data"
        run_index: "99"
        separator: "::"
        name: "final"
        suffix: ".json"
        expected: "data99::final"
      id: "data-99-::-final-.json-data99::final"
      

      📌 Setup phase

      duration:

      0.0004324750043451786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017689199739834294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023329399846261367
      

      outcome:

      passed
      
    • Test 282
      params: prefix="experiment_", run_index="005", separator="_", name="measure", suffix=".csv", expected="experiment_005_measure"

      📌 Parameters

      params:
        prefix: "experiment_"
        run_index: "005"
        separator: "_"
        name: "measure"
        suffix: ".csv"
        expected: "experiment_005_measure"
      id: "experiment_-005-_-measure-.csv-experiment_005_measure"
      

      📌 Setup phase

      duration:

      0.0004589489981299266
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001818269956856966
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002451999971526675
      

      outcome:

      passed
      

    Function: test_pattern_exact_match

    • Test 283
      params: prefix="scan", n_digits=3, separator="_", suffix="_scan_info.json", expected="scan[0-9][0-9][0-9]_*_scan_info.json"

      📌 Parameters

      params:
        prefix: "scan"
        n_digits: 3
        separator: "_"
        suffix: "_scan_info.json"
        expected: "scan[0-9][0-9][0-9]_*_scan_info.json"
      id: "scan-3-_-_scan_info.json-scan[0-9][0-9][0-9]_*_scan_info.json"
      

      📌 Setup phase

      duration:

      0.0018452369986334816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021483199816429988
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030166900251060724
      

      outcome:

      passed
      
    • Test 284
      params: prefix="run-", n_digits=4, separator="-", suffix=".json", expected="run-[0-9][0-9][0-9][0-9]-*.json"

      📌 Parameters

      params:
        prefix: "run-"
        n_digits: 4
        separator: "-"
        suffix: ".json"
        expected: "run-[0-9][0-9][0-9][0-9]-*.json"
      id: "run--4---.json-run-[0-9][0-9][0-9][0-9]-*.json"
      

      📌 Setup phase

      duration:

      0.000968281994573772
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021438900148496032
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003059390000998974
      

      outcome:

      passed
      
    • Test 285
      params: prefix="data", n_digits=2, separator="#", suffix=".meta", expected="data[0-9][0-9]#*.meta"

      📌 Parameters

      params:
        prefix: "data"
        n_digits: 2
        separator: "#"
        suffix: ".meta"
        expected: "data[0-9][0-9]#*.meta"
      id: "data-2-#-.meta-data[0-9][0-9]#*.meta"
      

      📌 Setup phase

      duration:

      0.0009586269952706061
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023716400028206408
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030071500077610835
      

      outcome:

      passed
      
    • Test 286
      params: prefix="exp", n_digits=1, separator=".", suffix="_info.txt", expected="exp[0-9].*_info.txt"

      📌 Parameters

      params:
        prefix: "exp"
        n_digits: 1
        separator: "."
        suffix: "_info.txt"
        expected: "exp[0-9].*_info.txt"
      id: "exp-1-.-_info.txt-exp[0-9].*_info.txt"
      

      📌 Setup phase

      duration:

      0.0009026689949678257
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021572499827016145
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002988720007124357
      

      outcome:

      passed
      

    Function: test_get_existing_runnumbers_empty

    • Test 287

      📌 Setup phase

      duration:

      0.0006933240001671948
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003909759980160743
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023418699856847525
      

      outcome:

      passed
      

    Function: test_get_existing_runnumbers_with_files

    • Test 288
      params: filenames=["scan0001_test_scan_info.json", "scan0002_demo_scan_info.json", "scan0005_exp_scan_info.json"], prefix="scan", separator="_", suffix="_scan_info.json", n_digits=4, expected_runnumbers=[1, 2, 5]

      📌 Parameters

      params:
        filenames: ["scan0001_test_scan_info.json", "scan0002_demo_scan_info.json", "scan0005_exp_scan_info.json"]
        prefix: "scan"
        separator: "_"
        suffix: "_scan_info.json"
        n_digits: 4
        expected_runnumbers: [1, 2, 5]
      id: "filenames0-scan-_-_scan_info.json-4-expected_runnumbers0"
      

      📌 Setup phase

      duration:

      0.0008875319981598295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012203880032757297
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003136849991278723
      

      outcome:

      passed
      
    • Test 289
      params: filenames=["run-0010_alpha_data.json", "run-0020_beta_data.json"], prefix="run-", separator="_", suffix="_data.json", n_digits=4, expected_runnumbers=[10, 20]

      📌 Parameters

      params:
        filenames: ["run-0010_alpha_data.json", "run-0020_beta_data.json"]
        prefix: "run-"
        separator: "_"
        suffix: "_data.json"
        n_digits: 4
        expected_runnumbers: [10, 20]
      id: "filenames1-run--_-_data.json-4-expected_runnumbers1"
      

      📌 Setup phase

      duration:

      0.0009350980035378598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009527250003884546
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003033219982171431
      

      outcome:

      passed
      
    • Test 290
      params: filenames=["data01_test.meta", "data02_test.meta", "data99_test.meta"], prefix="data", separator="_", suffix=".meta", n_digits=2, expected_runnumbers=[1, 2, 99]

      📌 Parameters

      params:
        filenames: ["data01_test.meta", "data02_test.meta", "data99_test.meta"]
        prefix: "data"
        separator: "_"
        suffix: ".meta"
        n_digits: 2
        expected_runnumbers: [1, 2, 99]
      id: "filenames2-data-_-.meta-2-expected_runnumbers2"
      

      📌 Setup phase

      duration:

      0.0009318060037912801
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009068940053111874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030515200342051685
      

      outcome:

      passed
      

    Function: test_get_existing_runnumbers_mixed_files

    • Test 291

      📌 Setup phase

      duration:

      0.0006181839999044314
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006791389969293959
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002473310014465824
      

      outcome:

      passed
      

    Function: test_sequential_run_generation

    • Test 292

      📌 Setup phase

      duration:

      0.0006086459979997016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006264269977691583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002247160009574145
      

      outcome:

      passed
      

    Function: test_get_next_run_filename_non_contiguous

    • Test 293

      📌 Setup phase

      duration:

      0.000630777001788374
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005571949950535782
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022724900190951303
      

      outcome:

      passed
      

    Function: test_different_n_digits

    • Test 294
      params: n_digits=1, expected_format="scan0_test"

      📌 Parameters

      params:
        n_digits: 1
        expected_format: "scan0_test"
      id: "1-scan0_test"
      

      📌 Setup phase

      duration:

      0.000738150003599003
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006144430008134805
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002463790006004274
      

      outcome:

      passed
      
    • Test 295
      params: n_digits=2, expected_format="scan00_test"

      📌 Parameters

      params:
        n_digits: 2
        expected_format: "scan00_test"
      id: "2-scan00_test"
      

      📌 Setup phase

      duration:

      0.0007410739999613725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006360369952744804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002542650036048144
      

      outcome:

      passed
      
    • Test 296
      params: n_digits=3, expected_format="scan000_test"

      📌 Parameters

      params:
        n_digits: 3
        expected_format: "scan000_test"
      id: "3-scan000_test"
      

      📌 Setup phase

      duration:

      0.0007385419958154671
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006146119994809851
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002457770024193451
      

      outcome:

      passed
      
    • Test 297
      params: n_digits=5, expected_format="scan00000_test"

      📌 Parameters

      params:
        n_digits: 5
        expected_format: "scan00000_test"
      id: "5-scan00000_test"
      

      📌 Setup phase

      duration:

      0.000738005997845903
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006781269985367544
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000248377000389155
      

      outcome:

      passed
      
    • Test 298
      params: n_digits=6, expected_format="scan000000_test"

      📌 Parameters

      params:
        n_digits: 6
        expected_format: "scan000000_test"
      id: "6-scan000000_test"
      

      📌 Setup phase

      duration:

      0.0007344940022449009
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000679237004078459
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002748480037553236
      

      outcome:

      passed
      

    Function: test_get_next_run_filename

    • Test 299
      params: file_structure={"experiments": ["scan0001_test_scan_info.json", "scan0002_test_scan_info.json"], "other_folder": ["scan0003_test_scan_info.json", "scan0004_test_scan_info.json"]}, search_base_dir="experiments", prefix="scan", separator="_", suffix="_scan_info.json", n_digits=4, expected_next="scan0003_test"

      📌 Parameters

      params:
        file_structure: {"experiments": ["scan0001_test_scan_info.json", "scan0002_test_scan_info.json"], "other_folder": ["scan0003_test_scan_info.json", "scan0004_test_scan_info.json"]}
        search_base_dir: "experiments"
        prefix: "scan"
        separator: "_"
        suffix: "_scan_info.json"
        n_digits: 4
        expected_next: "scan0003_test"
      id: "file_structure0-experiments-scan-_-_scan_info.json-4-scan0003_test"
      

      📌 Setup phase

      duration:

      0.000997707997157704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009060850061359815
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003320030009490438
      

      outcome:

      passed
      
    • Test 300
      params: file_structure={"project/data": ["scan0001_test_scan_info.json"], "project/data/raw": ["scan0002_test_scan_info.json"], "project/backup": ["scan0003_test_scan_info.json"], "other_project": ["scan0004_test_scan_info.json"]}, search_base_dir="project/data", prefix="scan", separator="_", suffix="_scan_info.json", n_digits=4, expected_next="scan0002_test"

      📌 Parameters

      params:
        file_structure: {"project/data": ["scan0001_test_scan_info.json"], "project/data/raw": ["scan0002_test_scan_info.json"], "project/backup": ["scan0003_test_scan_info.json"], "other_project": ["scan0004_test_scan_info.json"]}
        search_base_dir: "project/data"
        prefix: "scan"
        separator: "_"
        suffix: "_scan_info.json"
        n_digits: 4
        expected_next: "scan0002_test"
      id: "file_structure1-project/data-scan-_-_scan_info.json-4-scan0002_test"
      

      📌 Setup phase

      duration:

      0.0010611230027279817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009347540035378188
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00033775400515878573
      

      outcome:

      passed
      
    • Test 301
      params: file_structure={"empty_dir": [], "full_dir": ["scan0001_test_scan_info.json", "scan0002_test_scan_info.json"]}, search_base_dir="empty_dir", prefix="scan", separator="_", suffix="_scan_info.json", n_digits=4, expected_next="scan0000_test"

      📌 Parameters

      params:
        file_structure: {"empty_dir": [], "full_dir": ["scan0001_test_scan_info.json", "scan0002_test_scan_info.json"]}
        search_base_dir: "empty_dir"
        prefix: "scan"
        separator: "_"
        suffix: "_scan_info.json"
        n_digits: 4
        expected_next: "scan0000_test"
      id: "file_structure2-empty_dir-scan-_-_scan_info.json-4-scan0000_test"
      

      📌 Setup phase

      duration:

      0.0009285619962611236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005942329953541048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003218239944544621
      

      outcome:

      passed
      
  • 📄 test_scanbackend.py

    Function: test_is_sfdaq_and_only_sfdaq

    • Test 302

      📌 Setup phase

      duration:

      0.00017351700080325827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006389600021066144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014375699538504705
      

      outcome:

      passed
      

    Function: test_get_filename

    • Test 303

      📌 Setup phase

      duration:

      0.000525467999977991
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009177930041914806
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001891330030048266
      

      outcome:

      passed
      

    Function: test_create_output_dirs

    • Test 304

      📌 Setup phase

      duration:

      0.000535719002073165
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009261140003218316
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001980599990929477
      

      outcome:

      passed
      

    Function: test_store_and_change_initial_values_restores_correctly

    • Test 305

      📌 Setup phase

      duration:

      0.0005633409964502789
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002102286998706404
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Dummy" at 100
      DummyAdjustable "Dummy" at 200
      DummyAdjustable "Dummy" at 9DummyAdjustable "Dummy" at 8
      
      
      

      📌 Teardown phase

      duration:

      0.00020516099903034046
      

      outcome:

      passed
      

    Function: test_acquire_all_with_fake_acquisitions

    • Test 306

      📌 Setup phase

      duration:

      0.0005480550025822595
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03697569199721329
      

      outcome:

      passed
      

      stdout:

      Continuing run number 0.
      acquire('data/test_scan', 3)Continuing run number 0.
      acquire('data/test_scan', 3)
      fake acquire to data/test_scan:
      
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      
      

      stderr:

      
        0%|          | 0/3 [00:00<?, ?it/s]
      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 98.37it/s]
      
      100%|██████████| 3/3 [00:00<00:00, 97.67it/s]
      
      

      📌 Teardown phase

      duration:

      0.00032133299828274176
      

      outcome:

      passed
      

    Function: test_do_step_with_fake_acquisitions

    • Test 307

      📌 Setup phase

      duration:

      0.0008124189989757724
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012685697001870722
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "motor1" at 1
      DummyAdjustable "motor2" at 3
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.15it/s]
      
      

      📌 Teardown phase

      duration:

      0.00029063500551274046
      

      outcome:

      passed
      

    Function: test_do_step_with_sensor_and_remote_plot

    • Test 308

      📌 Setup phase

      duration:

      0.0008729699984542094
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012186692001705524
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "motor" at 2
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.52it/s]
      
      

      📌 Teardown phase

      duration:

      0.0002861379980458878
      

      outcome:

      passed
      

    Function: test_do_step_multiple_steps

    • Test 309

      📌 Setup phase

      duration:

      0.0007523849999415688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03486108800279908
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "motor" at 1
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      DummyAdjustable "motor" at 2
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      DummyAdjustable "motor" at 3
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.68it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.62it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.05it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003358709946041927
      

      outcome:

      passed
      

    Function: test_do_checked_step_with_condition_repeats

    • Test 310

      📌 Setup phase

      duration:

      0.0008112229988910258
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.02403279600548558
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "motor" at 1
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      DummyAdjustable "motor" at 1
      Moved adjustables, starting acquisition
      Continuing run number 0.
      acquire('data/test_scan', 1)
      fake acquire to data/test_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/test_scan
      Acquisition done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.58it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.96it/s]
      
      

      📌 Teardown phase

      duration:

      0.000339287995302584
      

      outcome:

      passed
      

    Function: test_make_summary_and_repr

    • Test 311

      📌 Setup phase

      duration:

      0.0010120689985342324
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011047180014429614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022908300161361694
      

      outcome:

      passed
      

    Function: test_make_summary_multiple_repeats

    • Test 313

      📌 Setup phase

      duration:

      0.0007907129984232597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009035309994942509
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019895100558642298
      

      outcome:

      passed
      

    Function: test_scan_loop_fake_only

    • Test 314

      📌 Setup phase

      duration:

      0.0007601670004078187
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03539807500055758
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004062489970237948
      

      outcome:

      passed
      

    Function: test_repeated_scan_loop_fake_only

    • Test 315

      📌 Setup phase

      duration:

      0.0010462339996593073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.06842987500567688
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003991979974671267
      

      outcome:

      passed
      

    Function: test_full_multidimensional_scan_end_to_end

    • Test 316

      📌 Setup phase

      duration:

      0.0008115759992506355
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.1669449330001953
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 5
      DummyAdjustable "M0" at 1
      DummyAdjustable "M1" at 2DummyAdjustable "M2" at 3DummyAdjustable "M3" at 4
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/multidim_test', 3)
      fake acquire to data/multidim_test:
      DAQTask: done
      
      Output files:
      -------------
      - data/multidim_test
      Acquisition done
      Scan step 2 of 5
      DummyAdjustable "M1" at 3DummyAdjustable "M0" at 2
      
      DummyAdjustable "M2" at 4
      DummyAdjustable "M3" at 5
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/multidim_test', 3)
      fake acquire to data/multidim_test:
      DAQTask: done
      
      Output files:
      -------------
      - data/multidim_test
      Acquisition done
      Scan step 3 of 5
      DummyAdjustable "M0" at 3
      DummyAdjustable "M1" at 4DummyAdjustable "M2" at 5
      
      DummyAdjustable "M3" at 6
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/multidim_test', 3)
      fake acquire to data/multidim_test:
      DAQTask: done
      
      Output files:
      -------------
      - data/multidim_test
      Acquisition done
      Scan step 4 of 5
      DummyAdjustable "M0" at 4
      DummyAdjustable "M1" at 5DummyAdjustable "M2" at 6
      DummyAdjustable "M3" at 7
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/multidim_test', 3)
      fake acquire to data/multidim_test:
      DAQTask: done
      
      Output files:
      -------------
      - data/multidim_test
      Acquisition done
      Scan step 5 of 5
      DummyAdjustable "M0" at 5
      DummyAdjustable "M1" at 6DummyAdjustable "M2" at 7
      
      DummyAdjustable "M3" at 8
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/multidim_test', 3)
      fake acquire to data/multidim_test:
      DAQTask: done
      
      Output files:
      -------------
      - data/multidim_test
      Acquisition done
      All scan steps done
      Returning to initial values
      DummyAdjustable "M0" at 0
      DummyAdjustable "M1" at 0
      DummyAdjustable "M2" at 0
      DummyAdjustable "M3" at 0
      
      

      stderr:

      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 98.77it/s]
      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 97.74it/s]
      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 98.22it/s]
      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 98.26it/s]
      
        0%|          | 0/3 [00:00<?, ?it/s]
      100%|██████████| 3/3 [00:00<00:00, 98.33it/s]
      
      

      📌 Teardown phase

      duration:

      0.00037339200207497925
      

      outcome:

      passed
      

    Function: test_scanND_relative_positions_only

    • Test 317

      📌 Setup phase

      duration:

      0.0007851529953768477
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012871799990534782
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021206199744483456
      

      outcome:

      passed
      

    Function: test_print_current_values_displays_correct_output

    • Test 318

      📌 Setup phase

      duration:

      0.000362769998901058
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006583199938177131
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024391499755438417
      

      outcome:

      passed
      

    Function: test_get_all_current_values_returns_correct_list

    • Test 319

      📌 Setup phase

      duration:

      0.0001702209992799908
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00045787999988533556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016103599773487076
      

      outcome:

      passed
      

    Function: test_set_all_target_values_and_wait_full_chain

    • Test 320

      📌 Setup phase

      duration:

      0.0001685539973550476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0016082549991551787
      

      outcome:

      passed
      

      stdout:

      DummyAdjustable "Dummy" at 10DummyAdjustable "Dummy" at 20
      
      DummyAdjustable "Dummy" at 15DummyAdjustable "Dummy" at 25
      
      
      

      📌 Teardown phase

      duration:

      0.00018380900291958824
      

      outcome:

      passed
      

    Function: test_wait_for_all_calls_wait_on_all_tasks

    • Test 321

      📌 Setup phase

      duration:

      0.00025748700136318803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023841700021876022
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001791749964468181
      

      outcome:

      passed
      

    Function: test_stop_all_calls_stop_and_handles_exceptions

    • Test 322

      📌 Setup phase

      duration:

      0.0003495089986245148
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032246699993265793
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002510089980205521
      

      outcome:

      passed
      

    Function: test_run_with_exception_handling

    • Test 323

      📌 Setup phase

      duration:

      0.0007946899931994267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012146698994911276
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000321473999065347
      

      outcome:

      passed
      

    Function: test_scan_interrupted_midway

    • Test 324

      📌 Setup phase

      duration:

      0.0009124989956035279
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.02402009000070393
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004858429965679534
      

      outcome:

      passed
      

    Function: test_remote_plot_connection_refused_on_new_plot

    • Test 325

      📌 Setup phase

      duration:

      0.000902750005479902
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012545377998321783
      

      outcome:

      passed
      

      stdout:

      Warning: Could not create new plot
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/plot_fail_scan', 1)
      fake acquire to data/plot_fail_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/plot_fail_scan
      Acquisition done
      Warning: Could not send data to plot
      All scan steps done
      Returning to initial values
      DummyAdjustable "M" at 0
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.70it/s]
      
      

      📌 Teardown phase

      duration:

      0.00027763099933508784
      

      outcome:

      passed
      

    Function: test_remote_plot_connection_refused_on_append_data

    • Test 326

      📌 Setup phase

      duration:

      0.0007734609971521422
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012758805001794826
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/append_fail_scan', 1)
      fake acquire to data/append_fail_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/append_fail_scan
      Acquisition done
      Warning: Could not send data to plot
      All scan steps done
      Returning to initial values
      DummyAdjustable "M" at 0
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.68it/s]
      
      

      📌 Teardown phase

      duration:

      0.0002844870032276958
      

      outcome:

      passed
      

    Function: test_step_info_callable

    • Test 327

      📌 Setup phase

      duration:

      0.000744217999454122
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.02378735999809578
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/callable_info_scan', 1)
      fake acquire to data/callable_info_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/callable_info_scan
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/callable_info_scan', 1)
      fake acquire to data/callable_info_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/callable_info_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.01it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.91it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003150099946651608
      

      outcome:

      passed
      

    Function: test_repeated_scan_with_very_large_n_repeat

    • Test 328

      📌 Setup phase

      duration:

      0.0010090230061905459
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.22551626699714689
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003805939995800145
      

      outcome:

      passed
      

    Function: test_repeated_scan_loop_stops_when_running_false

    • Test 329

      📌 Setup phase

      duration:

      0.0008286509983008727
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.02415856199513655
      

      outcome:

      passed
      

      stdout:

      Repetition 1 of 100
      File: stop_repeat_scan_001 stop_repeat_scan_001
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/stop_repeat_scan_001', 1)
      fake acquire to data/stop_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/stop_repeat_scan_001
      Acquisition done
      All scan steps done
      Repetition 2 of 100
      File: stop_repeat_scan_002 stop_repeat_scan_002
      run number is 2
      Advanced run number to 2 for Fake DAQ (Last Run: 2).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 2.
      acquire('data/stop_repeat_scan_002', 1)
      fake acquire to data/stop_repeat_scan_002:
      DAQTask: done
      
      Output files:
      -------------
      - data/stop_repeat_scan_002
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.54it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.69it/s]
      
      

      📌 Teardown phase

      duration:

      0.00031343899900093675
      

      outcome:

      passed
      

    Function: test_sfdaq_with_spreadsheet_logging

    • Test 330

      📌 Setup phase

      duration:

      0.000859477004269138
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011166850017616525
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Stopped during scan step 0 of 2
      
      

      📌 Teardown phase

      duration:

      0.000236596999457106
      

      outcome:

      passed
      

    Function: test_scan_loop_with_single_value

    • Test 331

      📌 Setup phase

      duration:

      0.0006796689995098859
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012362765999569092
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 42
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/single_scan', 1)
      fake acquire to data/single_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/single_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.89it/s]
      
      

      📌 Teardown phase

      duration:

      0.0002626999994390644
      

      outcome:

      passed
      

    Function: test_scan_loop_advances_run_number_per_acquisition

    • Test 332

      📌 Setup phase

      duration:

      0.0009456039988435805
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001194449003378395
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002738010007306002
      

      outcome:

      passed
      

    Function: test_return_to_initial_values_false

    • Test 333

      📌 Setup phase

      duration:

      0.0006573270002263598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.035105005998048
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 3
      DummyAdjustable "Dummy" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      Scan step 2 of 3
      DummyAdjustable "Dummy" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      Scan step 3 of 3
      DummyAdjustable "Dummy" at 3
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.15it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.28it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.90it/s]
      
      

      📌 Teardown phase

      duration:

      0.00031426799978362396
      

      outcome:

      passed
      

    Function: test_true_2D_grid_scan

    • Test 334

      📌 Setup phase

      duration:

      0.0008166519983205944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.07035119400097756
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 6
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      Scan step 2 of 6
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 20
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      Scan step 3 of 6
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      Scan step 4 of 6
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 20
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      Scan step 5 of 6
      DummyAdjustable "Adj0" at 2
      DummyAdjustable "Adj1" at 10
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      Scan step 6 of 6
      DummyAdjustable "Adj0" at 2
      DummyAdjustable "Adj1" at 20
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_2d_scan', 1)
      fake acquire to data/grid_2d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_2d_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.46it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.30it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.77it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.34it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.39it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.30it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003041139934794046
      

      outcome:

      passed
      

    Function: test_true_3D_grid_scan

    • Test 335

      📌 Setup phase

      duration:

      0.0007940420036902651
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.14447300100437133
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 12
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 2 of 12
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 3 of 12
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 4 of 12
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 20DummyAdjustable "Adj2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 5 of 12
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 20
      
      DummyAdjustable "Adj2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 6 of 12
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 20
      DummyAdjustable "Adj2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 7 of 12
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 8 of 12
      DummyAdjustable "Adj0" at 1DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 200
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 9 of 12
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 10 of 12
      DummyAdjustable "Adj0" at 1DummyAdjustable "Adj1" at 20DummyAdjustable "Adj2" at 100
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 11 of 12
      DummyAdjustable "Adj0" at 1DummyAdjustable "Adj1" at 20DummyAdjustable "Adj2" at 200
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      Scan step 12 of 12
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 20
      DummyAdjustable "Adj2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_3d_scan', 1)
      fake acquire to data/grid_3d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_3d_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.56it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.76it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.43it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.89it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.39it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.65it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.89it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.13it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.93it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.39it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.96it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.43it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003246359992772341
      

      outcome:

      passed
      

    Function: test_true_4D_grid_scan

    • Test 336

      📌 Setup phase

      duration:

      0.0007923459997982718
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.1921200750002754
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 16
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 100
      DummyAdjustable "Adj3" at 1000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 2 of 16
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 100
      
      DummyAdjustable "Adj3" at 1001
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 3 of 16
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 101
      
      DummyAdjustable "Adj3" at 1000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 4 of 16
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 101DummyAdjustable "Adj3" at 1001
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 5 of 16
      DummyAdjustable "Adj0" at 0
      DummyAdjustable "Adj1" at 11DummyAdjustable "Adj2" at 100
      DummyAdjustable "Adj3" at 1000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 6 of 16
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 11
      DummyAdjustable "Adj2" at 100DummyAdjustable "Adj3" at 1001
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 7 of 16
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 11
      
      DummyAdjustable "Adj2" at 101
      DummyAdjustable "Adj3" at 1000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 8 of 16
      DummyAdjustable "Adj0" at 0DummyAdjustable "Adj1" at 11DummyAdjustable "Adj2" at 101
      
      
      DummyAdjustable "Adj3" at 1001
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 9 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 100
      DummyAdjustable "Adj3" at 1000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 10 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 100DummyAdjustable "Adj3" at 1001
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 11 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10
      DummyAdjustable "Adj2" at 101
      DummyAdjustable "Adj3" at 1000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 12 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 10DummyAdjustable "Adj2" at 101DummyAdjustable "Adj3" at 1001
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 13 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 11
      DummyAdjustable "Adj2" at 100
      DummyAdjustable "Adj3" at 1000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 14 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 11DummyAdjustable "Adj2" at 100
      
      DummyAdjustable "Adj3" at 1001
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 15 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 11
      DummyAdjustable "Adj2" at 101DummyAdjustable "Adj3" at 1000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      Scan step 16 of 16
      DummyAdjustable "Adj0" at 1
      DummyAdjustable "Adj1" at 11
      DummyAdjustable "Adj2" at 101DummyAdjustable "Adj3" at 1001
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_4d_scan', 1)
      fake acquire to data/grid_4d_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_4d_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.98it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.10it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.14it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.46it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.97it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.48it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.98it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.44it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.05it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.20it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.70it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.97it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.06it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.12it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.17it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.46it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003423629968892783
      

      outcome:

      passed
      

    Function: test_parametrized_ND_grid_scan_generator

    • Test 337

      📌 Setup phase

      duration:

      0.0008584730021539144
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.28763121100200806
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 6
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      Scan step 2 of 6
      DummyAdjustable "A0" at 1DummyAdjustable "A1" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      Scan step 3 of 6
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      Scan step 4 of 6
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      Scan step 5 of 6
      DummyAdjustable "A0" at 3
      DummyAdjustable "A1" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      Scan step 6 of 6
      DummyAdjustable "A0" at 3DummyAdjustable "A1" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_2d', 1)
      fake acquire to data/nd_gen_2d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_2d
      Acquisition done
      All scan steps done
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 6
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      Scan step 2 of 6
      DummyAdjustable "A0" at 1DummyAdjustable "A1" at 20
      DummyAdjustable "A2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      Scan step 3 of 6
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 30DummyAdjustable "A2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      Scan step 4 of 6
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      Scan step 5 of 6
      DummyAdjustable "A0" at 2DummyAdjustable "A1" at 20
      
      DummyAdjustable "A2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      Scan step 6 of 6
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 30
      DummyAdjustable "A2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_3d', 1)
      fake acquire to data/nd_gen_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_3d
      Acquisition done
      All scan steps done
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 12
      DummyAdjustable "A0" at 1DummyAdjustable "A1" at 10
      DummyAdjustable "A2" at 100
      
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 10000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 2 of 12
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      DummyAdjustable "A3" at 1000
      
      DummyAdjustable "A4" at 20000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 3 of 12
      DummyAdjustable "A0" at 1DummyAdjustable "A1" at 10
      
      DummyAdjustable "A2" at 100DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 30000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 4 of 12
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 200DummyAdjustable "A3" at 1000
      
      
      DummyAdjustable "A4" at 10000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 5 of 12
      DummyAdjustable "A0" at 1DummyAdjustable "A1" at 10DummyAdjustable "A2" at 200
      
      DummyAdjustable "A3" at 1000
      
      DummyAdjustable "A4" at 20000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 6 of 12
      DummyAdjustable "A0" at 1
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 200
      DummyAdjustable "A3" at 1000
      
      DummyAdjustable "A4" at 30000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 7 of 12
      DummyAdjustable "A0" at 2DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      
      
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 10000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 8 of 12
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 20000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 9 of 12
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 10DummyAdjustable "A2" at 100
      DummyAdjustable "A3" at 1000DummyAdjustable "A4" at 30000
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 10 of 12
      DummyAdjustable "A0" at 2DummyAdjustable "A1" at 10
      DummyAdjustable "A2" at 200
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 10000
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 11 of 12
      DummyAdjustable "A0" at 2DummyAdjustable "A1" at 10DummyAdjustable "A2" at 200
      
      
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 20000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      Scan step 12 of 12
      DummyAdjustable "A0" at 2
      DummyAdjustable "A1" at 10
      DummyAdjustable "A2" at 200
      DummyAdjustable "A3" at 1000
      DummyAdjustable "A4" at 30000
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/nd_gen_5d', 1)
      fake acquire to data/nd_gen_5d:
      DAQTask: done
      
      Output files:
      -------------
      - data/nd_gen_5d
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.56it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.35it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.97it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.56it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.71it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.31it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.25it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.94it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.08it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.32it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.71it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.53it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.37it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.03it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.24it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.75it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.14it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.36it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.80it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.18it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.34it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.30it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 96.37it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.72it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003393849983694963
      

      outcome:

      passed
      

    Function: test_ND_grid_with_readbacks_verification

    • Test 338

      📌 Setup phase

      duration:

      0.0008960249979281798
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.14581510100106243
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 12
      DummyAdjustable "Motor0" at 0
      DummyAdjustable "Motor1" at 10DummyAdjustable "Motor2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 2 of 12
      DummyAdjustable "Motor0" at 0DummyAdjustable "Motor1" at 10DummyAdjustable "Motor2" at 200
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 3 of 12
      DummyAdjustable "Motor0" at 0DummyAdjustable "Motor1" at 10
      
      DummyAdjustable "Motor2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 4 of 12
      DummyAdjustable "Motor0" at 0DummyAdjustable "Motor1" at 20
      
      DummyAdjustable "Motor2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 5 of 12
      DummyAdjustable "Motor0" at 0
      DummyAdjustable "Motor1" at 20
      DummyAdjustable "Motor2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 6 of 12
      DummyAdjustable "Motor0" at 0DummyAdjustable "Motor1" at 20
      DummyAdjustable "Motor2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 7 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 10
      DummyAdjustable "Motor2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 8 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 10
      DummyAdjustable "Motor2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 9 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 10DummyAdjustable "Motor2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 10 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 20DummyAdjustable "Motor2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 11 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 20
      DummyAdjustable "Motor2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      Scan step 12 of 12
      DummyAdjustable "Motor0" at 1
      DummyAdjustable "Motor1" at 20
      DummyAdjustable "Motor2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/grid_readbacks', 1)
      fake acquire to data/grid_readbacks:
      DAQTask: done
      
      Output files:
      -------------
      - data/grid_readbacks
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.38it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.59it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.30it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.83it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.82it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.14it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.47it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.65it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.70it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.62it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.61it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.01it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003324870049254969
      

      outcome:

      passed
      

    Function: test_large_ND_grid_scan

    • Test 339

      📌 Setup phase

      duration:

      0.0009294529954786412
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.3219614260015078
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 27
      DummyAdjustable "Axis0" at 0DummyAdjustable "Axis1" at 10DummyAdjustable "Axis2" at 100
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 2 of 27
      DummyAdjustable "Axis0" at 0
      DummyAdjustable "Axis1" at 10
      DummyAdjustable "Axis2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 3 of 27
      DummyAdjustable "Axis0" at 0
      DummyAdjustable "Axis1" at 10
      DummyAdjustable "Axis2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 4 of 27
      DummyAdjustable "Axis0" at 0DummyAdjustable "Axis1" at 20
      DummyAdjustable "Axis2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 5 of 27
      DummyAdjustable "Axis0" at 0
      DummyAdjustable "Axis1" at 20DummyAdjustable "Axis2" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 6 of 27
      DummyAdjustable "Axis0" at 0DummyAdjustable "Axis1" at 20
      DummyAdjustable "Axis2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 7 of 27
      DummyAdjustable "Axis0" at 0DummyAdjustable "Axis1" at 30
      DummyAdjustable "Axis2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 8 of 27
      DummyAdjustable "Axis0" at 0DummyAdjustable "Axis1" at 30DummyAdjustable "Axis2" at 200
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 9 of 27
      DummyAdjustable "Axis0" at 0
      DummyAdjustable "Axis1" at 30
      DummyAdjustable "Axis2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 10 of 27
      DummyAdjustable "Axis0" at 1DummyAdjustable "Axis1" at 10
      DummyAdjustable "Axis2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 11 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 10DummyAdjustable "Axis2" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 12 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 10DummyAdjustable "Axis2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 13 of 27
      DummyAdjustable "Axis0" at 1DummyAdjustable "Axis1" at 20
      
      DummyAdjustable "Axis2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 14 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 20DummyAdjustable "Axis2" at 200
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 15 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 20DummyAdjustable "Axis2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 16 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 30DummyAdjustable "Axis2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 17 of 27
      DummyAdjustable "Axis0" at 1
      DummyAdjustable "Axis1" at 30
      DummyAdjustable "Axis2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 18 of 27
      DummyAdjustable "Axis0" at 1DummyAdjustable "Axis1" at 30DummyAdjustable "Axis2" at 300
      
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 19 of 27
      DummyAdjustable "Axis0" at 2
      DummyAdjustable "Axis1" at 10
      DummyAdjustable "Axis2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 20 of 27
      DummyAdjustable "Axis0" at 2DummyAdjustable "Axis1" at 10
      
      DummyAdjustable "Axis2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 21 of 27
      DummyAdjustable "Axis0" at 2DummyAdjustable "Axis1" at 10
      DummyAdjustable "Axis2" at 300
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 22 of 27
      DummyAdjustable "Axis0" at 2
      DummyAdjustable "Axis1" at 20
      DummyAdjustable "Axis2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 23 of 27
      DummyAdjustable "Axis0" at 2
      DummyAdjustable "Axis1" at 20
      DummyAdjustable "Axis2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 24 of 27
      DummyAdjustable "Axis0" at 2DummyAdjustable "Axis1" at 20
      
      DummyAdjustable "Axis2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 25 of 27
      DummyAdjustable "Axis0" at 2DummyAdjustable "Axis1" at 30
      
      DummyAdjustable "Axis2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 26 of 27
      DummyAdjustable "Axis0" at 2
      DummyAdjustable "Axis1" at 30
      DummyAdjustable "Axis2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      Scan step 27 of 27
      DummyAdjustable "Axis0" at 2
      DummyAdjustable "Axis1" at 30
      DummyAdjustable "Axis2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/large_grid_3d', 1)
      fake acquire to data/large_grid_3d:
      DAQTask: done
      
      Output files:
      -------------
      - data/large_grid_3d
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.08it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.37it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.22it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.37it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.87it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.89it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.97it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.09it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.11it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.03it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.38it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.84it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.43it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.51it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.18it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.34it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.31it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.93it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.80it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.64it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.81it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.94it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.99it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.67it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.51it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.23it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.73it/s]
      
      

      📌 Teardown phase

      duration:

      0.00032834099692991003
      

      outcome:

      passed
      

    Function: test_ND_grid_interrupted_midway

    • Test 340

      📌 Setup phase

      duration:

      0.000854532998346258
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.06087053499504691
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 18
      DummyAdjustable "M0" at 0DummyAdjustable "M1" at 10
      DummyAdjustable "M2" at 100
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interrupted_grid', 1)
      fake acquire to data/interrupted_grid:
      DAQTask: done
      
      Output files:
      -------------
      - data/interrupted_grid
      Acquisition done
      Scan step 2 of 18
      DummyAdjustable "M0" at 0
      DummyAdjustable "M1" at 10
      DummyAdjustable "M2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interrupted_grid', 1)
      fake acquire to data/interrupted_grid:
      DAQTask: done
      
      Output files:
      -------------
      - data/interrupted_grid
      Acquisition done
      Scan step 3 of 18
      DummyAdjustable "M0" at 0
      DummyAdjustable "M1" at 10
      DummyAdjustable "M2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interrupted_grid', 1)
      fake acquire to data/interrupted_grid:
      DAQTask: done
      
      Output files:
      -------------
      - data/interrupted_grid
      Acquisition done
      Scan step 4 of 18
      DummyAdjustable "M0" at 0
      DummyAdjustable "M1" at 20
      DummyAdjustable "M2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interrupted_grid', 1)
      fake acquire to data/interrupted_grid:
      DAQTask: done
      
      Output files:
      -------------
      - data/interrupted_grid
      Acquisition done
      Scan step 5 of 18
      DummyAdjustable "M0" at 0
      DummyAdjustable "M1" at 20
      DummyAdjustable "M2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interrupted_grid', 1)
      fake acquire to data/interrupted_grid:
      DAQTask: done
      
      Output files:
      -------------
      - data/interrupted_grid
      Acquisition done
      Stopped during scan step 5 of 18
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.66it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.79it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.16it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.97it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.35it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003194670061930083
      

      outcome:

      passed
      

    Function: test_nonsfdaq_acquisition_only

    • Test 341

      📌 Setup phase

      duration:

      0.0008382679952774197
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002127305000612978
      

      outcome:

      passed
      

      stdout:

      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      DAQTask: ready
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      DAQTask: ready
      Acquisition done
      All scan steps done
      
      

      📌 Teardown phase

      duration:

      0.0002321130014024675
      

      outcome:

      passed
      

    Function: test_nonsfdaq_with_make_scan_sub_dir

    • Test 342

      📌 Setup phase

      duration:

      0.0006649659990216605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008674069977132604
      

      outcome:

      passed
      

      stdout:

      Directory "/tmp/pytest-of-root/pytest-0/test_nonsfdaq_with_make_scan_s0/nonsfdaq_default/data/scan0000_subdir_scan" does not exist, creating it...
      
      

      📌 Teardown phase

      duration:

      0.00020866700651822612
      

      outcome:

      passed
      

    Function: test_nonsfdaq_acquire_all_different_params

    • Test 343

      📌 Setup phase

      duration:

      0.0006216929978108965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006368510003085248
      

      outcome:

      passed
      

      stdout:

      DAQTask: ready
      
      

      📌 Teardown phase

      duration:

      0.00019607900321716443
      

      outcome:

      passed
      

    Function: test_mixed_sfdaq_and_nonsfdaq_acquisitions

    • Test 344

      📌 Setup phase

      duration:

      0.0006118720048107207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.02494015400588978
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/mixed_scan', 1)
      fake acquire to data/mixed_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/mixed_scan
      DAQTask: ready
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/mixed_scan', 1)
      fake acquire to data/mixed_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/mixed_scan
      DAQTask: ready
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.75it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.65it/s]
      
      

      📌 Teardown phase

      duration:

      0.00030713999876752496
      

      outcome:

      passed
      

    Function: test_nonsfdaq_with_default_dir_none

    • Test 345

      📌 Setup phase

      duration:

      0.0007916840040707029
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013563250031438656
      

      outcome:

      passed
      

      stdout:

      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      DAQTask: ready
      Acquisition done
      All scan steps done
      
      

      📌 Teardown phase

      duration:

      0.0002032959964708425
      

      outcome:

      passed
      

    Function: test_return_to_initial_values_none_user_says_yes

    • Test 346

      📌 Setup phase

      duration:

      0.0007100279981386848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.024364412005525082
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "Dummy" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interactive_scan', 1)
      fake acquire to data/interactive_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/interactive_scan
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "Dummy" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interactive_scan', 1)
      fake acquire to data/interactive_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/interactive_scan
      Acquisition done
      All scan steps done
      Returning to initial values
      DummyAdjustable "Dummy" at 100
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.78it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.85it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003502649997244589
      

      outcome:

      passed
      

    Function: test_return_to_initial_values_none_user_says_no

    • Test 347

      📌 Setup phase

      duration:

      0.0009609140033717267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.023777456000971142
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "Dummy" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interactive_scan', 1)
      fake acquire to data/interactive_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/interactive_scan
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "Dummy" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/interactive_scan', 1)
      fake acquire to data/interactive_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/interactive_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.15it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.82it/s]
      
      

      📌 Teardown phase

      duration:

      0.00034786899777827784
      

      outcome:

      passed
      

    Function: test_n_repeat_none_infinite_with_early_stop

    • Test 348

      📌 Setup phase

      duration:

      0.000948584005527664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03607578000082867
      

      outcome:

      passed
      

      stdout:

      Repetition 1 of 
      File: infinite_scan_001 infinite_scan_001
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/infinite_scan_001', 1)
      fake acquire to data/infinite_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/infinite_scan_001
      Acquisition done
      All scan steps done
      Repetition 2 of 
      File: infinite_scan_002 infinite_scan_002
      run number is 2
      Advanced run number to 2 for Fake DAQ (Last Run: 2).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 2.
      acquire('data/infinite_scan_002', 1)
      fake acquire to data/infinite_scan_002:
      DAQTask: done
      
      Output files:
      -------------
      - data/infinite_scan_002
      Acquisition done
      All scan steps done
      Repetition 3 of 
      File: infinite_scan_003 infinite_scan_003
      run number is 3
      Advanced run number to 3 for Fake DAQ (Last Run: 3).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 3.
      acquire('data/infinite_scan_003', 1)
      fake acquire to data/infinite_scan_003:
      DAQTask: done
      
      Output files:
      -------------
      - data/infinite_scan_003
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.48it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.09it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.18it/s]
      
      

      📌 Teardown phase

      duration:

      0.00033870500192278996
      

      outcome:

      passed
      

    Function: test_n_repeat_none_printable_summary

    • Test 349

      📌 Setup phase

      duration:

      0.0011159580026287585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010805929996422492
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027553399559110403
      

      outcome:

      passed
      

    Function: test_keyboard_interrupt_handling

    • Test 350

      📌 Setup phase

      duration:

      0.0007840940015739761
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012348289004876278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00032533000194234774
      

      outcome:

      passed
      

    Function: test_condition_with_multiple_repeats

    • Test 352

      📌 Setup phase

      duration:

      0.0008553049992769957
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.07074184600060107
      

      outcome:

      passed
      

      stdout:

      Repetition 1 of 3
      File: condition_repeat_scan_001 condition_repeat_scan_001
      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/condition_repeat_scan_001', 1)
      fake acquire to data/condition_repeat_scan_001:
      DAQTask: done
      
      Output files:
      -------------
      - data/condition_repeat_scan_001
      Acquisition done
      All scan steps done
      Repetition 2 of 3
      File: condition_repeat_scan_002 condition_repeat_scan_002
      run number is 2
      Advanced run number to 2 for Fake DAQ (Last Run: 2).
      Scan step 1 of 1
      All scan steps done
      Repetition 3 of 3
      File: condition_repeat_scan_003 condition_repeat_scan_003
      run number is 3
      Advanced run number to 3 for Fake DAQ (Last Run: 3).
      Scan step 1 of 1
      All scan steps done
      Returning to initial values
      DummyAdjustable "M" at 0
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.52it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.71it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.13it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.51it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.41it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.09it/s]
      
      

      📌 Teardown phase

      duration:

      0.00035631599894259125
      

      outcome:

      passed
      

    Function: test_stop_calls_condition_stop

    • Test 353

      📌 Setup phase

      duration:

      0.0009862810038612224
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008513879947713576
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001988889998756349
      

      outcome:

      passed
      

    Function: test_step_info_as_static_dict

    • Test 354

      📌 Setup phase

      duration:

      0.000656520998745691
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.023968087996763643
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/static_info_scan', 1)
      fake acquire to data/static_info_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/static_info_scan
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/static_info_scan', 1)
      fake acquire to data/static_info_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/static_info_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.91it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 96.00it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003266499988967553
      

      outcome:

      passed
      

    Function: test_scan_with_empty_acquisitions_list

    • Test 356

      📌 Setup phase

      duration:

      0.0008406899942201562
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014357389954966493
      

      outcome:

      passed
      

      stdout:

      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Acquisition done
      All scan steps done
      
      

      📌 Teardown phase

      duration:

      0.00024159400345524773
      

      outcome:

      passed
      

    Function: test_scan_with_very_large_istep

    • Test 357

      📌 Setup phase

      duration:

      0.0007251229981193319
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008173110036295839
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021252399892546237
      

      outcome:

      passed
      

    Function: test_condition_with_minimum_repeats

    • Test 358

      📌 Setup phase

      duration:

      0.0006683180035906844
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012531961001513992
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 1
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/min_repeat_condition', 1)
      fake acquire to data/min_repeat_condition:
      DAQTask: done
      
      Output files:
      -------------
      - data/min_repeat_condition
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.80it/s]
      
      

      📌 Teardown phase

      duration:

      0.0004461599964997731
      

      outcome:

      passed
      

    Function: test_remote_plot_without_sensor

    • Test 359

      📌 Setup phase

      duration:

      0.0009153330029221252
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.024960988994280342
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 2
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/plot_no_sensor_scan', 1)
      fake acquire to data/plot_no_sensor_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/plot_no_sensor_scan
      Acquisition done
      Scan step 2 of 2
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/plot_no_sensor_scan', 1)
      fake acquire to data/plot_no_sensor_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/plot_no_sensor_scan
      Acquisition done
      All scan steps done
      Returning to initial values
      DummyAdjustable "M" at 0
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.98it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.44it/s]
      
      

      📌 Teardown phase

      duration:

      0.0003337640009704046
      

      outcome:

      passed
      

    Function: test_n_repeat_with_n_pulses_formatting

    • Test 360

      📌 Setup phase

      duration:

      0.0008666290013934486
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009972240004572086
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021172600099816918
      

      outcome:

      passed
      

    Function: test_scan_stopped_before_first_iteration

    • Test 361

      📌 Setup phase

      duration:

      0.0006584590009879321
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008010059973457828
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Stopped during scan step 0 of 3
      
      

      📌 Teardown phase

      duration:

      0.00021141100296517834
      

      outcome:

      passed
      

    Function: test_complete_scan_values_readbacks_and_return_to_initial

    • Test 362

      📌 Setup phase

      duration:

      0.0005894519999856129
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.036725200996443164
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 3
      DummyAdjustable "Motor1" at 10
      DummyAdjustable "Motor2" at 100
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/complete_scan', 1)
      fake acquire to data/complete_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/complete_scan
      Acquisition done
      Scan step 2 of 3
      DummyAdjustable "Motor1" at 20
      DummyAdjustable "Motor2" at 200
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/complete_scan', 1)
      fake acquire to data/complete_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/complete_scan
      Acquisition done
      Scan step 3 of 3
      DummyAdjustable "Motor1" at 30
      DummyAdjustable "Motor2" at 300
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/complete_scan', 1)
      fake acquire to data/complete_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/complete_scan
      Acquisition done
      All scan steps done
      Returning to initial values
      DummyAdjustable "Motor1" at 0
      DummyAdjustable "Motor2" at 0
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.79it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.98it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 98.26it/s]
      
      

      📌 Teardown phase

      duration:

      0.00030326599517138675
      

      outcome:

      passed
      

    Function: test_scan_without_return_to_initial_stays_at_last_value

    • Test 363

      📌 Setup phase

      duration:

      0.00083664200064959
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0365069740000763
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 3
      DummyAdjustable "M1" at 10
      DummyAdjustable "M2" at 20
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      Scan step 2 of 3
      DummyAdjustable "M1" at 30DummyAdjustable "M2" at 40
      
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      Scan step 3 of 3
      DummyAdjustable "M1" at 50
      DummyAdjustable "M2" at 60
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/no_return_scan', 1)
      fake acquire to data/no_return_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/no_return_scan
      Acquisition done
      All scan steps done
      
      

      stderr:

      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.90it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.71it/s]
      
        0%|          | 0/1 [00:00<?, ?it/s]
      100%|██████████| 1/1 [00:00<00:00, 97.87it/s]
      
      

      📌 Teardown phase

      duration:

      0.00040007000643527135
      

      outcome:

      passed
      

    Function: test_acquisition_parameters_are_correct

    • Test 364

      📌 Setup phase

      duration:

      0.001282037999772001
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.15914127799624112
      

      outcome:

      passed
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      Scan step 1 of 3
      DummyAdjustable "M" at 1
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/param_check_scan', 5)
      fake acquire to data/param_check_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/param_check_scan
      Acquisition done
      Scan step 2 of 3
      DummyAdjustable "M" at 2
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/param_check_scan', 5)
      fake acquire to data/param_check_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/param_check_scan
      Acquisition done
      Scan step 3 of 3
      DummyAdjustable "M" at 3
      Moved adjustables, starting acquisition
      Continuing run number 1.
      acquire('data/param_check_scan', 5)
      fake acquire to data/param_check_scan:
      DAQTask: done
      
      Output files:
      -------------
      - data/param_check_scan
      Acquisition done
      All scan steps done
      Returning to initial values
      DummyAdjustable "M" at 0
      
      

      stderr:

      
        0%|          | 0/5 [00:00<?, ?it/s]
      100%|██████████| 5/5 [00:00<00:00, 98.12it/s]
      
        0%|          | 0/5 [00:00<?, ?it/s]
      100%|██████████| 5/5 [00:00<00:00, 98.44it/s]
      
        0%|          | 0/5 [00:00<?, ?it/s]
      100%|██████████| 5/5 [00:00<00:00, 98.11it/s]
      
      

      📌 Teardown phase

      duration:

      0.00031262000265996903
      

      outcome:

      passed
      
  • 📄 test_scaninfo.py

    Function: test_init_creates_expected_filename

    • Test 365
      params: adjustables="[<test_scaninfo.DummyAdjustable object at 0x7f52414ea460>]", values=[1, 2, 3], suffix="_scan_info.json", expected_filename="fileA_scan_info.json", expected_params={"name": ["adj"], "Id": ["id"], "units": ["u"]}

      📌 Parameters

      params:
        adjustables: "[<test_scaninfo.DummyAdjustable object at 0x7f52414ea460>]"
        values: [1, 2, 3]
        suffix: "_scan_info.json"
        expected_filename: "fileA_scan_info.json"
        expected_params: {"name": ["adj"], "Id": ["id"], "units": ["u"]}
      id: "adjustables0-values0-_scan_info.json-fileA_scan_info.json-expected_params0"
      

      📌 Setup phase

      duration:

      0.001163067005109042
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002666319996933453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027037999825552106
      

      outcome:

      passed
      
    • Test 366
      params: adjustables="[<test_scaninfo.DummyAdjustable object at 0x7f52414ea490>]", values=[10, 20], suffix=".meta", expected_filename="fileB.meta", expected_params={"name": ["motorX"], "Id": ["M1"], "units": ["mm"]}

      📌 Parameters

      params:
        adjustables: "[<test_scaninfo.DummyAdjustable object at 0x7f52414ea490>]"
        values: [10, 20]
        suffix: ".meta"
        expected_filename: "fileB.meta"
        expected_params: {"name": ["motorX"], "Id": ["M1"], "units": ["mm"]}
      id: "adjustables1-values1-.meta-fileB.meta-expected_params1"
      

      📌 Setup phase

      duration:

      0.0010907100004260428
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022839399753138423
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002703220015973784
      

      outcome:

      passed
      
    • Test 367
      params: adjustables="[<test_scaninfo.DummyAdjustable object at 0x7f52414ea4c0>, <test_scaninfo.DummyAdjustable object at 0x7f52414ea250>, <test_scaninfo.DummyAdjustable object at 0x7f524209c400>]", values=[1, 2, 3], suffix="_extra.json", expected_filename="fileC_extra.json", expected_params={"name": ["motorX", "stageY", "lensZ"], "Id": ["M1", "S2", "L3"], "units": ["mm", "deg", "cm"]}

      📌 Parameters

      params:
        adjustables: "[<test_scaninfo.DummyAdjustable object at 0x7f52414ea4c0>, <test_scaninfo.DummyAdjustable object at 0x7f52414ea250>, <test_scaninfo.DummyAdjustable object at 0x7f524209c400>]"
        values: [1, 2, 3]
        suffix: "_extra.json"
        expected_filename: "fileC_extra.json"
        expected_params: {"name": ["motorX", "stageY", "lensZ"], "Id": ["M1", "S2", "L3"], "units": ["mm", "deg", "cm"]}
      id: "adjustables2-values2-_extra.json-fileC_extra.json-expected_params2"
      

      📌 Setup phase

      duration:

      0.0008714470022823662
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024027500330703333
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030853399948682636
      

      outcome:

      passed
      

    Function: test_init_with_empty_adjustables

    • Test 368

      📌 Setup phase

      duration:

      0.0006066749992896803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021048000053269789
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016632999904686585
      

      outcome:

      passed
      

    Function: test_init_with_missing_attributes

    • Test 369
      params: adjustable="<test_scaninfo.PartialAdjustable object at 0x7f524209c2e0>", expected_name="noName", expected_id="test_id", expected_units="test_units"

      📌 Parameters

      params:
        adjustable: "<test_scaninfo.PartialAdjustable object at 0x7f524209c2e0>"
        expected_name: "noName"
        expected_id: "test_id"
        expected_units: "test_units"
      id: "adjustable0-noName-test_id-test_units"
      

      📌 Setup phase

      duration:

      0.0010101679945364594
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020701000175904483
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024294399918289855
      

      outcome:

      passed
      
    • Test 370
      params: adjustable="<test_scaninfo.PartialAdjustable object at 0x7f524209c310>", expected_name="test_name", expected_id="noID", expected_units="test_units"

      📌 Parameters

      params:
        adjustable: "<test_scaninfo.PartialAdjustable object at 0x7f524209c310>"
        expected_name: "test_name"
        expected_id: "noID"
        expected_units: "test_units"
      id: "adjustable1-test_name-noID-test_units"
      

      📌 Setup phase

      duration:

      0.0007790570016368292
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021197000023676082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024099900474539027
      

      outcome:

      passed
      
    • Test 371
      params: adjustable="<test_scaninfo.PartialAdjustable object at 0x7f524209c2b0>", expected_name="test_name", expected_id="test_id", expected_units="noUnits"

      📌 Parameters

      params:
        adjustable: "<test_scaninfo.PartialAdjustable object at 0x7f524209c2b0>"
        expected_name: "test_name"
        expected_id: "test_id"
        expected_units: "noUnits"
      id: "adjustable2-test_name-test_id-noUnits"
      

      📌 Setup phase

      duration:

      0.0008157890042639337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021349699818529189
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002537689942982979
      

      outcome:

      passed
      
    • Test 372
      params: adjustable="<test_scaninfo.PartialAdjustable object at 0x7f524209c040>", expected_name="noName", expected_id="noID", expected_units="noUnits"

      📌 Parameters

      params:
        adjustable: "<test_scaninfo.PartialAdjustable object at 0x7f524209c040>"
        expected_name: "noName"
        expected_id: "noID"
        expected_units: "noUnits"
      id: "adjustable3-noName-noID-noUnits"
      

      📌 Setup phase

      duration:

      0.0007983390023582615
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002103079968946986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002326320027350448
      

      outcome:

      passed
      

    Function: test_append

    • Test 373

      📌 Setup phase

      duration:

      0.0005704060022253543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000247575000685174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001824020000640303
      

      outcome:

      passed
      

    Function: test_append_with_empty_lists

    • Test 374

      📌 Setup phase

      duration:

      0.0006133720016805455
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023849499848438427
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018588799866847694
      

      outcome:

      passed
      

    Function: test_append_with_mismatched_list_lengths

    • Test 375
      params: values_len=3, readbacks_len=2, files_len=1

      📌 Parameters

      params:
        values_len: 3
        readbacks_len: 2
        files_len: 1
      id: "3-2-1"
      

      📌 Setup phase

      duration:

      0.0007579060038551688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021997400472173467
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023581799905514345
      

      outcome:

      passed
      
    • Test 376
      params: values_len=1, readbacks_len=3, files_len=2

      📌 Parameters

      params:
        values_len: 1
        readbacks_len: 3
        files_len: 2
      id: "1-3-2"
      

      📌 Setup phase

      duration:

      0.0007615870053996332
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022146399714984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027339899679645896
      

      outcome:

      passed
      
    • Test 377
      params: values_len=5, readbacks_len=1, files_len=5

      📌 Parameters

      params:
        values_len: 5
        readbacks_len: 1
        files_len: 5
      id: "5-1-5"
      

      📌 Setup phase

      duration:

      0.0008115599994198419
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022824099869467318
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002613219985505566
      

      outcome:

      passed
      

    Function: test_append_info_with_complex_nested_dict

    • Test 378

      📌 Setup phase

      duration:

      0.0005723209978896193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022011699911672622
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017350000416627154
      

      outcome:

      passed
      

    Function: test_very_long_lists

    • Test 379

      📌 Setup phase

      duration:

      0.0005958520050626248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002245795003545936
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017959900287678465
      

      outcome:

      passed
      

    Function: test_callable_info_that_raises_exception

    • Test 380

      📌 Setup phase

      duration:

      0.000584523004363291
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004494780005188659
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017872600437840447
      

      outcome:

      passed
      

    Function: test_callable_info_returns_none

    • Test 381

      📌 Setup phase

      duration:

      0.0005951649945927784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000209833997359965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019358799909241498
      

      outcome:

      passed
      

    Function: test_info_with_none_directly

    • Test 382

      📌 Setup phase

      duration:

      0.0005970230049570091
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021227000252110884
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001797500008251518
      

      outcome:

      passed
      

    Function: test_write_and_to_dict

    • Test 383

      📌 Setup phase

      duration:

      0.0006668779969913885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002954910014523193
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023874199541751295
      

      outcome:

      passed
      

    Function: test_to_dict_complete_structure

    • Test 384

      📌 Setup phase

      duration:

      0.0006846020041848533
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022240999533096328
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001775210039340891
      

      outcome:

      passed
      

    Function: test_update_integration

    • Test 385

      📌 Setup phase

      duration:

      0.0010440100013511255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000513731996761635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002476369991200045
      

      outcome:

      passed
      

    Function: test_to_sfdaq_dict_filled_example

    • Test 386

      📌 Setup phase

      duration:

      0.0007761860033497214
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004403200000524521
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021861399727640674
      

      outcome:

      passed
      

    Function: test_to_sfdaq_dict_with_single_adjustable

    • Test 387

      📌 Setup phase

      duration:

      0.0006398149998858571
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024378899979637936
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017692999972496182
      

      outcome:

      passed
      

    Function: test_to_sfdaq_dict_filename_with_slash

    • Test 388

      📌 Setup phase

      duration:

      0.0005855269992025569
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021258900233078748
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018880599964177236
      

      outcome:

      passed
      

    Function: test_to_sfdaq_dict_with_empty_adjustables_list

    • Test 389

      📌 Setup phase

      duration:

      0.0007951909938128665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002242499977000989
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017647900676820427
      

      outcome:

      passed
      

    Function: test_append_then_to_sfdaq_returns_last_values

    • Test 390

      📌 Setup phase

      duration:

      0.000607754998782184
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002114509989041835
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018971799727296457
      

      outcome:

      passed
      

    Function: test_repr

    • Test 391

      📌 Setup phase

      duration:

      0.0005923670032643713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022366199846146628
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001993100013351068
      

      outcome:

      passed
      

    Function: test_filename_base_already_contains_suffix

    • Test 392

      📌 Setup phase

      duration:

      0.0005937920068390667
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022278400138020515
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017837900668382645
      

      outcome:

      passed
      

    Function: test_filename_with_multiple_slashes

    • Test 393

      📌 Setup phase

      duration:

      0.0006110210015322082
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021165200450923294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018171400006394833
      

      outcome:

      passed
      

    Function: test_suffix_empty_string

    • Test 394

      📌 Setup phase

      duration:

      0.0006014870014041662
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000283424997178372
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017714600107865408
      

      outcome:

      passed
      

    Function: test_suffix_no_extension

    • Test 395

      📌 Setup phase

      duration:

      0.0006987040032981895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002200620001531206
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017821700021158904
      

      outcome:

      passed
      

    Function: test_base_dir_with_trailing_slash

    • Test 396

      📌 Setup phase

      duration:

      0.0006351429983624257
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022912200074642897
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001748669965309091
      

      outcome:

      passed
      

    Function: test_filename_base_with_dots

    • Test 397

      📌 Setup phase

      duration:

      0.0006170699998619966
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002131300061591901
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000196281005628407
      

      outcome:

      passed
      

    Function: test_multiple_slashes_and_underscores_in_filename_base

    • Test 398

      📌 Setup phase

      duration:

      0.0006169769985717721
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000253254002018366
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002650480018928647
      

      outcome:

      passed
      

    Function: test_adjustable_with_special_characters_in_name

    • Test 399

      📌 Setup phase

      duration:

      0.0008079600011114962
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021433299843920395
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020251399837434292
      

      outcome:

      passed
      

    Function: test_full_integration_workflow

    • Test 400

      📌 Setup phase

      duration:

      0.0008153539965860546
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002997150004375726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002260189939988777
      

      outcome:

      passed
      
  • 📄 test_utils_argfwd.py

    Function: test_split_at

    • Test 401
      params: lst=["a", "b", "c", "d"], index=2, expected=[["a", "b"], ["c", "d"]]

      📌 Parameters

      params:
        lst: ["a", "b", "c", "d"]
        index: 2
        expected: [["a", "b"], ["c", "d"]]
      id: "lst0-2-expected0"
      

      📌 Setup phase

      duration:

      0.00034886800131062046
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019226000586058944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002008339943131432
      

      outcome:

      passed
      
    • Test 402
      params: lst=["x", "y"], index=1, expected=[["x"], ["y"]]

      📌 Parameters

      params:
        lst: ["x", "y"]
        index: 1
        expected: [["x"], ["y"]]
      id: "lst1-1-expected1"
      

      📌 Setup phase

      duration:

      0.0003187280017300509
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018544700287748128
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024413399660261348
      

      outcome:

      passed
      
    • Test 403
      params: lst=[], index=0, expected=[[], []]

      📌 Parameters

      params:
        lst: []
        index: 0
        expected: [[], []]
      id: "lst2-0-expected2"
      

      📌 Setup phase

      duration:

      0.0003064259944949299
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018690899742068723
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029904099937994033
      

      outcome:

      passed
      

    Function: test_merge_lists_unique

    • Test 404
      params: a=["a", "b"], b=["b", "c"], expected=["a", "b", "c"]

      📌 Parameters

      params:
        a: ["a", "b"]
        b: ["b", "c"]
        expected: ["a", "b", "c"]
      id: "a0-b0-expected0"
      

      📌 Setup phase

      duration:

      0.00033416000223951414
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001846349987317808
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002132320005330257
      

      outcome:

      passed
      
    • Test 405
      params: a=[], b=["x"], expected=["x"]

      📌 Parameters

      params:
        a: []
        b: ["x"]
        expected: ["x"]
      id: "a1-b1-expected1"
      

      📌 Setup phase

      duration:

      0.0003093170016654767
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001716679980745539
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001999260057345964
      

      outcome:

      passed
      
    • Test 406
      params: a=["x", "y"], b=["x", "y"], expected=["x", "y"]

      📌 Parameters

      params:
        a: ["x", "y"]
        b: ["x", "y"]
        expected: ["x", "y"]
      id: "a2-b2-expected2"
      

      📌 Setup phase

      duration:

      0.0003111339974566363
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018261200602864847
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002026250003837049
      

      outcome:

      passed
      

    Function: test_merge_dicts_unique

    • Test 407
      params: a={"a": 1}, b={"b": 2}, expected={"a": 1, "b": 2}

      📌 Parameters

      params:
        a: {"a": 1}
        b: {"b": 2}
        expected: {"a": 1, "b": 2}
      id: "a0-b0-expected0"
      

      📌 Setup phase

      duration:

      0.0003599170013330877
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018790800095302984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021134100097697228
      

      outcome:

      passed
      
    • Test 408
      params: a={"x": 1}, b={"x": 9, "y": 3}, expected={"x": 1, "y": 3}

      📌 Parameters

      params:
        a: {"x": 1}
        b: {"x": 9, "y": 3}
        expected: {"x": 1, "y": 3}
      id: "a1-b1-expected1"
      

      📌 Setup phase

      duration:

      0.000297036996926181
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017132500215666369
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019685399456648156
      

      outcome:

      passed
      
    • Test 409
      params: a={}, b={"k": 4}, expected={"k": 4}

      📌 Parameters

      params:
        a: {}
        b: {"k": 4}
        expected: {"k": 4}
      id: "a2-b2-expected2"
      

      📌 Setup phase

      duration:

      0.0003057959984289482
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001767130015650764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018251800065627322
      

      outcome:

      passed
      

    Function: test_make_params_pos_basic

    • Test 410
      params: pos=["a", "b"], expected_names=["a", "b"]

      📌 Parameters

      params:
        pos: ["a", "b"]
        expected_names: ["a", "b"]
      id: "pos0-expected_names0"
      

      📌 Setup phase

      duration:

      0.00027779900119639933
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022009199892636389
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017849200230557472
      

      outcome:

      passed
      
    • Test 411
      params: pos=["param1", "value_2", "Z"], expected_names=["param1", "value_2", "Z"]

      📌 Parameters

      params:
        pos: ["param1", "value_2", "Z"]
        expected_names: ["param1", "value_2", "Z"]
      id: "pos1-expected_names1"
      

      📌 Setup phase

      duration:

      0.0002568060008343309
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020607600163202733
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018508199718780816
      

      outcome:

      passed
      
    • Test 412
      params: pos=[], expected_names=[]

      📌 Parameters

      params:
        pos: []
        expected_names: []
      id: "pos2-expected_names2"
      

      📌 Setup phase

      duration:

      0.0002912880008807406
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028140399808762595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020206299814162776
      

      outcome:

      passed
      

    Function: test_make_params_kw_basic

    • Test 413
      params: kw={"a": 1, "b": 2}, expected_keys=["a", "b"], expected_defaults=[1, 2]

      📌 Parameters

      params:
        kw: {"a": 1, "b": 2}
        expected_keys: ["a", "b"]
        expected_defaults: [1, 2]
      id: "kw0-expected_keys0-expected_defaults0"
      

      📌 Setup phase

      duration:

      0.00034227300056954846
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020878500072285533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020383999799378216
      

      outcome:

      passed
      
    • Test 414
      params: kw={"param_x": 0}, expected_keys=["param_x"], expected_defaults=[0]

      📌 Parameters

      params:
        kw: {"param_x": 0}
        expected_keys: ["param_x"]
        expected_defaults: [0]
      id: "kw1-expected_keys1-expected_defaults1"
      

      📌 Setup phase

      duration:

      0.0003153789948555641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001947900018421933
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022368100326275453
      

      outcome:

      passed
      
    • Test 415
      params: kw={}, expected_keys=[], expected_defaults=[]

      📌 Parameters

      params:
        kw: {}
        expected_keys: []
        expected_defaults: []
      id: "kw2-expected_keys2-expected_defaults2"
      

      📌 Setup phase

      duration:

      0.0003232509989175014
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019353000243427232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002225090065621771
      

      outcome:

      passed
      

    Function: test_make_signature_parametrized

    • Test 416
      params: pos=["x", "y"], kw={"z": 3}, expected_signature="(x, y, z=3)"

      📌 Parameters

      params:
        pos: ["x", "y"]
        kw: {"z": 3}
        expected_signature: "(x, y, z=3)"
      id: "pos0-kw0-(x, y, z=3)"
      

      📌 Setup phase

      duration:

      0.0003314929999760352
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024005299928830937
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020329800463514403
      

      outcome:

      passed
      
    • Test 417
      params: pos=["a"], kw={"b": 1, "c": 2}, expected_signature="(a, b=1, c=2)"

      📌 Parameters

      params:
        pos: ["a"]
        kw: {"b": 1, "c": 2}
        expected_signature: "(a, b=1, c=2)"
      id: "pos1-kw1-(a, b=1, c=2)"
      

      📌 Setup phase

      duration:

      0.000328301997797098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022141199588077143
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020709100499516353
      

      outcome:

      passed
      
    • Test 418
      params: pos=[], kw={"flag": false}, expected_signature="(flag=False)"

      📌 Parameters

      params:
        pos: []
        kw: {"flag": false}
        expected_signature: "(flag=False)"
      id: "pos2-kw2-(flag=False)"
      

      📌 Setup phase

      duration:

      0.000334356001985725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021601400658255443
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019334600074216723
      

      outcome:

      passed
      

    Function: test_get_args_parametrized

    • Test 419
      params: func="<function <lambda> at 0x7f524283c160>", expected_pos=["a", "b"], expected_kw={"c": 3, "d": 4}

      📌 Parameters

      params:
        func: "<function <lambda> at 0x7f524283c160>"
        expected_pos: ["a", "b"]
        expected_kw: {"c": 3, "d": 4}
      id: "<lambda>-expected_pos0-expected_kw0"
      

      📌 Setup phase

      duration:

      0.0003265769992140122
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025688199821161106
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002009979943977669
      

      outcome:

      passed
      
    • Test 421
      params: func="<function <lambda> at 0x7f524283c280>", expected_pos=[], expected_kw={}

      📌 Parameters

      params:
        func: "<function <lambda> at 0x7f524283c280>"
        expected_pos: []
        expected_kw: {}
      id: "<lambda>-expected_pos2-expected_kw2"
      

      📌 Setup phase

      duration:

      0.0003748809976968914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026075400091940537
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021147799998288974
      

      outcome:

      passed
      

    Function: test_signature_visible

    • Test 422
      params: func="<function wrap_all at 0x7f524283c4c0>", expected_sig="(a, b, d=30, c=10)"

      📌 Parameters

      params:
        func: "<function wrap_all at 0x7f524283c4c0>"
        expected_sig: "(a, b, d=30, c=10)"
      id: "wrap_all-(a, b, d=30, c=10)"
      

      📌 Setup phase

      duration:

      0.00026929800515063107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000223256996832788
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001954079998540692
      

      outcome:

      passed
      
    • Test 423
      params: func="<function wrap_skip at 0x7f524283c550>", expected_sig="(a, b, c=10, d=20)"

      📌 Parameters

      params:
        func: "<function wrap_skip at 0x7f524283c550>"
        expected_sig: "(a, b, c=10, d=20)"
      id: "wrap_skip-(a, b, c=10, d=20)"
      

      📌 Setup phase

      duration:

      0.0002803110037348233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020477200450841337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001720469954307191
      

      outcome:

      passed
      
    • Test 424
      params: func="<function wrap_ignore_all at 0x7f524283c5e0>", expected_sig="(x, y, c=10, d=20)"

      📌 Parameters

      params:
        func: "<function wrap_ignore_all at 0x7f524283c5e0>"
        expected_sig: "(x, y, c=10, d=20)"
      id: "wrap_ignore_all-(x, y, c=10, d=20)"
      

      📌 Setup phase

      duration:

      0.000285810005152598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019727899780264124
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018004099547397345
      

      outcome:

      passed
      

    Function: test_wrapper_behavior

    • Test 425
      params: func="<function wrap_all at 0x7f524283c4c0>", args=[1, 2, 3], kwargs={}, expected_result=36

      📌 Parameters

      params:
        func: "<function wrap_all at 0x7f524283c4c0>"
        args: [1, 2, 3]
        kwargs: {}
        expected_result: 36
      id: "wrap_all-args0-kwargs0-36"
      

      📌 Setup phase

      duration:

      0.00034374200185993686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017737499729264528
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022996600455371663
      

      outcome:

      passed
      
    • Test 426
      params: func="<function wrap_all at 0x7f524283c4c0>", args=[1, 2, 3], kwargs={"d": 5}, expected_result=11

      📌 Parameters

      params:
        func: "<function wrap_all at 0x7f524283c4c0>"
        args: [1, 2, 3]
        kwargs: {"d": 5}
        expected_result: 11
      id: "wrap_all-args1-kwargs1-11"
      

      📌 Setup phase

      duration:

      0.0003680619993247092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017822999507188797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020160499843768775
      

      outcome:

      passed
      
    • Test 427
      params: func="<function wrap_skip at 0x7f524283c550>", args=[0, 0], kwargs={"c": 3, "d": 4}, expected_result=10

      📌 Parameters

      params:
        func: "<function wrap_skip at 0x7f524283c550>"
        args: [0, 0]
        kwargs: {"c": 3, "d": 4}
        expected_result: 10
      id: "wrap_skip-args2-kwargs2-10"
      

      📌 Setup phase

      duration:

      0.0003690730009111576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001744980036164634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021403500431915745
      

      outcome:

      passed
      
    • Test 428
      params: func="<function wrap_ignore_all at 0x7f524283c5e0>", args=[0, 0], kwargs={}, expected_result=10

      📌 Parameters

      params:
        func: "<function wrap_ignore_all at 0x7f524283c5e0>"
        args: [0, 0]
        kwargs: {}
        expected_result: 10
      id: "wrap_ignore_all-args3-kwargs3-10"
      

      📌 Setup phase

      duration:

      0.00035761899926001206
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020118900283705443
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002599930012365803
      

      outcome:

      passed
      
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

    • Test 429
      params: default=null, user_input="y", expected_output=true, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: "y"
        expected_output: true
        expected_prompt: "Question? [y/n] "
      id: "None-y-True-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.0004140109958825633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000943484999879729
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022774800163460895
      

      outcome:

      passed
      
    • Test 430
      params: default=null, user_input="yes", expected_output=true, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: "yes"
        expected_output: true
        expected_prompt: "Question? [y/n] "
      id: "None-yes-True-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.00036888600152451545
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000613128999248147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021713699970860034
      

      outcome:

      passed
      
    • Test 431
      params: default=null, user_input="n", expected_output=false, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: "n"
        expected_output: false
        expected_prompt: "Question? [y/n] "
      id: "None-n-False-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.0003675230036606081
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006862109948997386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002236460059066303
      

      outcome:

      passed
      
    • Test 432
      params: default=null, user_input="no", expected_output=false, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: "no"
        expected_output: false
        expected_prompt: "Question? [y/n] "
      id: "None-no-False-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.0003866889965138398
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000569887000892777
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002235709980595857
      

      outcome:

      passed
      
    • Test 433
      params: default=null, user_input=["maybe", "y"], expected_output=true, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: ["maybe", "y"]
        expected_output: true
        expected_prompt: "Question? [y/n] "
      id: "None-user_input4-True-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.0004051489959238097
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006070110030123033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022526999964611605
      

      outcome:

      passed
      
    • Test 434
      params: default=null, user_input=["", "no"], expected_output=false, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: ["", "no"]
        expected_output: false
        expected_prompt: "Question? [y/n] "
      id: "None-user_input5-False-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.00036329599970486015
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007224369983305223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002247769953100942
      

      outcome:

      passed
      
    • Test 435
      params: default=null, user_input=["invalid", "", "invalid", "yes"], expected_output=true, expected_prompt="Question? [y/n] "

      📌 Parameters

      params:
        default: null
        user_input: ["invalid", "", "invalid", "yes"]
        expected_output: true
        expected_prompt: "Question? [y/n] "
      id: "None-user_input6-True-Question? [y/n] "
      

      📌 Setup phase

      duration:

      0.0005092849969514646
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006203120065038092
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023173700174083933
      

      outcome:

      passed
      
    • Test 436
      params: default="y", user_input="y", expected_output=true, expected_prompt="Question? [Y/n] "

      📌 Parameters

      params:
        default: "y"
        user_input: "y"
        expected_output: true
        expected_prompt: "Question? [Y/n] "
      id: "y-y-True-Question? [Y/n] "
      

      📌 Setup phase

      duration:

      0.0003798730031121522
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006191869979375042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000219691006350331
      

      outcome:

      passed
      
    • Test 437
      params: default="y", user_input="n", expected_output=false, expected_prompt="Question? [Y/n] "

      📌 Parameters

      params:
        default: "y"
        user_input: "n"
        expected_output: false
        expected_prompt: "Question? [Y/n] "
      id: "y-n-False-Question? [Y/n] "
      

      📌 Setup phase

      duration:

      0.0003675699990708381
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005700000037904829
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026366300153313205
      

      outcome:

      passed
      
    • Test 438
      params: default="y", user_input="", expected_output=true, expected_prompt="Question? [Y/n] "

      📌 Parameters

      params:
        default: "y"
        user_input: ""
        expected_output: true
        expected_prompt: "Question? [Y/n] "
      id: "y--True-Question? [Y/n] "
      

      📌 Setup phase

      duration:

      0.00037735299702035263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007687420002184808
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00034235199564136565
      

      outcome:

      passed
      
    • Test 439
      params: default="n", user_input="y", expected_output=true, expected_prompt="Question? [y/N] "

      📌 Parameters

      params:
        default: "n"
        user_input: "y"
        expected_output: true
        expected_prompt: "Question? [y/N] "
      id: "n-y-True-Question? [y/N] "
      

      📌 Setup phase

      duration:

      0.0003854809983749874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008378089987672865
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002333899974473752
      

      outcome:

      passed
      
    • Test 440
      params: default="n", user_input="n", expected_output=false, expected_prompt="Question? [y/N] "

      📌 Parameters

      params:
        default: "n"
        user_input: "n"
        expected_output: false
        expected_prompt: "Question? [y/N] "
      id: "n-n-False-Question? [y/N] "
      

      📌 Setup phase

      duration:

      0.00040600299689685926
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006249900034163147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022134400205686688
      

      outcome:

      passed
      
    • Test 441
      params: default="n", user_input="", expected_output=false, expected_prompt="Question? [y/N] "

      📌 Parameters

      params:
        default: "n"
        user_input: ""
        expected_output: false
        expected_prompt: "Question? [y/N] "
      id: "n--False-Question? [y/N] "
      

      📌 Setup phase

      duration:

      0.0003761469997698441
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005586660045082681
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00033401000109734014
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 442
      params: default=null, user_input="<class 'KeyboardInterrupt'>", expected_output=false, ctrl_c="n"

      📌 Parameters

      params:
        default: null
        user_input: "<class 'KeyboardInterrupt'>"
        expected_output: false
        ctrl_c: "n"
      id: "None-KeyboardInterrupt-False-n"
      

      📌 Setup phase

      duration:

      0.0005304299993440509
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007558799989055842
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.0002216339998994954
      

      outcome:

      passed
      
    • Test 443
      params: default=null, user_input="<class 'KeyboardInterrupt'>", expected_output=true, ctrl_c="y"

      📌 Parameters

      params:
        default: null
        user_input: "<class 'KeyboardInterrupt'>"
        expected_output: true
        ctrl_c: "y"
      id: "None-KeyboardInterrupt-True-y"
      

      📌 Setup phase

      duration:

      0.0003787080058827996
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000619413003732916
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00022925299708731472
      

      outcome:

      passed
      
    • Test 444
      params: default="y", user_input="<class 'KeyboardInterrupt'>", expected_output=false, ctrl_c="n"

      📌 Parameters

      params:
        default: "y"
        user_input: "<class 'KeyboardInterrupt'>"
        expected_output: false
        ctrl_c: "n"
      id: "y-KeyboardInterrupt-False-n"
      

      📌 Setup phase

      duration:

      0.0005479419996845536
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00088887400488602
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.000333440002577845
      

      outcome:

      passed
      
    • Test 445
      params: default="y", user_input="<class 'KeyboardInterrupt'>", expected_output=true, ctrl_c="y"

      📌 Parameters

      params:
        default: "y"
        user_input: "<class 'KeyboardInterrupt'>"
        expected_output: true
        ctrl_c: "y"
      id: "y-KeyboardInterrupt-True-y"
      

      📌 Setup phase

      duration:

      0.0004262829970684834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006534030035254546
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00028316899988567457
      

      outcome:

      passed
      
    • Test 446
      params: default="n", user_input="<class 'KeyboardInterrupt'>", expected_output=false, ctrl_c="n"

      📌 Parameters

      params:
        default: "n"
        user_input: "<class 'KeyboardInterrupt'>"
        expected_output: false
        ctrl_c: "n"
      id: "n-KeyboardInterrupt-False-n"
      

      📌 Setup phase

      duration:

      0.0007679270056542009
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007948920028866269
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.0002513919971534051
      

      outcome:

      passed
      
    • Test 447
      params: default=null, user_input="['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]", expected_output=false, ctrl_c="n"

      📌 Parameters

      params:
        default: null
        user_input: "['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]"
        expected_output: false
        ctrl_c: "n"
      id: "None-user_input5-False-n"
      

      📌 Setup phase

      duration:

      0.0004038539991597645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006761839977116324
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00025390099472133443
      

      outcome:

      passed
      
    • Test 448
      params: default=null, user_input="['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]", expected_output=true, ctrl_c="y"

      📌 Parameters

      params:
        default: null
        user_input: "['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]"
        expected_output: true
        ctrl_c: "y"
      id: "None-user_input6-True-y"
      

      📌 Setup phase

      duration:

      0.00039252499846043065
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006249769940041006
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00023531099577667192
      

      outcome:

      passed
      
    • Test 449
      params: default=null, user_input="['foo', '', <class 'KeyboardInterrupt'>, '', 'invalid', <class 'KeyboardInterrupt'>, 'no']", expected_output=false, ctrl_c=null

      📌 Parameters

      params:
        default: null
        user_input: "['foo', '', <class 'KeyboardInterrupt'>, '', 'invalid', <class 'KeyboardInterrupt'>, 'no']"
        expected_output: false
        ctrl_c: null
      id: "None-user_input7-False-None"
      

      📌 Setup phase

      duration:

      0.0003726150025613606
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007774810001137666
      

      outcome:

      passed
      

      stdout:

      
      
      
      

      📌 Teardown phase

      duration:

      0.00023109299945645034
      

      outcome:

      passed
      
    • Test 450
      params: default="n", user_input="[<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']", expected_output=false, ctrl_c=null

      📌 Parameters

      params:
        default: "n"
        user_input: "[<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']"
        expected_output: false
        ctrl_c: null
      id: "n-user_input8-False-None"
      

      📌 Setup phase

      duration:

      0.00037455100391525775
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000639780999335926
      

      outcome:

      passed
      

      stdout:

      
      
      
      
      

      📌 Teardown phase

      duration:

      0.0002594579927972518
      

      outcome:

      passed
      
    • Test 451
      params: default="n", user_input="[<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']", expected_output=false, ctrl_c="Invalid"

      📌 Parameters

      params:
        default: "n"
        user_input: "[<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']"
        expected_output: false
        ctrl_c: "Invalid"
      id: "n-user_input9-False-Invalid"
      

      📌 Setup phase

      duration:

      0.0003770660041482188
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006222689989954233
      

      outcome:

      passed
      

      stdout:

      
      
      
      
      

      📌 Teardown phase

      duration:

      0.00022615800116909668
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 452
      params: default=null, user_input="<class 'EOFError'>", expected_output=false, ctrl_d="n"

      📌 Parameters

      params:
        default: null
        user_input: "<class 'EOFError'>"
        expected_output: false
        ctrl_d: "n"
      id: "None-EOFError-False-n"
      

      📌 Setup phase

      duration:

      0.0003995549996034242
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005740490014431998
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.0002324209999642335
      

      outcome:

      passed
      
    • Test 453
      params: default=null, user_input="<class 'EOFError'>", expected_output=true, ctrl_d="y"

      📌 Parameters

      params:
        default: null
        user_input: "<class 'EOFError'>"
        expected_output: true
        ctrl_d: "y"
      id: "None-EOFError-True-y"
      

      📌 Setup phase

      duration:

      0.0003785759981838055
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000709356005245354
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.0002347330009797588
      

      outcome:

      passed
      
    • Test 454
      params: default="y", user_input="<class 'EOFError'>", expected_output=true, ctrl_d="y"

      📌 Parameters

      params:
        default: "y"
        user_input: "<class 'EOFError'>"
        expected_output: true
        ctrl_d: "y"
      id: "y-EOFError-True-y"
      

      📌 Setup phase

      duration:

      0.00038346600194927305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005766489994130097
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00022195900237420574
      

      outcome:

      passed
      
    • Test 455
      params: default="n", user_input="<class 'EOFError'>", expected_output=true, ctrl_d="y"

      📌 Parameters

      params:
        default: "n"
        user_input: "<class 'EOFError'>"
        expected_output: true
        ctrl_d: "y"
      id: "n-EOFError-True-y"
      

      📌 Setup phase

      duration:

      0.0003790199989452958
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005905509970034473
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00023809900449123234
      

      outcome:

      passed
      
    • Test 456
      params: default="n", user_input="<class 'EOFError'>", expected_output=false, ctrl_d="n"

      📌 Parameters

      params:
        default: "n"
        user_input: "<class 'EOFError'>"
        expected_output: false
        ctrl_d: "n"
      id: "n-EOFError-False-n"
      

      📌 Setup phase

      duration:

      0.0005436409992398694
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007279560013557784
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.000228899996727705
      

      outcome:

      passed
      
    • Test 457
      params: default=null, user_input="['foo', <class 'EOFError'>]", expected_output=true, ctrl_d="y"

      📌 Parameters

      params:
        default: null
        user_input: "['foo', <class 'EOFError'>]"
        expected_output: true
        ctrl_d: "y"
      id: "None-user_input5-True-y"
      

      📌 Setup phase

      duration:

      0.0003805919986916706
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005989380006212741
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00023333200078923255
      

      outcome:

      passed
      
    • Test 458
      params: default=null, user_input="['foo', <class 'EOFError'>]", expected_output=false, ctrl_d="n"

      📌 Parameters

      params:
        default: null
        user_input: "['foo', <class 'EOFError'>]"
        expected_output: false
        ctrl_d: "n"
      id: "None-user_input6-False-n"
      

      📌 Setup phase

      duration:

      0.00037413400423247367
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006102650004322641
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.0002742280048551038
      

      outcome:

      passed
      
    • Test 459
      params: default="y", user_input="<class 'EOFError'>", expected_output=true, ctrl_d=null

      📌 Parameters

      params:
        default: "y"
        user_input: "<class 'EOFError'>"
        expected_output: true
        ctrl_d: null
      id: "y-EOFError-True-None"
      

      📌 Setup phase

      duration:

      0.000379885001166258
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005893220004509203
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00022266399901127443
      

      outcome:

      passed
      
    • Test 460
      params: default="n", user_input="<class 'EOFError'>", expected_output=false, ctrl_d=null

      📌 Parameters

      params:
        default: "n"
        user_input: "<class 'EOFError'>"
        expected_output: false
        ctrl_d: null
      id: "n-EOFError-False-None"
      

      📌 Setup phase

      duration:

      0.0003681559974211268
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006815460001234896
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00021947099594399333
      

      outcome:

      passed
      
    • Test 461
      params: default=null, user_input="['invalid', 'ok', '', <class 'EOFError'>, 'ok', 'y']", expected_output=true, ctrl_d=null

      📌 Parameters

      params:
        default: null
        user_input: "['invalid', 'ok', '', <class 'EOFError'>, 'ok', 'y']"
        expected_output: true
        ctrl_d: null
      id: "None-user_input9-True-None"
      

      📌 Setup phase

      duration:

      0.000370624999050051
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006122830018284731
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00021854099759366363
      

      outcome:

      passed
      
    • Test 462
      params: default="n", user_input="['no', <class 'EOFError'>]", expected_output=false, ctrl_d=null

      📌 Parameters

      params:
        default: "n"
        user_input: "['no', <class 'EOFError'>]"
        expected_output: false
        ctrl_d: null
      id: "n-user_input10-False-None"
      

      📌 Setup phase

      duration:

      0.0004451589993550442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005899359966861084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002225740026915446
      

      outcome:

      passed
      
    • Test 463
      params: default=null, user_input="[<class 'EOFError'>, <class 'EOFError'>, <class 'EOFError'>, 'y']", expected_output=true, ctrl_d=null

      📌 Parameters

      params:
        default: null
        user_input: "[<class 'EOFError'>, <class 'EOFError'>, <class 'EOFError'>, 'y']"
        expected_output: true
        ctrl_d: null
      id: "None-user_input11-True-None"
      

      📌 Setup phase

      duration:

      0.0003972300037276
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007533460011472926
      

      outcome:

      passed
      

      stdout:

      
      
      
      
      

      📌 Teardown phase

      duration:

      0.0002396140043856576
      

      outcome:

      passed
      
    • Test 464
      params: default=null, user_input="['invalid', '', 'nope', <class 'EOFError'>]", expected_output=false, ctrl_d="n"

      📌 Parameters

      params:
        default: null
        user_input: "['invalid', '', 'nope', <class 'EOFError'>]"
        expected_output: false
        ctrl_d: "n"
      id: "None-user_input12-False-n"
      

      📌 Setup phase

      duration:

      0.0003778629979933612
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006095259959693067
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00023226800112752244
      

      outcome:

      passed
      
    • Test 465
      params: default=null, user_input="['nope', 'nope', <class 'EOFError'>]", expected_output=true, ctrl_d="y"

      📌 Parameters

      params:
        default: null
        user_input: "['nope', 'nope', <class 'EOFError'>]"
        expected_output: true
        ctrl_d: "y"
      id: "None-user_input13-True-y"
      

      📌 Setup phase

      duration:

      0.0003725700007635169
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005984930030535907
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00022119400091469288
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 466
      params: default=null, ctrl_c="invalid", ctrl_d=null, user_input="['what', '', 'nope', <class 'KeyboardInterrupt'>, 'ok', <class 'EOFError'>, 'no']", expected_output=false

      📌 Parameters

      params:
        default: null
        ctrl_c: "invalid"
        ctrl_d: null
        user_input: "['what', '', 'nope', <class 'KeyboardInterrupt'>, 'ok', <class 'EOFError'>, 'no']"
        expected_output: false
      id: "None-invalid-None-user_input0-False"
      

      📌 Setup phase

      duration:

      0.0004269440032658167
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006330780015559867
      

      outcome:

      passed
      

      stdout:

      
      
      
      

      📌 Teardown phase

      duration:

      0.0002372070011915639
      

      outcome:

      passed
      
    • Test 467
      params: default=null, ctrl_c=null, ctrl_d="notananswer", user_input="['maybe', <class 'KeyboardInterrupt'>, 'nop', 'yep', <class 'EOFError'>, 'yes']", expected_output=true

      📌 Parameters

      params:
        default: null
        ctrl_c: null
        ctrl_d: "notananswer"
        user_input: "['maybe', <class 'KeyboardInterrupt'>, 'nop', 'yep', <class 'EOFError'>, 'yes']"
        expected_output: true
      id: "None-None-notananswer-user_input1-True"
      

      📌 Setup phase

      duration:

      0.0005305320009938441
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006236859990167432
      

      outcome:

      passed
      

      stdout:

      
      
      
      

      📌 Teardown phase

      duration:

      0.0002424830017844215
      

      outcome:

      passed
      
    • Test 468
      params: default=null, ctrl_c="n", ctrl_d="nop", user_input="['ok', <class 'EOFError'>, <class 'EOFError'>, 'maybe', <class 'EOFError'>, 'nah', <class 'KeyboardInterrupt'>]", expected_output=false

      📌 Parameters

      params:
        default: null
        ctrl_c: "n"
        ctrl_d: "nop"
        user_input: "['ok', <class 'EOFError'>, <class 'EOFError'>, 'maybe', <class 'EOFError'>, 'nah', <class 'KeyboardInterrupt'>]"
        expected_output: false
      id: "None-n-nop-user_input2-False"
      

      📌 Setup phase

      duration:

      0.0004168049999861978
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006712280010106042
      

      outcome:

      passed
      

      stdout:

      
      
      
      
      
      

      📌 Teardown phase

      duration:

      0.0002393929971731268
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 469

      📌 Setup phase

      duration:

      0.0001886429963633418
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00106215199775761
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015017200348665938
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 470

      📌 Setup phase

      duration:

      0.00018656500469660386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007049220002954826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015690500003984198
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 471

      📌 Setup phase

      duration:

      0.0001656889944570139
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007863200007705018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015139100287342444
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 472
      params: base_color="red"

      📌 Parameters

      params:
        base_color: "red"
      id: "red"
      

      📌 Setup phase

      duration:

      0.00034047199733322486
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022258399985730648
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001681990033830516
      

      outcome:

      passed
      
    • Test 473
      params: base_color="blue"

      📌 Parameters

      params:
        base_color: "blue"
      id: "blue"
      

      📌 Setup phase

      duration:

      0.00024313500034622848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019501900533214211
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016373899416066706
      

      outcome:

      passed
      
    • Test 474
      params: base_color="yellow"

      📌 Parameters

      params:
        base_color: "yellow"
      id: "yellow"
      

      📌 Setup phase

      duration:

      0.0002109319975716062
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018248899868922308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019207100558560342
      

      outcome:

      passed
      
    • Test 475
      params: base_color="green"

      📌 Parameters

      params:
        base_color: "green"
      id: "green"
      

      📌 Setup phase

      duration:

      0.00027653100551106036
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002413199981674552
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019013300334336236
      

      outcome:

      passed
      
    • Test 476
      params: base_color="cyan"

      📌 Parameters

      params:
        base_color: "cyan"
      id: "cyan"
      

      📌 Setup phase

      duration:

      0.00024164399656001478
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001996850041905418
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017716000002110377
      

      outcome:

      passed
      
    • Test 477
      params: base_color="magenta"

      📌 Parameters

      params:
        base_color: "magenta"
      id: "magenta"
      

      📌 Setup phase

      duration:

      0.00021011399803683162
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006856180043541826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018052099767373875
      

      outcome:

      passed
      
    • Test 478
      params: base_color="white"

      📌 Parameters

      params:
        base_color: "white"
      id: "white"
      

      📌 Setup phase

      duration:

      0.00023042399698169902
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019202799740014598
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001769419977790676
      

      outcome:

      passed
      
    • Test 479
      params: base_color="black"

      📌 Parameters

      params:
        base_color: "black"
      id: "black"
      

      📌 Setup phase

      duration:

      0.00022072700085118413
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020103099814150482
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001644930016482249
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

    • Test 480
      params: objects=[["Fancy", "list"], {"a": 7}, null], color_spec=["red", "+"], sep=" | ", expected_flatten="['Fancy', 'list'] | {'a': 7} | None", expected_error=null

      📌 Parameters

      params:
        objects: [["Fancy", "list"], {"a": 7}, null]
        color_spec: ["red", "+"]
        sep: " | "
        expected_flatten: "['Fancy', 'list'] | {'a': 7} | None"
        expected_error: null
      id: "objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None"
      

      📌 Setup phase

      duration:

      0.0005623749966616742
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002786390032269992
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030302700179163367
      

      outcome:

      passed
      
    • Test 481
      params: objects=[{"k": [1, 2]}, 99, ["X", ["Y"]]], color_spec=["blue", "++"], sep=" - ", expected_flatten="{'k': [1, 2]} - 99 - ['X', ['Y']]", expected_error=null

      📌 Parameters

      params:
        objects: [{"k": [1, 2]}, 99, ["X", ["Y"]]]
        color_spec: ["blue", "++"]
        sep: " - "
        expected_flatten: "{'k': [1, 2]} - 99 - ['X', ['Y']]"
        expected_error: null
      id: "objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None"
      

      📌 Setup phase

      duration:

      0.0005163800014997832
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002681960031623021
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027288400451652706
      

      outcome:

      passed
      
    • Test 482
      params: objects=[[], {}, "End"], color_spec=["magenta", "--"], sep=" / ", expected_flatten="[] / {} / End", expected_error=null

      📌 Parameters

      params:
        objects: [[], {}, "End"]
        color_spec: ["magenta", "--"]
        sep: " / "
        expected_flatten: "[] / {} / End"
        expected_error: null
      id: "objects2-color_spec2- / -[] / {} / End-None"
      

      📌 Setup phase

      duration:

      0.0005076109955552965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002659010060597211
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002832259997376241
      

      outcome:

      passed
      
    • Test 483
      params: objects=[["", [3, 4]], "done", 0], color_spec=["green", ""], sep=";", expected_flatten="['', [3, 4]];done;0", expected_error=null

      📌 Parameters

      params:
        objects: [["", [3, 4]], "done", 0]
        color_spec: ["green", ""]
        sep: ";"
        expected_flatten: "['', [3, 4]];done;0"
        expected_error: null
      id: "objects3-color_spec3-;-['', [3, 4]];done;0-None"
      

      📌 Setup phase

      duration:

      0.0005015850038034841
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025522899522911757
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029142100538592786
      

      outcome:

      passed
      
    • Test 484
      params: objects=[["alpha", null], ["beta", {}], "stop"], color_spec=["yellow", ""], sep="::", expected_flatten="['alpha', None]::['beta', {}]::stop", expected_error=null

      📌 Parameters

      params:
        objects: [["alpha", null], ["beta", {}], "stop"]
        color_spec: ["yellow", ""]
        sep: "::"
        expected_flatten: "['alpha', None]::['beta', {}]::stop"
        expected_error: null
      id: "objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None"
      

      📌 Setup phase

      duration:

      0.0005112250000820495
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002560240027378313
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002909009999711998
      

      outcome:

      passed
      
    • Test 485
      params: objects=[["deep", ["deeper", ["deepest"]]], "X"], color_spec=["cyan", "+"], sep=" ... ", expected_flatten="['deep', ['deeper', ['deepest']]] ... X", expected_error=null

      📌 Parameters

      params:
        objects: [["deep", ["deeper", ["deepest"]]], "X"]
        color_spec: ["cyan", "+"]
        sep: " ... "
        expected_flatten: "['deep', ['deeper', ['deepest']]] ... X"
        expected_error: null
      id: "objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None"
      

      📌 Setup phase

      duration:

      0.000492598999699112
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003012829984072596
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028388999635353684
      

      outcome:

      passed
      
    • Test 486
      params: objects=[{"dict": {"nested": [4, 5]}}, [true, false], 6.28], color_spec=["white", "++"], sep=" // ", expected_flatten="{'dict': {'nested': [4, 5]}} // [True, False] // 6.28", expected_error=null

      📌 Parameters

      params:
        objects: [{"dict": {"nested": [4, 5]}}, [true, false], 6.28]
        color_spec: ["white", "++"]
        sep: " // "
        expected_flatten: "{'dict': {'nested': [4, 5]}} // [True, False] // 6.28"
        expected_error: null
      id: "objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None"
      

      📌 Setup phase

      duration:

      0.0005028209998272359
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026505899586481974
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003657929992186837
      

      outcome:

      passed
      
    • Test 487
      params: objects=[["A", ["B"]], "string", "C"], color_spec=["red", "--"], sep="==", expected_flatten="['A', ['B']]==string==C", expected_error=null

      📌 Parameters

      params:
        objects: [["A", ["B"]], "string", "C"]
        color_spec: ["red", "--"]
        sep: "=="
        expected_flatten: "['A', ['B']]==string==C"
        expected_error: null
      id: "objects7-color_spec7-==-['A', ['B']]==string==C-None"
      

      📌 Setup phase

      duration:

      0.0005140869980095886
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002540420027798973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002856439969036728
      

      outcome:

      passed
      
    • Test 488
      params: objects=[["Test", null, []], {"v": 0}], color_spec=["green", "++"], sep=" ++ ", expected_flatten="['Test', None, []] ++ {'v': 0}", expected_error=null

      📌 Parameters

      params:
        objects: [["Test", null, []], {"v": 0}]
        color_spec: ["green", "++"]
        sep: " ++ "
        expected_flatten: "['Test', None, []] ++ {'v': 0}"
        expected_error: null
      id: "objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None"
      

      📌 Setup phase

      duration:

      0.0005038000017520972
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026010900182882324
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028655400092247874
      

      outcome:

      passed
      
    • Test 489
      params: objects=[["no", "color"], "plain"], color_spec=null, sep=";", expected_flatten="['no', 'color'];plain", expected_error=null

      📌 Parameters

      params:
        objects: [["no", "color"], "plain"]
        color_spec: null
        sep: ";"
        expected_flatten: "['no', 'color'];plain"
        expected_error: null
      id: "objects9-None-;-['no', 'color'];plain-None"
      

      📌 Setup phase

      duration:

      0.0005622530006803572
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025742000434547663
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002826830022968352
      

      outcome:

      passed
      
    • Test 490
      params: objects=[["simple"], "", 12], color_spec=null, sep=" | ", expected_flatten="['simple'] | | 12", expected_error=null

      📌 Parameters

      params:
        objects: [["simple"], "", 12]
        color_spec: null
        sep: " | "
        expected_flatten: "['simple'] |  | 12"
        expected_error: null
      id: "objects10-None- | -['simple'] |  | 12-None"
      

      📌 Setup phase

      duration:

      0.0005099970003357157
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026079399685841054
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030882599821779877
      

      outcome:

      passed
      
    • Test 491
      params: objects=[[["very", "deep"]], {"ok": true}], color_spec=null, sep=" : ", expected_flatten="[['very', 'deep']] : {'ok': True}", expected_error=null

      📌 Parameters

      params:
        objects: [[["very", "deep"]], {"ok": true}]
        color_spec: null
        sep: " : "
        expected_flatten: "[['very', 'deep']] : {'ok': True}"
        expected_error: null
      id: "objects11-None- : -[['very', 'deep']] : {'ok': True}-None"
      

      📌 Setup phase

      duration:

      0.0005212209944147617
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002492159983376041
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027972800307907164
      

      outcome:

      passed
      
    • Test 492
      params: objects=[["fail", "color"], 123], color_spec=["green", "!!"], sep="|", expected_flatten="['fail', 'color']|123", expected_error="<class 'ValueError'>"

      📌 Parameters

      params:
        objects: [["fail", "color"], 123]
        color_spec: ["green", "!!"]
        sep: "|"
        expected_flatten: "['fail', 'color']|123"
        expected_error: "<class 'ValueError'>"
      id: "objects12-color_spec12-|-['fail', 'color']|123-ValueError"
      

      📌 Setup phase

      duration:

      0.000496831999043934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002825499977916479
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003025599944521673
      

      outcome:

      passed
      
    • Test 493
      params: objects=[["error"], {}], color_spec=["cyan", "xxx"], sep=" * ", expected_flatten="['error'] * {}", expected_error="<class 'ValueError'>"

      📌 Parameters

      params:
        objects: [["error"], {}]
        color_spec: ["cyan", "xxx"]
        sep: " * "
        expected_flatten: "['error'] * {}"
        expected_error: "<class 'ValueError'>"
      id: "objects13-color_spec13- * -['error'] * {}-ValueError"
      

      📌 Setup phase

      duration:

      0.0005159329957677983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002706240047700703
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002865429996745661
      

      outcome:

      passed
      
    • Test 494
      params: objects=[["nope"], ["bad"]], color_spec=["magenta", "invalid"], sep="//", expected_flatten="['nope']//['bad']", expected_error="<class 'ValueError'>"

      📌 Parameters

      params:
        objects: [["nope"], ["bad"]]
        color_spec: ["magenta", "invalid"]
        sep: "//"
        expected_flatten: "['nope']//['bad']"
        expected_error: "<class 'ValueError'>"
      id: "objects14-color_spec14-//-['nope']//['bad']-ValueError"
      

      📌 Setup phase

      duration:

      0.0005597940034931526
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000470942999527324
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003662289964267984
      

      outcome:

      passed
      
    • Test 495
      params: objects=["wrong", "base"], color_spec=["notacolor", ""], sep="--", expected_flatten="wrong--base", expected_error="<class 'ValueError'>"

      📌 Parameters

      params:
        objects: ["wrong", "base"]
        color_spec: ["notacolor", ""]
        sep: "--"
        expected_flatten: "wrong--base"
        expected_error: "<class 'ValueError'>"
      id: "objects15-color_spec15----wrong--base-ValueError"
      

      📌 Setup phase

      duration:

      0.0006464690013672225
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000469569000415504
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000322081999911461
      

      outcome:

      passed
      
  • 📄 test_utils_dbusnotify.py

    Function: test_notify_create

    • Test 496

      📌 Setup phase

      duration:

      0.000757606998377014
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0057022580003831536
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002657739969436079
      

      outcome:

      passed
      

    Function: test_notify_update

    • Test 497

      📌 Setup phase

      duration:

      0.00022102799994172528
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01835866599867586
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025350200303364545
      

      outcome:

      passed
      

    Function: test_get_server_info

    • Test 498

      📌 Setup phase

      duration:

      0.00025446699874009937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00055590299598407
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016260300617432222
      

      outcome:

      passed
      

    Function: test_get_capabilities

    • Test 499

      📌 Setup phase

      duration:

      0.00019258000247646123
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005295969967846759
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017115400260081515
      

      outcome:

      passed
      

    Function: test_notify_and_close

    • Test 500

      📌 Setup phase

      duration:

      0.00025483100034762174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20551503699971363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002881640029954724
      

      outcome:

      passed
      

    Function: test_notify_invalid_value

    • Test 501

      📌 Setup phase

      duration:

      0.0003283890036982484
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006233520034584217
      

      outcome:

      passed
      

      log:

      -   name: dbus.connection
        msg: Unable to set arguments ('', 0, '', 'Invalid Test', 1234, (), {}, 0) according to signature 'susssasa{sv}i': <class 'TypeError'>: Expected a string or unicode object
        args: []
        levelname: ERROR
        levelno: 40
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/dbus/connection.py
        filename: connection.py
        module: connection
        exc_info: []
        exc_text: []
        stack_info: []
        lineno: 628
        funcName: call_blocking
        created: 1769052432.9331157
        msecs: 933.1157207489014
        relativeCreated: 13298.306941986084
        thread: 139992705885696
        threadName: MainThread
        processName: MainProcess
        process: 4106
      

      📌 Teardown phase

      duration:

      0.00031824100005906075
      

      outcome:

      passed
      

    Function: test_convert_dbus_strings

    • Test 502

      📌 Setup phase

      duration:

      0.0001607369995326735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024165899958461523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014726800145581365
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 503
      params: cls="<class 'test_utils_debug.A'>", entry=[[10, 20], {}], expected="creating: A(10, 20)"

      📌 Parameters

      params:
        cls: "<class 'test_utils_debug.A'>"
        entry: [[10, 20], {}]
        expected: "creating: A(10, 20)"
      id: "A-entry0-creating: A(10, 20)"
      

      📌 Setup phase

      duration:

      0.0003866949991788715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010013569990405813
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021483300224645063
      

      outcome:

      passed
      
    • Test 504
      params: cls="<class 'test_utils_debug.A'>", entry=[[10, 20], {"e": 100}], expected="creating: A(10, 20, e=100)"

      📌 Parameters

      params:
        cls: "<class 'test_utils_debug.A'>"
        entry: [[10, 20], {"e": 100}]
        expected: "creating: A(10, 20, e=100)"
      id: "A-entry1-creating: A(10, 20, e=100)"
      

      📌 Setup phase

      duration:

      0.00037768100446555763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010043920046882704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002189250008086674
      

      outcome:

      passed
      
    • Test 505
      params: cls="<class 'test_utils_debug.A'>", entry=[["foo", [1, 2, 3]], {"flag": true, "data": {"x": 9}}], expected="creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"

      📌 Parameters

      params:
        cls: "<class 'test_utils_debug.A'>"
        entry: [["foo", [1, 2, 3]], {"flag": true, "data": {"x": 9}}]
        expected: "creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"
      id: "A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"
      

      📌 Setup phase

      duration:

      0.00032484199618920684
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008623140020063147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021134300186531618
      

      outcome:

      passed
      
    • Test 506
      params: cls="<class 'test_utils_debug.A'>", entry="([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'})", expected="creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"

      📌 Parameters

      params:
        cls: "<class 'test_utils_debug.A'>"
        entry: "([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'})"
        expected: "creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"
      id: "A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"
      

      📌 Setup phase

      duration:

      0.0003398789995117113
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000930827998672612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022111499856691808
      

      outcome:

      passed
      
    • Test 507
      params: cls="<class 'test_utils_debug.A'>", entry=[["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", [0, 0, 0, 0, 0]], {}], expected="creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"

      📌 Parameters

      params:
        cls: "<class 'test_utils_debug.A'>"
        entry: [["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", [0, 0, 0, 0, 0]], {}]
        expected: "creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"
      id: "A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"
      

      📌 Setup phase

      duration:

      0.00033153199910884723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008197319984901696
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002144919999409467
      

      outcome:

      passed
      

    Function: test_short_repr

    • Test 508
      params: value="abc", cutoff=10, expected="'abc'"

      📌 Parameters

      params:
        value: "abc"
        cutoff: 10
        expected: "'abc'"
      id: "abc-10-'abc'"
      

      📌 Setup phase

      duration:

      0.0003386469979886897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019484500080579892
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002092040012939833
      

      outcome:

      passed
      
    • Test 510
      params: value=12345, cutoff=10, expected="12345"

      📌 Parameters

      params:
        value: 12345
        cutoff: 10
        expected: "12345"
      id: "12345-10-12345"
      

      📌 Setup phase

      duration:

      0.0003599179981392808
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018776399519992992
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001929989957716316
      

      outcome:

      passed
      
    • Test 511
      params: value=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], cutoff=15, expected="[0, 0, 0, 0, 0,..."

      📌 Parameters

      params:
        value: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
        cutoff: 15
        expected: "[0, 0, 0, 0, 0,..."
      id: "value3-15-[0, 0, 0, 0, 0,..."
      

      📌 Setup phase

      duration:

      0.00032112200278788805
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001840999975684099
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019644900021376088
      

      outcome:

      passed
      
    • Test 512
      params: value=null, cutoff=10, expected="None"

      📌 Parameters

      params:
        value: null
        cutoff: 10
        expected: "None"
      id: "None-10-None"
      

      📌 Setup phase

      duration:

      0.0003001299992320128
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000187256999197416
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019273799989605322
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 514
      params: data={"x": 1, "y": 2}, attr="x", expected=1

      📌 Parameters

      params:
        data: {"x": 1, "y": 2}
        attr: "x"
        expected: 1
      id: "data0-x-1"
      

      📌 Setup phase

      duration:

      0.0003666740012704395
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020011800370411947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001988340009120293
      

      outcome:

      passed
      
    • Test 515
      params: data={"world": "ok"}, attr="world", expected="ok"

      📌 Parameters

      params:
        data: {"world": "ok"}
        attr: "world"
        expected: "ok"
      id: "data1-world-ok"
      

      📌 Setup phase

      duration:

      0.00030399300158023834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001929560021380894
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001904559976537712
      

      outcome:

      passed
      
    • Test 516
      params: data={"outer": {"inner": 42}}, attr="outer", expected={"inner": 42}

      📌 Parameters

      params:
        data: {"outer": {"inner": 42}}
        attr: "outer"
        expected: {"inner": 42}
      id: "data2-outer-expected2"
      

      📌 Setup phase

      duration:

      0.0003082750044995919
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017079200188163668
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001972579993889667
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

    • Test 517
      params: initial={}, attr="nouveau", value=123

      📌 Parameters

      params:
        initial: {}
        attr: "nouveau"
        value: 123
      id: "initial0-nouveau-123"
      

      📌 Setup phase

      duration:

      0.00031011200189823285
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017761900380719453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018912999803433195
      

      outcome:

      passed
      
    • Test 518
      params: initial={"a": 1}, attr="b", value="valeur"

      📌 Parameters

      params:
        initial: {"a": 1}
        attr: "b"
        value: "valeur"
      id: "initial1-b-valeur"
      

      📌 Setup phase

      duration:

      0.0003039980001631193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001894570013973862
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019661500118672848
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

    • Test 519
      params: initial={"a": 1, "b": 2}, to_del="a", expected_keys=["b"]

      📌 Parameters

      params:
        initial: {"a": 1, "b": 2}
        to_del: "a"
        expected_keys: ["b"]
      id: "initial0-a-expected_keys0"
      

      📌 Setup phase

      duration:

      0.00031868099904386327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022064000222599134
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001865700032794848
      

      outcome:

      passed
      
    • Test 520
      params: initial={"k": "v"}, to_del="k", expected_keys=[]

      📌 Parameters

      params:
        initial: {"k": "v"}
        to_del: "k"
        expected_keys: []
      id: "initial1-k-expected_keys1"
      

      📌 Setup phase

      duration:

      0.0003118879976682365
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000212542996450793
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019133299792883918
      

      outcome:

      passed
      

    Function: test_attrdict_dir

    • Test 521
      params: data={"alpha": 1, "beta": 2}, expected_keys="{'beta', 'alpha'}"

      📌 Parameters

      params:
        data: {"alpha": 1, "beta": 2}
        expected_keys: "{'beta', 'alpha'}"
      id: "data0-expected_keys0"
      

      📌 Setup phase

      duration:

      0.0002488919999450445
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001856640010373667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018421300046611577
      

      outcome:

      passed
      
    • Test 522
      params: data={}, expected_keys="set()"

      📌 Parameters

      params:
        data: {}
        expected_keys: "set()"
      id: "data1-expected_keys1"
      

      📌 Setup phase

      duration:

      0.0002793909952742979
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002055750010185875
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001674230006756261
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 523
      params: data={"x": 1, "y": 2}, attr="x", expect_value=1, expect_error=null

      📌 Parameters

      params:
        data: {"x": 1, "y": 2}
        attr: "x"
        expect_value: 1
        expect_error: null
      id: "data0-x-1-None"
      

      📌 Setup phase

      duration:

      0.00035493000177666545
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017465299606556073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021330999879864976
      

      outcome:

      passed
      
    • Test 524
      params: data={"number": 42}, attr="missing", expect_value=null, expect_error="'MyDict' object has no attribute 'missing'"

      📌 Parameters

      params:
        data: {"number": 42}
        attr: "missing"
        expect_value: null
        expect_error: "'MyDict' object has no attribute 'missing'"
      id: "data1-missing-None-'MyDict' object has no attribute 'missing'"
      

      📌 Setup phase

      duration:

      0.0003571130000636913
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022769299539504573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022108600387582555
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

    • Test 525
      params: init_kwargs={"a": 1, "b": 2}, other=null, kwargs={}, expected={"a": 1, "b": 2}

      📌 Parameters

      params:
        init_kwargs: {"a": 1, "b": 2}
        other: null
        kwargs: {}
        expected: {"a": 1, "b": 2}
      id: "init_kwargs0-None-kwargs0-expected0"
      

      📌 Setup phase

      duration:

      0.0003655769978649914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019157399947289377
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002165120022254996
      

      outcome:

      passed
      
    • Test 526
      params: init_kwargs={}, other={"x": 10, "y": 20}, kwargs={}, expected={"x": 10, "y": 20}

      📌 Parameters

      params:
        init_kwargs: {}
        other: {"x": 10, "y": 20}
        kwargs: {}
        expected: {"x": 10, "y": 20}
      id: "init_kwargs1-other1-kwargs1-expected1"
      

      📌 Setup phase

      duration:

      0.0003560640034265816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019855799473589286
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020116099767619744
      

      outcome:

      passed
      
    • Test 527
      params: init_kwargs={"world": "ok"}, other={"number": 42}, kwargs={"num2": 100}, expected={"world": "ok", "number": 42, "num2": 100}

      📌 Parameters

      params:
        init_kwargs: {"world": "ok"}
        other: {"number": 42}
        kwargs: {"num2": 100}
        expected: {"world": "ok", "number": 42, "num2": 100}
      id: "init_kwargs2-other2-kwargs2-expected2"
      

      📌 Setup phase

      duration:

      0.0003612039945437573
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018815399380400777
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021312000171747059
      

      outcome:

      passed
      
    • Test 528
      params: init_kwargs={}, other=null, kwargs={"alpha": "beta"}, expected={"alpha": "beta"}

      📌 Parameters

      params:
        init_kwargs: {}
        other: null
        kwargs: {"alpha": "beta"}
        expected: {"alpha": "beta"}
      id: "init_kwargs3-None-kwargs3-expected3"
      

      📌 Setup phase

      duration:

      0.0003508040026645176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000186798999493476
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002119390046573244
      

      outcome:

      passed
      
    • Test 529
      params: init_kwargs={}, other={"key": "value"}, kwargs={"extra": 1}, expected={"key": "value", "extra": 1}

      📌 Parameters

      params:
        init_kwargs: {}
        other: {"key": "value"}
        kwargs: {"extra": 1}
        expected: {"key": "value", "extra": 1}
      id: "init_kwargs4-other4-kwargs4-expected4"
      

      📌 Setup phase

      duration:

      0.00035068499710178003
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018529299995861948
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020886200218228623
      

      outcome:

      passed
      
    • Test 530
      params: init_kwargs={}, other=[["key", "value"], ["list", [5, 6]]], kwargs={"extra": {"subkey": 123}}, expected={"key": "value", "list": [5, 6], "extra": {"subkey": 123}}

      📌 Parameters

      params:
        init_kwargs: {}
        other: [["key", "value"], ["list", [5, 6]]]
        kwargs: {"extra": {"subkey": 123}}
        expected: {"key": "value", "list": [5, 6], "extra": {"subkey": 123}}
      id: "init_kwargs5-other5-kwargs5-expected5"
      

      📌 Setup phase

      duration:

      0.0003586829989217222
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003443989990046248
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002324619999853894
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 531

      📌 Setup phase

      duration:

      0.000993513996945694
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003455830010352656
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002517890025046654
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 532

      📌 Setup phase

      duration:

      0.0008910359974834137
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028866199863841757
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025404499319847673
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 533

      📌 Setup phase

      duration:

      0.0007810770039213821
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002963939987239428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024234200100181624
      

      outcome:

      passed
      
  • 📄 test_utils_duo.py

    Function: TestPickledDictReal

    • Test 534

      📌 Setup phase

      duration:

      0.00016612900071777403
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002783128002192825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016345700714737177
      

      outcome:

      passed
      
    • Test 535

      📌 Setup phase

      duration:

      0.0001806290019885637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011999899943475612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015727699792478234
      

      outcome:

      passed
      

    Function: TestSecrets

    • Test 536

      📌 Setup phase

      duration:

      0.0006838569970568642
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010541430019657128
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0021695760005968623
      

      outcome:

      passed
      
    • Test 537

      📌 Setup phase

      duration:

      0.0007760399967082776
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0018239890050608665
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004253689985489473
      

      outcome:

      passed
      
    • Test 538

      📌 Setup phase

      duration:

      0.0006955939970794134
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008290779951494187
      

      outcome:

      passed
      

      stdout:

      
      
      

      📌 Teardown phase

      duration:

      0.00039047899917932227
      

      outcome:

      passed
      

    Function: test_get_pgroup_raises_if_no_key

    • Test 539

      📌 Setup phase

      duration:

      0.0002484090000507422
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00044215699745109305
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017283199849771336
      

      outcome:

      passed
      

    Function: test_get_pgroup_info_with_props_same_name_and_pi

    • Test 540

      📌 Setup phase

      duration:

      0.00023619600688107312
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002417029973003082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018217600154457614
      

      outcome:

      passed
      

    Function: test_get_pgroup_info_with_props_different_pi

    • Test 541

      📌 Setup phase

      duration:

      0.0002075749944197014
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020692600082838908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016472899733344093
      

      outcome:

      passed
      

    Function: test_get_pgroup_info_without_props_with_owner

    • Test 542

      📌 Setup phase

      duration:

      0.0002103469960275106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021896500402363017
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016073200094979256
      

      outcome:

      passed
      

    Function: test_get_pgroup_info_without_props_no_owner

    • Test 543

      📌 Setup phase

      duration:

      0.0002101660065818578
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021755200577899814
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016472599963890389
      

      outcome:

      passed
      

    Function: test_get_pgroup_info_mock

    • Test 544

      📌 Setup phase

      duration:

      0.00022299899865174666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020066000433871523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016808699729153886
      

      outcome:

      passed
      
  • 📄 test_utils_elog.py

    Function: test_get_default_elog_instance_with_direct_password_and_real_check

    • Test 545

      📌 Setup phase

      duration:

      0.00015953299589455128
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.025386705994606018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022760999854654074
      

      outcome:

      passed
      

    Function: test_get_default_elog_instance_with_wrong_password_and_real_check

    • Test 546

      📌 Setup phase

      duration:

      0.00019747899932553992
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.006456814000557642
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002120749995810911
      

      outcome:

      passed
      

    Function: test_get_default_elog_instance_asks_password

    • Test 547

      📌 Setup phase

      duration:

      0.00017189199570566416
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.015059885998198297
      

      outcome:

      passed
      

      stdout:

      Enter elog password for user: robot
      
      

      📌 Teardown phase

      duration:

      0.0003327919985167682
      

      outcome:

      passed
      

    Function: test_get_default_elog_with_path_home

    • Test 548

      📌 Setup phase

      duration:

      0.00019707300089066848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01621874899865361
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022653400083072484
      

      outcome:

      passed
      
  • 📄 test_utils_eval.py

    Function: test_arithmetic_eval_valid

    • Test 550
      params: expr="1 + 2", expected=3

      📌 Parameters

      params:
        expr: "1 + 2"
        expected: 3
      id: "1 + 2-3"
      

      📌 Setup phase

      duration:

      0.00039750099676894024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002519310000934638
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021730199659941718
      

      outcome:

      passed
      
    • Test 551
      params: expr="4 - 2", expected=2

      📌 Parameters

      params:
        expr: "4 - 2"
        expected: 2
      id: "4 - 2-2"
      

      📌 Setup phase

      duration:

      0.0002891729964176193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000224397997953929
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000191068000276573
      

      outcome:

      passed
      
    • Test 552
      params: expr="3 * 5", expected=15

      📌 Parameters

      params:
        expr: "3 * 5"
        expected: 15
      id: "3 * 5-15"
      

      📌 Setup phase

      duration:

      0.0002884310015360825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019661199621623382
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001733270037220791
      

      outcome:

      passed
      
    • Test 553
      params: expr="10 / 2", expected=5.0

      📌 Parameters

      params:
        expr: "10 / 2"
        expected: 5.0
      id: "10 / 2-5.0"
      

      📌 Setup phase

      duration:

      0.00027009199402527884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020126900199102238
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019272299687145278
      

      outcome:

      passed
      
    • Test 554
      params: expr="10 % 3", expected=1

      📌 Parameters

      params:
        expr: "10 % 3"
        expected: 1
      id: "10 % 3-1"
      

      📌 Setup phase

      duration:

      0.0002523869989090599
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002035630022874102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017730099352775142
      

      outcome:

      passed
      
    • Test 555
      params: expr="-5", expected=-5

      📌 Parameters

      params:
        expr: "-5"
        expected: -5
      id: "-5--5"
      

      📌 Setup phase

      duration:

      0.00025205100246239454
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019052800053032115
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001802240003598854
      

      outcome:

      passed
      
    • Test 556
      params: expr="+7", expected=7

      📌 Parameters

      params:
        expr: "+7"
        expected: 7
      id: "+7-7"
      

      📌 Setup phase

      duration:

      0.0002746230020420626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018926000484498218
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016812499961815774
      

      outcome:

      passed
      
    • Test 557
      params: expr="1 + 2 * 3", expected=7

      📌 Parameters

      params:
        expr: "1 + 2 * 3"
        expected: 7
      id: "1 + 2 * 3-7"
      

      📌 Setup phase

      duration:

      0.0002498059984645806
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001936839980771765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021456399554153904
      

      outcome:

      passed
      
    • Test 558
      params: expr="(1 + 2) * 3", expected=9

      📌 Parameters

      params:
        expr: "(1 + 2) * 3"
        expected: 9
      id: "(1 + 2) * 3-9"
      

      📌 Setup phase

      duration:

      0.00025736799580045044
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021116800053277984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001817840020521544
      

      outcome:

      passed
      
    • Test 559
      params: expr="-(-3)", expected=3

      📌 Parameters

      params:
        expr: "-(-3)"
        expected: 3
      id: "-(-3)-3"
      

      📌 Setup phase

      duration:

      0.0002551419966039248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000199756002984941
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019046300440095365
      

      outcome:

      passed
      
    • Test 560
      params: expr="-2 + 4 * 2", expected=6

      📌 Parameters

      params:
        expr: "-2 + 4 * 2"
        expected: 6
      id: "-2 + 4 * 2-6"
      

      📌 Setup phase

      duration:

      0.000276281003607437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020861299708485603
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017661200399743393
      

      outcome:

      passed
      
    • Test 561
      params: expr="(4 + 5) * (6 - 1)", expected=45

      📌 Parameters

      params:
        expr: "(4 + 5) * (6 - 1)"
        expected: 45
      id: "(4 + 5) * (6 - 1)-45"
      

      📌 Setup phase

      duration:

      0.0002616760029923171
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020044000120833516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021691499568987638
      

      outcome:

      passed
      
    • Test 562
      params: expr="(((3)))", expected=3

      📌 Parameters

      params:
        expr: "(((3)))"
        expected: 3
      id: "(((3)))-3"
      

      📌 Setup phase

      duration:

      0.00026743199850898236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020242099708411843
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017166299949167296
      

      outcome:

      passed
      
    • Test 563
      params: expr="-(-(-2))", expected=-2

      📌 Parameters

      params:
        expr: "-(-(-2))"
        expected: -2
      id: "-(-(-2))--2"
      

      📌 Setup phase

      duration:

      0.00026921700191451237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001986880015465431
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001729220020934008
      

      outcome:

      passed
      
    • Test 564
      params: expr="3 + +4", expected=7

      📌 Parameters

      params:
        expr: "3 + +4"
        expected: 7
      id: "3 + +4-7"
      

      📌 Setup phase

      duration:

      0.00025163800455629826
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019758999405894428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001934829997480847
      

      outcome:

      passed
      
    • Test 565
      params: expr="3 + -4", expected=-1

      📌 Parameters

      params:
        expr: "3 + -4"
        expected: -1
      id: "3 + -4--1"
      

      📌 Setup phase

      duration:

      0.00026151700149057433
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019190100283594802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017452599422540516
      

      outcome:

      passed
      
    • Test 566
      params: expr="True + 1", expected=2

      📌 Parameters

      params:
        expr: "True + 1"
        expected: 2
      id: "True + 1-2"
      

      📌 Setup phase

      duration:

      0.0002540140048949979
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021214900334598497
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019924499792978168
      

      outcome:

      passed
      
    • Test 567
      params: expr="'string'", expected="string"

      📌 Parameters

      params:
        expr: "'string'"
        expected: "string"
      id: "'string'-string"
      

      📌 Setup phase

      duration:

      0.0002768499980447814
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001823090060497634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017861000378616154
      

      outcome:

      passed
      
    • Test 568
      params: expr="1e1000 * 1e1000", expected=Infinity

      📌 Parameters

      params:
        expr: "1e1000 * 1e1000"
        expected: Infinity
      id: "1e1000 * 1e1000-inf"
      

      📌 Setup phase

      duration:

      0.00026497399812797084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018867000471800566
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001840249969973229
      

      outcome:

      passed
      
    • Test 569
      params: expr="'a' + 'b'", expected="ab"

      📌 Parameters

      params:
        expr: "'a' + 'b'"
        expected: "ab"
      id: "'a' + 'b'-ab"
      

      📌 Setup phase

      duration:

      0.0002627240028232336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001944699979503639
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017764799849828705
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_raises_with_message

    • Test 570
      params: expr="2 ** 3", expected_message="Unsupported BinOp Pow"

      📌 Parameters

      params:
        expr: "2 ** 3"
        expected_message: "Unsupported BinOp Pow"
      id: "2 ** 3-Unsupported BinOp Pow"
      

      📌 Setup phase

      duration:

      0.0002586499977041967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043985700176563114
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001784209962352179
      

      outcome:

      passed
      
    • Test 571
      params: expr="3 << 1", expected_message="Unsupported BinOp LShift"

      📌 Parameters

      params:
        expr: "3 << 1"
        expected_message: "Unsupported BinOp LShift"
      id: "3 << 1-Unsupported BinOp LShift"
      

      📌 Setup phase

      duration:

      0.00025812000239966437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004155370043008588
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018647500110091642
      

      outcome:

      passed
      
    • Test 572
      params: expr="1 < 2", expected_message="Unsupported node type Compare"

      📌 Parameters

      params:
        expr: "1 < 2"
        expected_message: "Unsupported node type Compare"
      id: "1 < 2-Unsupported node type Compare"
      

      📌 Setup phase

      duration:

      0.00025898500462062657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040414700197288767
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001887539983727038
      

      outcome:

      passed
      
    • Test 573
      params: expr="abs(3)", expected_message="Unsupported node type Call"

      📌 Parameters

      params:
        expr: "abs(3)"
        expected_message: "Unsupported node type Call"
      id: "abs(3)-Unsupported node type Call"
      

      📌 Setup phase

      duration:

      0.0002674080024007708
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039792499592294917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018192699644714594
      

      outcome:

      passed
      
    • Test 574
      params: expr="a + 2", expected_message="Unsupported node type Name"

      📌 Parameters

      params:
        expr: "a + 2"
        expected_message: "Unsupported node type Name"
      id: "a + 2-Unsupported node type Name"
      

      📌 Setup phase

      duration:

      0.0002558389969635755
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003720339955179952
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001785280037438497
      

      outcome:

      passed
      
    • Test 575
      params: expr="string", expected_message="Unsupported node type Name"

      📌 Parameters

      params:
        expr: "string"
        expected_message: "Unsupported node type Name"
      id: "string-Unsupported node type Name"
      

      📌 Setup phase

      duration:

      0.00025982599618146196
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022189199808053672
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018249399727210402
      

      outcome:

      passed
      
    • Test 576
      params: expr="[1, 2] + [3]", expected_message="Unsupported node type List"

      📌 Parameters

      params:
        expr: "[1, 2] + [3]"
        expected_message: "Unsupported node type List"
      id: "[1, 2] + [3]-Unsupported node type List"
      

      📌 Setup phase

      duration:

      0.0002477290036040358
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003926900026272051
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001783699990483001
      

      outcome:

      passed
      
    • Test 577
      params: expr="{1: 2}", expected_message="Unsupported node type Dict"

      📌 Parameters

      params:
        expr: "{1: 2}"
        expected_message: "Unsupported node type Dict"
      id: "{1: 2}-Unsupported node type Dict"
      

      📌 Setup phase

      duration:

      0.00026137800159631297
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000509983001393266
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020666599448304623
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_runtime_errors

    • Test 578
      params: expr="1 / 0", exception="<class 'ZeroDivisionError'>"

      📌 Parameters

      params:
        expr: "1 / 0"
        exception: "<class 'ZeroDivisionError'>"
      id: "1 / 0-ZeroDivisionError"
      

      📌 Setup phase

      duration:

      0.0002633219992276281
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002253459970233962
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019048899412155151
      

      outcome:

      passed
      
    • Test 579
      params: expr="10 % 0", exception="<class 'ZeroDivisionError'>"

      📌 Parameters

      params:
        expr: "10 % 0"
        exception: "<class 'ZeroDivisionError'>"
      id: "10 % 0-ZeroDivisionError"
      

      📌 Setup phase

      duration:

      0.00026243300089845434
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021544100309256464
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017810900317272171
      

      outcome:

      passed
      

    Function: test_forgiving_eval

    • Test 580
      params: expr="1 + 2", expected=3

      📌 Parameters

      params:
        expr: "1 + 2"
        expected: 3
      id: "1 + 2-3"
      

      📌 Setup phase

      duration:

      0.0002660469981492497
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019392599642742425
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017047300207195804
      

      outcome:

      passed
      
    • Test 581
      params: expr="bad + 2", expected="bad + 2"

      📌 Parameters

      params:
        expr: "bad + 2"
        expected: "bad + 2"
      id: "bad + 2-bad + 2"
      

      📌 Setup phase

      duration:

      0.00025136899785138667
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019879200408468023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017741299961926416
      

      outcome:

      passed
      
    • Test 582
      params: expr="1 / 0", expected="1 / 0"

      📌 Parameters

      params:
        expr: "1 / 0"
        expected: "1 / 0"
      id: "1 / 0-1 / 0"
      

      📌 Setup phase

      duration:

      0.0002598470018710941
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022382899624062702
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016878799942787737
      

      outcome:

      passed
      
    • Test 583
      params: expr="2 ** 10", expected="2 ** 10"

      📌 Parameters

      params:
        expr: "2 ** 10"
        expected: "2 ** 10"
      id: "2 ** 10-2 ** 10"
      

      📌 Setup phase

      duration:

      0.00027159100136486813
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019508699915604666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017463100084569305
      

      outcome:

      passed
      

    Function: test_defaulting_eval

    • Test 584
      params: expr="3 * 4", default=0, expected=12

      📌 Parameters

      params:
        expr: "3 * 4"
        default: 0
        expected: 12
      id: "3 * 4-0-12"
      

      📌 Setup phase

      duration:

      0.00030351299938047305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019832300313282758
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020296900038374588
      

      outcome:

      passed
      
    • Test 585
      params: expr="invalid + 1", default=99, expected=99

      📌 Parameters

      params:
        expr: "invalid + 1"
        default: 99
        expected: 99
      id: "invalid + 1-99-99"
      

      📌 Setup phase

      duration:

      0.00029900300432927907
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019495899323374033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018483700114302337
      

      outcome:

      passed
      
    • Test 586
      params: expr="1 / 0", default=-1, expected=-1

      📌 Parameters

      params:
        expr: "1 / 0"
        default: -1
        expected: -1
      id: "1 / 0--1--1"
      

      📌 Setup phase

      duration:

      0.00029836899921065196
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019830299424938858
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019181300012860447
      

      outcome:

      passed
      
    • Test 587
      params: expr="2 ** 10", default=42, expected=42

      📌 Parameters

      params:
        expr: "2 ** 10"
        default: 42
        expected: 42
      id: "2 ** 10-42-42"
      

      📌 Setup phase

      duration:

      0.000307507005345542
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019773100211750716
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020133199723204598
      

      outcome:

      passed
      
  • 📄 test_utils_exceptions.py

    Function: test_chained_exception_various

    • Test 588
      params: func="<function cause_key_error at 0x7f52426f4940>", expected_output="High-level task failed\ncaused by KeyError: 'missing'"

      📌 Parameters

      params:
        func: "<function cause_key_error at 0x7f52426f4940>"
        expected_output: "High-level task failed\ncaused by KeyError: 'missing'"
      id: "cause_key_error-High-level task failed\\ncaused by KeyError: 'missing'"
      

      📌 Setup phase

      duration:

      0.00026684600015869364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021023999579483643
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017619499703869224
      

      outcome:

      passed
      
    • Test 589
      params: func="<function cause_index_error at 0x7f52426f4a60>", expected_output="High-level task failed\ncaused by IndexError: list index out of range"

      📌 Parameters

      params:
        func: "<function cause_index_error at 0x7f52426f4a60>"
        expected_output: "High-level task failed\ncaused by IndexError: list index out of range"
      id: "cause_index_error-High-level task failed\\ncaused by IndexError: list index out of range"
      

      📌 Setup phase

      duration:

      0.00025770399952307343
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018784200074151158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001772030009306036
      

      outcome:

      passed
      
    • Test 590
      params: func="<function cause_zero_division at 0x7f52426f4af0>", expected_output="High-level task failed\ncaused by ZeroDivisionError: division by zero"

      📌 Parameters

      params:
        func: "<function cause_zero_division at 0x7f52426f4af0>"
        expected_output: "High-level task failed\ncaused by ZeroDivisionError: division by zero"
      id: "cause_zero_division-High-level task failed\\ncaused by ZeroDivisionError: division by zero"
      

      📌 Setup phase

      duration:

      0.0002687189989956096
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017378600023221225
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017405200196662918
      

      outcome:

      passed
      
    • Test 591
      params: func="<function cause_value_error at 0x7f52426f4b80>", expected_output="High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'"

      📌 Parameters

      params:
        func: "<function cause_value_error at 0x7f52426f4b80>"
        expected_output: "High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'"
      id: "cause_value_error-High-level task failed\\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'"
      

      📌 Setup phase

      duration:

      0.0002579039937700145
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018131599790649489
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018608899699756876
      

      outcome:

      passed
      
    • Test 592
      params: func="<function cause_type_error at 0x7f52426f4c10>", expected_output="High-level task failed\ncaused by TypeError: can only concatenate str (not \"int\") to str"

      📌 Parameters

      params:
        func: "<function cause_type_error at 0x7f52426f4c10>"
        expected_output: "High-level task failed\ncaused by TypeError: can only concatenate str (not \"int\") to str"
      id: "cause_type_error-High-level task failed\\ncaused by TypeError: can only concatenate str (not \"int\") to str"
      

      📌 Setup phase

      duration:

      0.0002548589982325211
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001916090041049756
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001716799961286597
      

      outcome:

      passed
      

    Function: test_printed_exception

    • Test 593
      params: func="<function cause_key_error at 0x7f52426f4940>", expected_output="KeyError: 'missing'"

      📌 Parameters

      params:
        func: "<function cause_key_error at 0x7f52426f4940>"
        expected_output: "KeyError: 'missing'"
      id: "cause_key_error-KeyError: 'missing'"
      

      📌 Setup phase

      duration:

      0.0007872499991208315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000596202997257933
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0005231890027062036
      

      outcome:

      passed
      
    • Test 594
      params: func="<function cause_index_error at 0x7f52426f4a60>", expected_output="IndexError: list index out of range"

      📌 Parameters

      params:
        func: "<function cause_index_error at 0x7f52426f4a60>"
        expected_output: "IndexError: list index out of range"
      id: "cause_index_error-IndexError: list index out of range"
      

      📌 Setup phase

      duration:

      0.0006855879983049817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005033080014982261
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004886569950031117
      

      outcome:

      passed
      
    • Test 595
      params: func="<function cause_zero_division at 0x7f52426f4af0>", expected_output="ZeroDivisionError: division by zero"

      📌 Parameters

      params:
        func: "<function cause_zero_division at 0x7f52426f4af0>"
        expected_output: "ZeroDivisionError: division by zero"
      id: "cause_zero_division-ZeroDivisionError: division by zero"
      

      📌 Setup phase

      duration:

      0.0006034719990566373
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00048783799866214395
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004597400038619526
      

      outcome:

      passed
      
    • Test 596
      params: func="<function cause_value_error at 0x7f52426f4b80>", expected_output="ValueError: invalid literal for int() with base 10: 'not_a_number'"

      📌 Parameters

      params:
        func: "<function cause_value_error at 0x7f52426f4b80>"
        expected_output: "ValueError: invalid literal for int() with base 10: 'not_a_number'"
      id: "cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number'"
      

      📌 Setup phase

      duration:

      0.0006170819979161024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005093649961054325
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004463299992494285
      

      outcome:

      passed
      
    • Test 597
      params: func="<function cause_type_error at 0x7f52426f4c10>", expected_output="TypeError: can only concatenate str (not \"int\") to str"

      📌 Parameters

      params:
        func: "<function cause_type_error at 0x7f52426f4c10>"
        expected_output: "TypeError: can only concatenate str (not \"int\") to str"
      id: "cause_type_error-TypeError: can only concatenate str (not \"int\") to str"
      

      📌 Setup phase

      duration:

      0.000597617996390909
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004855470033362508
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00047686200559837744
      

      outcome:

      passed
      
  • 📄 test_utils_get_adj.py

    Function: test_get_adj_success

    • Test 598

      📌 Setup phase

      duration:

      0.00016779299767222255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007125920019461773
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003380310008651577
      

      outcome:

      passed
      

    Function: test_get_adj_not_found

    • Test 599

      📌 Setup phase

      duration:

      0.0005511660056072287
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010250990017084405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004625490037142299
      

      outcome:

      passed
      

    Function: test_ensure_adjs_mixed

    • Test 600

      📌 Setup phase

      duration:

      0.000272467004833743
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008099830010905862
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015381299454020336
      

      outcome:

      passed
      

    Function: test_get_adjs_filter

    • Test 601

      📌 Setup phase

      duration:

      0.00015672400331823155
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009337930023320951
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014867999561829492
      

      outcome:

      passed
      
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 602

      📌 Setup phase

      duration:

      0.00047912399895722046
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043068700324511155
      

      outcome:

      passed
      

      stdout:

      test_desc: desc ok
      test_doc:  doc ok
      test_id:   D4
      test_name: name ok
      
      
      

      📌 Teardown phase

      duration:

      0.000275988997600507
      

      outcome:

      passed
      
  • 📄 test_utils_jsonext.py

    Function: test_json_validate_save_load

    • Test 603
      params: input_obj="[1 2 3]", expected=[1, 2, 3]

      📌 Parameters

      params:
        input_obj: "[1 2 3]"
        expected: [1, 2, 3]
      id: "input_obj0-expected0"
      

      📌 Setup phase

      duration:

      0.0008690670001669787
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004881349959759973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024435800150968134
      

      outcome:

      passed
      
    • Test 604
      params: input_obj="42", expected=42

      📌 Parameters

      params:
        input_obj: "42"
        expected: 42
      id: "input_obj1-42"
      

      📌 Setup phase

      duration:

      0.0008483729980071075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046535000001313165
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021715799812227488
      

      outcome:

      passed
      
    • Test 605
      params: input_obj="(1-1j)", expected={"real": 1.0, "imag": -1.0}

      📌 Parameters

      params:
        input_obj: "(1-1j)"
        expected: {"real": 1.0, "imag": -1.0}
      id: "(1-1j)-expected2"
      

      📌 Setup phase

      duration:

      0.0007764340043650009
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042563199531286955
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024074799875961617
      

      outcome:

      passed
      
    • Test 606
      params: input_obj="/tmp/file.txt", expected="/tmp/file.txt"

      📌 Parameters

      params:
        input_obj: "/tmp/file.txt"
        expected: "/tmp/file.txt"
      id: "input_obj3-/tmp/file.txt"
      

      📌 Setup phase

      duration:

      0.0007506179972551763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003978690001531504
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025513100263196975
      

      outcome:

      passed
      
    • Test 607
      params: input_obj="{1, 2, 3}", expected=[1, 2, 3]

      📌 Parameters

      params:
        input_obj: "{1, 2, 3}"
        expected: [1, 2, 3]
      id: "input_obj4-expected4"
      

      📌 Setup phase

      duration:

      0.0007318720017792657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004068260022904724
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021893899975111708
      

      outcome:

      passed
      
    • Test 608
      params: input_obj="{'a': array([10, 20])}", expected={"a": [10, 20]}

      📌 Parameters

      params:
        input_obj: "{'a': array([10, 20])}"
        expected: {"a": [10, 20]}
      id: "input_obj5-expected5"
      

      📌 Setup phase

      duration:

      0.0007637059970875271
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004231060011079535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022380700102075934
      

      outcome:

      passed
      
    • Test 609
      params: input_obj="{'c': (2+3j)}", expected={"c": {"real": 2.0, "imag": 3.0}}

      📌 Parameters

      params:
        input_obj: "{'c': (2+3j)}"
        expected: {"c": {"real": 2.0, "imag": 3.0}}
      id: "input_obj6-expected6"
      

      📌 Setup phase

      duration:

      0.0007946140030981041
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005722460045944899
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021748099970864132
      

      outcome:

      passed
      
    • Test 610
      params: input_obj="{'nested': {'arr': array([[10, 20],\n [30, 40]]), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}}", expected={"nested": {"arr": [[10, 20], [30, 40]], "complex_num": {"real": -1.0, "imag": 5.0}, "files": ["/file1", "/file2"], "set_values": [100, 200], "inner": {"num": 7}}}

      📌 Parameters

      params:
        input_obj: "{'nested': {'arr': array([[10, 20],\n       [30, 40]]), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}}"
        expected: {"nested": {"arr": [[10, 20], [30, 40]], "complex_num": {"real": -1.0, "imag": 5.0}, "files": ["/file1", "/file2"], "set_values": [100, 200], "inner": {"num": 7}}}
      id: "input_obj7-expected7"
      

      📌 Setup phase

      duration:

      0.0007206009977380745
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005798460042569786
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022633199841948226
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 611

      📌 Setup phase

      duration:

      0.0001727800045046024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.10051245800423203
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003419339991523884
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

    • Test 612
      params: levelname="LONG", logfunc="<function <lambda> at 0x7f52413c0e50>", message="This is a LONG message"

      📌 Parameters

      params:
        levelname: "LONG"
        logfunc: "<function <lambda> at 0x7f52413c0e50>"
        message: "This is a LONG message"
      id: "LONG-<lambda>-This is a LONG message"
      

      📌 Setup phase

      duration:

      0.0012353150013950653
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006727099971612915
      

      outcome:

      passed
      

      stdout:

      Captured stderr: '[L 260122 03:27:13 test_utils_logcfg:41] This is a LONG message\n'
      
      

      📌 Teardown phase

      duration:

      0.00031582199881086126
      

      outcome:

      passed
      
    • Test 613
      params: levelname="ENLARGE", logfunc="<function <lambda> at 0x7f52413c0ee0>", message="Please ENLARGE this!"

      📌 Parameters

      params:
        levelname: "ENLARGE"
        logfunc: "<function <lambda> at 0x7f52413c0ee0>"
        message: "Please ENLARGE this!"
      id: "ENLARGE-<lambda>-Please ENLARGE this!"
      

      📌 Setup phase

      duration:

      0.0004722519952338189
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00047930599976098165
      

      outcome:

      passed
      

      stdout:

      Captured stderr: '[E 260122 03:27:13 test_utils_logcfg:41] Please ENLARGE this!\n'
      
      

      📌 Teardown phase

      duration:

      0.00029160799749661237
      

      outcome:

      passed
      
  • 📄 test_utils_logign.py

    Function: test_ignore_log_msg_behavior

    • Test 615
      params: levelname="WARNING", msg_to_ignore="This should be ignored", msg_to_keep="This should appear"

      📌 Parameters

      params:
        levelname: "WARNING"
        msg_to_ignore: "This should be ignored"
        msg_to_keep: "This should appear"
      id: "WARNING-This should be ignored-This should appear"
      

      📌 Setup phase

      duration:

      0.0007781210006214678
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010008290046243928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00037500500184250996
      

      outcome:

      passed
      
    • Test 616
      params: levelname="ENLARGE", msg_to_ignore="ENLARGE this", msg_to_keep="Keep this ENLARGE"

      📌 Parameters

      params:
        levelname: "ENLARGE"
        msg_to_ignore: "ENLARGE this"
        msg_to_keep: "Keep this ENLARGE"
      id: "ENLARGE-ENLARGE this-Keep this ENLARGE"
      

      📌 Setup phase

      duration:

      0.0005331049978849478
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000625485998170916
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003216320037608966
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 617

      📌 Setup phase

      duration:

      0.00036940500285709277
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005496740050148219
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026508700102567673
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 618

      📌 Setup phase

      duration:

      0.000397691001126077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005350979990907945
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002759710041573271
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 619

      📌 Setup phase

      duration:

      0.0003505729982862249
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005107869947096333
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029573299980256706
      

      outcome:

      passed
      
  • 📄 test_utils_marker.py

    Function: test_format_value_with_units

    • Test 620

      📌 Setup phase

      duration:

      0.0001975010018213652
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021886100148549303
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014705300418427214
      

      outcome:

      passed
      

    Function: test_format_value_without_units

    • Test 621

      📌 Setup phase

      duration:

      0.0001885900055640377
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022485700174001977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015363599959528074
      

      outcome:

      passed
      

    Function: test_marker_name_default

    • Test 622

      📌 Setup phase

      duration:

      0.00014397199993254617
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000259316002484411
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015443499432876706
      

      outcome:

      passed
      

    Function: test_marker_name_custom

    • Test 623

      📌 Setup phase

      duration:

      0.00017021199892042205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002286160015501082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013381100143305957
      

      outcome:

      passed
      

    Function: test_marker_repr_format

    • Test 624

      📌 Setup phase

      duration:

      0.00018849300249712542
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003226280023227446
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015632899885531515
      

      outcome:

      passed
      

    Function: test_marker_update_changes_value

    • Test 625

      📌 Setup phase

      duration:

      0.00017263799963984638
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020495599892456084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015551599790342152
      

      outcome:

      passed
      

    Function: test_marker_update_with_explicit_value

    • Test 626

      📌 Setup phase

      duration:

      0.00016046599921537563
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021071400260552764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016558899369556457
      

      outcome:

      passed
      

    Function: test_marker_goto_sets_value_and_returns_result

    • Test 627

      📌 Setup phase

      duration:

      0.0001852510031312704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003384949959581718
      

      outcome:

      passed
      

      stdout:

      Going to "Device_TGG at 3.3 V"
      
      

      📌 Teardown phase

      duration:

      0.00018242099758936092
      

      outcome:

      passed
      

    Function: test_marker_call_is_alias_of_goto

    • Test 628

      📌 Setup phase

      duration:

      0.00024495600519003347
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004130789966438897
      

      outcome:

      passed
      

      stdout:

      Going to "Device_TAC at 3.3 V"
      
      

      📌 Teardown phase

      duration:

      0.00021629399998346344
      

      outcome:

      passed
      

    Function: test_markers_register_and_access

    • Test 629

      📌 Setup phase

      duration:

      0.0002243530034320429
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004365009954199195
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001984449991141446
      

      outcome:

      passed
      

    Function: test_markers_repr_contains_all

    • Test 630

      📌 Setup phase

      duration:

      0.00024992200633278117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005190770025365055
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020359700283734128
      

      outcome:

      passed
      

    Function: test_marker_registry_dict_is_printable_dict

    • Test 631

      📌 Setup phase

      duration:

      0.000227825999900233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038277499697869644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023980299738468602
      

      outcome:

      passed
      

    Function: test_markers_getitem_invalid_key_raises

    • Test 632

      📌 Setup phase

      duration:

      0.0002261889967485331
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003923129988834262
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023136499657994136
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 633

      📌 Setup phase

      duration:

      0.0002388600041740574
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032069900044007227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001501849983469583
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 634

      📌 Setup phase

      duration:

      0.00018325800192542374
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027301219961373135
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001620659968466498
      

      outcome:

      passed
      
  • 📄 test_utils_namespace.py

    Function: test_namespace_pretty_repr_mixed_and_nested

    • Test 635

      📌 Setup phase

      duration:

      0.00020085700089111924
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029240200092317536
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001484199965489097
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

    • Test 636
      params: start=0, stop=5, step=1, expected=[0, 1, 2, 3, 4, 5]

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 1
        expected: [0, 1, 2, 3, 4, 5]
      id: "0-5-1-expected0"
      

      📌 Setup phase

      duration:

      0.0004259790002834052
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.018337216002692003
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00042065599700435996
      

      outcome:

      passed
      
    • Test 637
      params: start=5, stop=0, step=-1, expected=[0, 1, 2, 3, 4, 5]

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -1
        expected: [0, 1, 2, 3, 4, 5]
      id: "5-0--1-expected1"
      

      📌 Setup phase

      duration:

      0.00045641099859494716
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004845490038860589
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024649399711051956
      

      outcome:

      passed
      
    • Test 638
      params: start=1, stop=2, step=0.3, expected=[1, 1.3333333333333333, 1.6666666666666667, 2]

      📌 Parameters

      params:
        start: 1
        stop: 2
        step: 0.3
        expected: [1, 1.3333333333333333, 1.6666666666666667, 2]
      id: "1-2-0.3-expected2"
      

      📌 Setup phase

      duration:

      0.0004094030009582639
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004763489996548742
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002673560011317022
      

      outcome:

      passed
      
    • Test 639
      params: start=-2, stop=2, step=1.5, expected=[-2, -0.6666666666666666, 0.6666666666666666, 2]

      📌 Parameters

      params:
        start: -2
        stop: 2
        step: 1.5
        expected: [-2, -0.6666666666666666, 0.6666666666666666, 2]
      id: "-2-2-1.5-expected3"
      

      📌 Setup phase

      duration:

      0.00038819499604869634
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043353399814805016
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024104300246108323
      

      outcome:

      passed
      
    • Test 640
      params: start=2.5, stop=0.5, step=-0.4, expected=[0.5, 0.9, 1.3, 1.7, 2.1, 2.5]

      📌 Parameters

      params:
        start: 2.5
        stop: 0.5
        step: -0.4
        expected: [0.5, 0.9, 1.3, 1.7, 2.1, 2.5]
      id: "2.5-0.5--0.4-expected4"
      

      📌 Setup phase

      duration:

      0.00039845699939178303
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006057589998818003
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026460100343683735
      

      outcome:

      passed
      

    Function: test_nice_linspace

    • Test 641
      params: start=0, stop=10, num=4, expected="[ 0. 2.5 5. 7.5 10. ]"

      📌 Parameters

      params:
        start: 0
        stop: 10
        num: 4
        expected: "[ 0.   2.5  5.   7.5 10. ]"
      id: "0-10-4-expected0"
      

      📌 Setup phase

      duration:

      0.0004090069996891543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004379839956527576
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002658160010469146
      

      outcome:

      passed
      
    • Test 642
      params: start=5, stop=15, num=2, expected="[ 5. 10. 15.]"

      📌 Parameters

      params:
        start: 5
        stop: 15
        num: 2
        expected: "[ 5. 10. 15.]"
      id: "5-15-2-expected1"
      

      📌 Setup phase

      duration:

      0.0004056040052091703
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004237610046402551
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002702069978113286
      

      outcome:

      passed
      
    • Test 643
      params: start=-5, stop=5, num=4, expected="[-5. -2.5 0. 2.5 5. ]"

      📌 Parameters

      params:
        start: -5
        stop: 5
        num: 4
        expected: "[-5.  -2.5  0.   2.5  5. ]"
      id: "-5-5-4-expected2"
      

      📌 Setup phase

      duration:

      0.00040313800127478316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004167559964116663
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027884700102731586
      

      outcome:

      passed
      
    • Test 644
      params: start=0, stop=1, num=3, expected="[0. 0.33333333 0.66666667 1. ]"

      📌 Parameters

      params:
        start: 0
        stop: 1
        num: 3
        expected: "[0.         0.33333333 0.66666667 1.        ]"
      id: "0-1-3-expected3"
      

      📌 Setup phase

      duration:

      0.0004190190011286177
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041697200504131615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026546400476945564
      

      outcome:

      passed
      
    • Test 645
      params: start=2, stop=2, num=3, expected="[2. 2. 2. 2.]"

      📌 Parameters

      params:
        start: 2
        stop: 2
        num: 3
        expected: "[2. 2. 2. 2.]"
      id: "2-2-3-expected4"
      

      📌 Setup phase

      duration:

      0.00040025699854595587
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041785799839999527
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026085699937539175
      

      outcome:

      passed
      
    • Test 646
      params: start=3, stop=0, num=3, expected="[3. 2. 1. 0.]"

      📌 Parameters

      params:
        start: 3
        stop: 0
        num: 3
        expected: "[3. 2. 1. 0.]"
      id: "3-0-3-expected5"
      

      📌 Setup phase

      duration:

      0.0004028369949082844
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040452399844070897
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002608009963296354
      

      outcome:

      passed
      
    • Test 647
      params: start=0, stop=1, num=0, expected="[0.]"

      📌 Parameters

      params:
        start: 0
        stop: 1
        num: 0
        expected: "[0.]"
      id: "0-1-0-expected6"
      

      📌 Setup phase

      duration:

      0.0004018319959868677
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004187240047031082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025686500157462433
      

      outcome:

      passed
      
    • Test 648
      params: start=-2, stop=2, num=3, expected="[-2. -0.66666667 0.66666667 2. ]"

      📌 Parameters

      params:
        start: -2
        stop: 2
        num: 3
        expected: "[-2.         -0.66666667  0.66666667  2.        ]"
      id: "-2-2-3-expected7"
      

      📌 Setup phase

      duration:

      0.0004046140020363964
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043395900138420984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002665330030140467
      

      outcome:

      passed
      

    Function: test_nice_steps_centered

    • Test 649
      params: start=-2, stop=2, step=2, endpoint=true, expected="[-2. 0. 2.]"

      📌 Parameters

      params:
        start: -2
        stop: 2
        step: 2
        endpoint: true
        expected: "[-2.  0.  2.]"
      id: "-2-2-2-True-expected0"
      

      📌 Setup phase

      duration:

      0.00044972899922868237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00045728999975835904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002765399985946715
      

      outcome:

      passed
      
    • Test 650
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: true
        expected: "[0. 2. 4.]"
      id: "0-5-2-True-expected1"
      

      📌 Setup phase

      duration:

      0.0004439040058059618
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000394943002902437
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002703890058910474
      

      outcome:

      passed
      
    • Test 651
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: false
        expected: "[0. 2.]"
      id: "0-5-2-False-expected2"
      

      📌 Setup phase

      duration:

      0.00044812200212618336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041978800436481833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027123299514641985
      

      outcome:

      passed
      
    • Test 652
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1.5 0. 1.5]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: true
        expected: "[-1.5  0.   1.5]"
      id: "-1-2-1.5-True-expected3"
      

      📌 Setup phase

      duration:

      0.00042363400280009955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042228100210195407
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028008100343868136
      

      outcome:

      passed
      
    • Test 653
      params: start=-1, stop=2, step=-1.5, endpoint=true, expected="[ 1.5 0. -1.5]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: -1.5
        endpoint: true
        expected: "[ 1.5  0.  -1.5]"
      id: "-1-2--1.5-True-expected4"
      

      📌 Setup phase

      duration:

      0.00044932700257049873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004160859971307218
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026292399707017466
      

      outcome:

      passed
      
    • Test 654
      params: start=5, stop=0, step=-2, endpoint=true, expected="[0. 2. 4.]"

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: true
        expected: "[0. 2. 4.]"
      id: "5-0--2-True-expected5"
      

      📌 Setup phase

      duration:

      0.00043412999366410077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041403999784961343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026427300326758996
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 655
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: true
        expected: "[0. 2. 4.]"
      id: "0-5-2-True-expected0"
      

      📌 Setup phase

      duration:

      0.0004750079970108345
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004941259976476431
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002790040016407147
      

      outcome:

      passed
      
    • Test 656
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: false
        expected: "[0. 2.]"
      id: "0-5-2-False-expected1"
      

      📌 Setup phase

      duration:

      0.0005618770010187291
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042946699977619573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002875319987651892
      

      outcome:

      passed
      
    • Test 657
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1. 0.5 2. ]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: true
        expected: "[-1.   0.5  2. ]"
      id: "-1-2-1.5-True-expected2"
      

      📌 Setup phase

      duration:

      0.000511056998220738
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046653900062665343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002956949974759482
      

      outcome:

      passed
      
    • Test 658
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[-1. 0.5]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: false
        expected: "[-1.   0.5]"
      id: "-1-2-1.5-False-expected3"
      

      📌 Setup phase

      duration:

      0.0004470860003493726
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041323400364490226
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002705139995669015
      

      outcome:

      passed
      
    • Test 659
      params: start=-2, stop=1, step=1.2, endpoint=true, expected="[-2. -0.8 0.4]"

      📌 Parameters

      params:
        start: -2
        stop: 1
        step: 1.2
        endpoint: true
        expected: "[-2.  -0.8  0.4]"
      id: "-2-1-1.2-True-expected4"
      

      📌 Setup phase

      duration:

      0.0004493950036703609
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040840599831426516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002717280003707856
      

      outcome:

      passed
      
    • Test 660
      params: start=5, stop=0, step=-2, endpoint=true, expected="[0. 2. 4.]"

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: true
        expected: "[0. 2. 4.]"
      id: "5-0--2-True-expected5"
      

      📌 Setup phase

      duration:

      0.00044558899389812723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040683900442672893
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002856310020433739
      

      outcome:

      passed
      
    • Test 661
      params: start=5, stop=0, step=-2, endpoint=false, expected="[0. 2.]"

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: false
        expected: "[0. 2.]"
      id: "5-0--2-False-expected6"
      

      📌 Setup phase

      duration:

      0.0004583610061672516
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039429799653589725
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026700799935497344
      

      outcome:

      passed
      

    Function: test_nice_steps_right_aligned

    • Test 662
      params: start=0, stop=5, step=2, endpoint=true, expected="[1. 3. 5.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: true
        expected: "[1. 3. 5.]"
      id: "0-5-2-True-expected0"
      

      📌 Setup phase

      duration:

      0.00046472800022456795
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004109879955649376
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002927070017904043
      

      outcome:

      passed
      
    • Test 663
      params: start=0, stop=5, step=2, endpoint=false, expected="[3. 5.]"

      📌 Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: false
        expected: "[3. 5.]"
      id: "0-5-2-False-expected1"
      

      📌 Setup phase

      duration:

      0.00047728399658808485
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040702599653741345
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025169700529659167
      

      outcome:

      passed
      
    • Test 664
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1. 0.5 2. ]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: true
        expected: "[-1.   0.5  2. ]"
      id: "-1-2-1.5-True-expected2"
      

      📌 Setup phase

      duration:

      0.00045595099800266325
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004884760055574588
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002542360016377643
      

      outcome:

      passed
      
    • Test 665
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[0.5 2. ]"

      📌 Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: false
        expected: "[0.5 2. ]"
      id: "-1-2-1.5-False-expected3"
      

      📌 Setup phase

      duration:

      0.0004402170015964657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039687100070295855
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000260990003880579
      

      outcome:

      passed
      
    • Test 666
      params: start=5, stop=0, step=-2, endpoint=true, expected="[1. 3. 5.]"

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: true
        expected: "[1. 3. 5.]"
      id: "5-0--2-True-expected4"
      

      📌 Setup phase

      duration:

      0.00045790000149281695
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004180799951427616
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027904799935640767
      

      outcome:

      passed
      
    • Test 667
      params: start=5, stop=0, step=-2, endpoint=false, expected="[3. 5.]"

      📌 Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: false
        expected: "[3. 5.]"
      id: "5-0--2-False-expected5"
      

      📌 Setup phase

      duration:

      0.0004969470028299838
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00044968200381845236
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003042639946215786
      

      outcome:

      passed
      
    • Test 668
      params: start=-3, stop=3, step=2, endpoint=true, expected="[-3. -1. 1. 3.]"

      📌 Parameters

      params:
        start: -3
        stop: 3
        step: 2
        endpoint: true
        expected: "[-3. -1.  1.  3.]"
      id: "-3-3-2-True-expected6"
      

      📌 Setup phase

      duration:

      0.0004867629977525212
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004440870034159161
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002804889954859391
      

      outcome:

      passed
      

    Function: test_within_scalar

    • Test 669
      params: val=5, vmin=0, vmax=10, expected=true

      📌 Parameters

      params:
        val: 5
        vmin: 0
        vmax: 10
        expected: true
      id: "5-0-10-True"
      

      📌 Setup phase

      duration:

      0.0004221519993734546
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022276500385487452
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022599700605496764
      

      outcome:

      passed
      
    • Test 670
      params: val=5, vmin=6, vmax=10, expected=false

      📌 Parameters

      params:
        val: 5
        vmin: 6
        vmax: 10
        expected: false
      id: "5-6-10-False"
      

      📌 Setup phase

      duration:

      0.0004187090016785078
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021689800632884726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002445579957566224
      

      outcome:

      passed
      
    • Test 671
      params: val=5, vmin=null, vmax=10, expected=true

      📌 Parameters

      params:
        val: 5
        vmin: null
        vmax: 10
        expected: true
      id: "5-None-10-True"
      

      📌 Setup phase

      duration:

      0.0003935749991796911
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020045199926244095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023864200193202123
      

      outcome:

      passed
      
    • Test 672
      params: val=5, vmin=0, vmax=null, expected=true

      📌 Parameters

      params:
        val: 5
        vmin: 0
        vmax: null
        expected: true
      id: "5-0-None-True"
      

      📌 Setup phase

      duration:

      0.0003798000034294091
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019246499869041145
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002250340039609
      

      outcome:

      passed
      
    • Test 673
      params: val=5, vmin=null, vmax=null, expected=true

      📌 Parameters

      params:
        val: 5
        vmin: null
        vmax: null
        expected: true
      id: "5-None-None-True"
      

      📌 Setup phase

      duration:

      0.00038473899621749297
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002117140029440634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025546999677317217
      

      outcome:

      passed
      

    Function: test_within_fraction

    • Test 674
      params: data=[1, 2, 3, 4, 5], vmin=2, vmax=5, expected=0.6

      📌 Parameters

      params:
        data: [1, 2, 3, 4, 5]
        vmin: 2
        vmax: 5
        expected: 0.6
      id: "data0-2-5-0.6"
      

      📌 Setup phase

      duration:

      0.00037385599716799334
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003666059928946197
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023628000053577125
      

      outcome:

      passed
      
    • Test 675
      params: data=[10, 20, 30], vmin=5, vmax=25, expected=0.6666666666666666

      📌 Parameters

      params:
        data: [10, 20, 30]
        vmin: 5
        vmax: 25
        expected: 0.6666666666666666
      id: "data1-5-25-0.6666666666666666"
      

      📌 Setup phase

      duration:

      0.00039869000465841964
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033079699642257765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002387589993304573
      

      outcome:

      passed
      
    • Test 676
      params: data=[1, 2, 3], vmin=null, vmax=2, expected=0.3333333333333333

      📌 Parameters

      params:
        data: [1, 2, 3]
        vmin: null
        vmax: 2
        expected: 0.3333333333333333
      id: "data2-None-2-0.3333333333333333"
      

      📌 Setup phase

      duration:

      0.00037947699456708506
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003073550033150241
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024203799694078043
      

      outcome:

      passed
      
    • Test 677
      params: data=[], vmin=0, vmax=1, expected=0

      📌 Parameters

      params:
        data: []
        vmin: 0
        vmax: 1
        expected: 0
      id: "data3-0-1-0"
      

      📌 Setup phase

      duration:

      0.0003573479989427142
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002917710007750429
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021791100152768195
      

      outcome:

      passed
      

    Function: test_fraction_to_percentage

    • Test 678
      params: fraction=0.456, ndigits=1, expected=45.6

      📌 Parameters

      params:
        fraction: 0.456
        ndigits: 1
        expected: 45.6
      id: "0.456-1-45.6"
      

      📌 Setup phase

      duration:

      0.0003327890008222312
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018062599701806903
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001968990036402829
      

      outcome:

      passed
      
    • Test 679
      params: fraction=0.12345, ndigits=2, expected=12.35

      📌 Parameters

      params:
        fraction: 0.12345
        ndigits: 2
        expected: 12.35
      id: "0.12345-2-12.35"
      

      📌 Setup phase

      duration:

      0.00030814499768894166
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018388599710306153
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019456599693512544
      

      outcome:

      passed
      
    • Test 680
      params: fraction=0.9999, ndigits=0, expected=100.0

      📌 Parameters

      params:
        fraction: 0.9999
        ndigits: 0
        expected: 100.0
      id: "0.9999-0-100.0"
      

      📌 Setup phase

      duration:

      0.0003145930022583343
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018238300253869966
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021286799892550334
      

      outcome:

      passed
      

    Function: test_get_dtype

    • Test 681
      params: val="[1 2 3]", expected="<class 'numpy.ndarray'>"

      📌 Parameters

      params:
        val: "[1 2 3]"
        expected: "<class 'numpy.ndarray'>"
      id: "val0-ndarray"
      

      📌 Setup phase

      duration:

      0.00028011300310026854
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020724799833260477
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023237900313688442
      

      outcome:

      passed
      
    • Test 682
      params: val=[1, 2, 3], expected="<class 'list'>"

      📌 Parameters

      params:
        val: [1, 2, 3]
        expected: "<class 'list'>"
      id: "val1-list"
      

      📌 Setup phase

      duration:

      0.0002675120049389079
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001935600012075156
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017672400281298906
      

      outcome:

      passed
      
    • Test 683
      params: val=3.14, expected="<class 'float'>"

      📌 Parameters

      params:
        val: 3.14
        expected: "<class 'float'>"
      id: "3.14-float"
      

      📌 Setup phase

      duration:

      0.0002710560002014972
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017721099720802158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018061200535157695
      

      outcome:

      passed
      

    Function: test_get_shape

    • Test 684
      params: val="[[1 2]\n [3 4]]", expected=[2, 2]

      📌 Parameters

      params:
        val: "[[1 2]\n [3 4]]"
        expected: [2, 2]
      id: "val0-expected0"
      

      📌 Setup phase

      duration:

      0.00027415400109020993
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019708799663931131
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002694750000955537
      

      outcome:

      passed
      
    • Test 685
      params: val=[1, 2, 3], expected=[]

      📌 Parameters

      params:
        val: [1, 2, 3]
        expected: []
      id: "val1-expected1"
      

      📌 Setup phase

      duration:

      0.00045535499521065503
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003219540012651123
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030333299946505576
      

      outcome:

      passed
      
    • Test 686
      params: val=42, expected=[]

      📌 Parameters

      params:
        val: 42
        expected: []
      id: "42-expected2"
      

      📌 Setup phase

      duration:

      0.0004496629990171641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003141150009469129
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00031239799864124507
      

      outcome:

      passed
      

    Function: test_is_array

    • Test 687
      params: val="[1 2 3]", expected=true

      📌 Parameters

      params:
        val: "[1 2 3]"
        expected: true
      id: "val0-True"
      

      📌 Setup phase

      duration:

      0.0004411569971125573
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032558199745835736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002982079968205653
      

      outcome:

      passed
      
    • Test 688
      params: val=[1, 2, 3], expected=false

      📌 Parameters

      params:
        val: [1, 2, 3]
        expected: false
      id: "val1-False"
      

      📌 Setup phase

      duration:

      0.0004593269986798987
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029798399918945506
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003320079995319247
      

      outcome:

      passed
      
    • Test 689
      params: val=42, expected=false

      📌 Parameters

      params:
        val: 42
        expected: false
      id: "42-False"
      

      📌 Setup phase

      duration:

      0.00044236999383429065
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031588699494022876
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00032118499802891165
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 690

      📌 Setup phase

      duration:

      0.00029086999711580575
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011956980015384033
      

      outcome:

      passed
      

      stdout:

      Deleting "/tmp/tmp4vyfyup3/a.txt".
      Deleting "/tmp/tmp4vyfyup3/c.txt".
      
      

      📌 Teardown phase

      duration:

      0.00024893099907785654
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 691

      📌 Setup phase

      duration:

      0.00016917299944907427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005201070016482845
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016632799815852195
      

      outcome:

      passed
      

    Function: test_make_missing_dir_creates_folder

    • Test 692

      📌 Setup phase

      duration:

      0.0001567250001244247
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006096500001149252
      

      outcome:

      passed
      

      stdout:

      Directory "/tmp/tmpfdftklep/nested/dir" does not exist, creating it...
      
      

      📌 Teardown phase

      duration:

      0.0001750230003381148
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 693

      📌 Setup phase

      duration:

      0.00019793500541709363
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011448570003267378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021948599896859378
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 694

      📌 Setup phase

      duration:

      0.00016875200526556
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008863490002113394
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015633599832654
      

      outcome:

      passed
      
  • 📄 test_utils_picklio.py

    Function: test_pickle_and_unpickle

    • Test 695
      params: test_obj={"a": 1, "b": [2, 3], "c": {"world": "ok"}}

      📌 Parameters

      params:
        test_obj: {"a": 1, "b": [2, 3], "c": {"world": "ok"}}
      id: "test_obj0"
      

      📌 Setup phase

      duration:

      0.0009449790013604797
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004061130021000281
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002891219992307015
      

      outcome:

      passed
      
    • Test 696
      params: test_obj=[1, 2, 3, 4, 5]

      📌 Parameters

      params:
        test_obj: [1, 2, 3, 4, 5]
      id: "test_obj1"
      

      📌 Setup phase

      duration:

      0.0007696230022702366
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003738270024769008
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021972000104142353
      

      outcome:

      passed
      
    • Test 697
      params: test_obj="simple string"

      📌 Parameters

      params:
        test_obj: "simple string"
      id: "simple string"
      

      📌 Setup phase

      duration:

      0.0007294249953702092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034659499942790717
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019245300063630566
      

      outcome:

      passed
      
    • Test 698
      params: test_obj=42

      📌 Parameters

      params:
        test_obj: 42
      id: "42"
      

      📌 Setup phase

      duration:

      0.0007732710000709631
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038693100214004517
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021869799820706248
      

      outcome:

      passed
      
    • Test 699
      params: test_obj=3.14159

      📌 Parameters

      params:
        test_obj: 3.14159
      id: "3.14159"
      

      📌 Setup phase

      duration:

      0.0007095089968061075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034942499769385904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019592000171542168
      

      outcome:

      passed
      
    • Test 700
      params: test_obj=[true, false, null]

      📌 Parameters

      params:
        test_obj: [true, false, null]
      id: "test_obj5"
      

      📌 Setup phase

      duration:

      0.0007849910034565255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039579100121045485
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021728499996243045
      

      outcome:

      passed
      
    • Test 701
      params: test_obj={"complex": [{"list": [1, 2]}, {"dict": {"x": 10}}]}

      📌 Parameters

      params:
        test_obj: {"complex": [{"list": [1, 2]}, {"dict": {"x": 10}}]}
      id: "test_obj6"
      

      📌 Setup phase

      duration:

      0.000710924003215041
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035741800093092024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027005199808627367
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxlen_valid

    • Test 702
      params: seq=["a", "abc", ""], expected=3

      📌 Parameters

      params:
        seq: ["a", "abc", ""]
        expected: 3
      id: "seq0-3"
      

      📌 Setup phase

      duration:

      0.00035843699879478663
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019823599723167717
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019589799921959639
      

      outcome:

      passed
      
    • Test 703
      params: seq=[], expected=0

      📌 Parameters

      params:
        seq: []
        expected: 0
      id: "seq1-0"
      

      📌 Setup phase

      duration:

      0.0003583590005291626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018821599951479584
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001781639948603697
      

      outcome:

      passed
      
    • Test 704
      params: seq=[[1, 2], [3], [4, 5, 6]], expected=3

      📌 Parameters

      params:
        seq: [[1, 2], [3], [4, 5, 6]]
        expected: 3
      id: "seq2-3"
      

      📌 Setup phase

      duration:

      0.00026960400282405317
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001842969941208139
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001925550022860989
      

      outcome:

      passed
      
    • Test 705
      params: seq=[{"a": 2, "b": 3}, {}, {"c": 4}], expected=2

      📌 Parameters

      params:
        seq: [{"a": 2, "b": 3}, {}, {"c": 4}]
        expected: 2
      id: "seq3-2"
      

      📌 Setup phase

      duration:

      0.00032066999847302213
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020162100554443896
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002080470003420487
      

      outcome:

      passed
      

    Function: test_strlen

    • Test 706
      params: value=42, expected=2

      📌 Parameters

      params:
        value: 42
        expected: 2
      id: "42-2"
      

      📌 Setup phase

      duration:

      0.00032721499883336946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002552480000304058
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019584600522648543
      

      outcome:

      passed
      
    • Test 707
      params: value="hello", expected=5

      📌 Parameters

      params:
        value: "hello"
        expected: 5
      id: "hello-5"
      

      📌 Setup phase

      duration:

      0.00042121099977521226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019118199998047203
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019448300008662045
      

      outcome:

      passed
      
    • Test 708
      params: value=false, expected=5

      📌 Parameters

      params:
        value: false
        expected: 5
      id: "False-5"
      

      📌 Setup phase

      duration:

      0.0002807040000334382
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017407599807484075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019665699801407754
      

      outcome:

      passed
      
    • Test 709
      params: value=null, expected=4

      📌 Parameters

      params:
        value: null
        expected: 4
      id: "None-4"
      

      📌 Setup phase

      duration:

      0.00027960100123891607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019350000366102904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021561600442510098
      

      outcome:

      passed
      
    • Test 710
      params: value=[1, 2, 3], expected=9

      📌 Parameters

      params:
        value: [1, 2, 3]
        expected: 9
      id: "value4-9"
      

      📌 Setup phase

      duration:

      0.00028836199635406956
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021133099653525278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021514899708563462
      

      outcome:

      passed
      
    • Test 711
      params: value={"a": 1}, expected=8

      📌 Parameters

      params:
        value: {"a": 1}
        expected: 8
      id: "value5-8"
      

      📌 Setup phase

      duration:

      0.00039463999564759433
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020320700423326343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020500000391621143
      

      outcome:

      passed
      
    • Test 712
      params: value=[1, 2], expected=6

      📌 Parameters

      params:
        value: [1, 2]
        expected: 6
      id: "value6-6"
      

      📌 Setup phase

      duration:

      0.0002676169970072806
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000190452003153041
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019401100144023076
      

      outcome:

      passed
      
    • Test 713
      params: value="", expected=0

      📌 Parameters

      params:
        value: ""
        expected: 0
      id: "-0"
      

      📌 Setup phase

      duration:

      0.00035271700471639633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020840600336669013
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019438799790805206
      

      outcome:

      passed
      
    • Test 714
      params: value="this is a phrase", expected=16

      📌 Parameters

      params:
        value: "this is a phrase"
        expected: 16
      id: "this is a phrase-16"
      

      📌 Setup phase

      duration:

      0.00026526000146986917
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016847500228323042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019885000074282289
      

      outcome:

      passed
      

    Function: test_maxstrlen

    • Test 715
      params: seq=[1, true, 3.1415], expected=6

      📌 Parameters

      params:
        seq: [1, true, 3.1415]
        expected: 6
      id: "seq0-6"
      

      📌 Setup phase

      duration:

      0.00029455999901983887
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002264380018459633
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001836360024753958
      

      outcome:

      passed
      
    • Test 716
      params: seq=["aa", "bbb", "c"], expected=3

      📌 Parameters

      params:
        seq: ["aa", "bbb", "c"]
        expected: 3
      id: "seq1-3"
      

      📌 Setup phase

      duration:

      0.00027319200307829306
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000184397998964414
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017835100152296945
      

      outcome:

      passed
      
    • Test 717
      params: seq=[[1, 2], [], [1, 2, 3]], expected=9

      📌 Parameters

      params:
        seq: [[1, 2], [], [1, 2, 3]]
        expected: 9
      id: "seq2-9"
      

      📌 Setup phase

      duration:

      0.000283996996586211
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021588500385405496
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018377500236965716
      

      outcome:

      passed
      
    • Test 718
      params: seq=[{"a": 1}, {}, {"a": 1, "b": 2}], expected=16

      📌 Parameters

      params:
        seq: [{"a": 1}, {}, {"a": 1, "b": 2}]
        expected: 16
      id: "seq3-16"
      

      📌 Setup phase

      duration:

      0.00028122399817220867
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019777200213866308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001875689995358698
      

      outcome:

      passed
      
    • Test 719
      params: seq=[null, false, 12345], expected=5

      📌 Parameters

      params:
        seq: [null, false, 12345]
        expected: 5
      id: "seq4-5"
      

      📌 Setup phase

      duration:

      0.00025866299984045327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018446900503477082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002199829978053458
      

      outcome:

      passed
      

    Function: test_transpose_matrix

    • Test 720
      params: data=[[1, 2], [3, 4]], expected=[[1, 3], [2, 4]]

      📌 Parameters

      params:
        data: [[1, 2], [3, 4]]
        expected: [[1, 3], [2, 4]]
      id: "data0-expected0"
      

      📌 Setup phase

      duration:

      0.0002673380004125647
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017905400454765186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019535599858500063
      

      outcome:

      passed
      
    • Test 721
      params: data=[["a", "b"], ["c", "d"]], expected=[["a", "c"], ["b", "d"]]

      📌 Parameters

      params:
        data: [["a", "b"], ["c", "d"]]
        expected: [["a", "c"], ["b", "d"]]
      id: "data1-expected1"
      

      📌 Setup phase

      duration:

      0.00026587599859340116
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017660100274952129
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017241999739781022
      

      outcome:

      passed
      
    • Test 722
      params: data=[[{"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}]], expected=[[{"x": 1}, {"x": 3}], [{"y": 2}, {"y": 4}]]

      📌 Parameters

      params:
        data: [[{"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}]]
        expected: [[{"x": 1}, {"x": 3}], [{"y": 2}, {"y": 4}]]
      id: "data2-expected2"
      

      📌 Setup phase

      duration:

      0.0002798610003083013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020644899632316083
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019318900012876838
      

      outcome:

      passed
      

    Function: test_prepend

    • Test 723
      params: initial=[1, 2, 3], prepend=1, expected=[1, 2, 3]

      📌 Parameters

      params:
        initial: [1, 2, 3]
        prepend: 1
        expected: [1, 2, 3]
      id: "initial0-1-expected0"
      

      📌 Setup phase

      duration:

      0.00033250100386794657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020071600010851398
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002082680002786219
      

      outcome:

      passed
      
    • Test 724
      params: initial=["a", "b", "c"], prepend="a", expected=["a", "b", "c"]

      📌 Parameters

      params:
        initial: ["a", "b", "c"]
        prepend: "a"
        expected: ["a", "b", "c"]
      id: "initial1-a-expected1"
      

      📌 Setup phase

      duration:

      0.0003553889982867986
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018953499966301024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019658800010802224
      

      outcome:

      passed
      
    • Test 725
      params: initial=[{"a": 1}, {"b": 2}], prepend={"a": 1}, expected=[{"a": 1}, {"b": 2}]

      📌 Parameters

      params:
        initial: [{"a": 1}, {"b": 2}]
        prepend: {"a": 1}
        expected: [{"a": 1}, {"b": 2}]
      id: "initial2-prepend2-expected2"
      

      📌 Setup phase

      duration:

      0.0003275990020483732
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018114499835064635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019952999718952924
      

      outcome:

      passed
      
    • Test 726
      params: initial=[[1], [2], [3]], prepend=[1], expected=[[1], [2], [3]]

      📌 Parameters

      params:
        initial: [[1], [2], [3]]
        prepend: [1]
        expected: [[1], [2], [3]]
      id: "initial3-prepend3-expected3"
      

      📌 Setup phase

      duration:

      0.00030975999834481627
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018957100110128522
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019191200408386067
      

      outcome:

      passed
      

    Function: test_fmt_table_line

    • Test 727
      params: entries=["a", "bbb"], widths=[3, 5], expected=" a bbb"

      📌 Parameters

      params:
        entries: ["a", "bbb"]
        widths: [3, 5]
        expected: "  a   bbb"
      id: "entries0-widths0-  a   bbb"
      

      📌 Setup phase

      duration:

      0.00031038199813337997
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002054880023933947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021998600277584046
      

      outcome:

      passed
      
    • Test 728
      params: entries=[1, 2], widths=[2, 2], expected=" 1 2"

      📌 Parameters

      params:
        entries: [1, 2]
        widths: [2, 2]
        expected: " 1  2"
      id: "entries1-widths1- 1  2"
      

      📌 Setup phase

      duration:

      0.0003049099977943115
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019767400226555765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021199600450927392
      

      outcome:

      passed
      
    • Test 729
      params: entries=["long", "val"], widths=[6, 4], expected=" long val"

      📌 Parameters

      params:
        entries: ["long", "val"]
        widths: [6, 4]
        expected: "  long  val"
      id: "entries2-widths2-  long  val"
      

      📌 Setup phase

      duration:

      0.00032326600194210187
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017524700524518266
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019210799655411392
      

      outcome:

      passed
      
    • Test 730
      params: entries=[true, false], widths=[5, 6], expected=" True False"

      📌 Parameters

      params:
        entries: [true, false]
        widths: [5, 6]
        expected: " True  False"
      id: "entries3-widths3- True  False"
      

      📌 Setup phase

      duration:

      0.0003171089992974885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001785649947123602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020437000057427213
      

      outcome:

      passed
      
    • Test 731
      params: entries=[123, 4567], widths=[5, 5], expected=" 123 4567"

      📌 Parameters

      params:
        entries: [123, 4567]
        widths: [5, 5]
        expected: "  123  4567"
      id: "entries4-widths4-  123  4567"
      

      📌 Setup phase

      duration:

      0.0003697239953908138
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018851800268748775
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023614200472366065
      

      outcome:

      passed
      
    • Test 732
      params: entries=["text with space", "end"], widths=[16, 5], expected=" text with space end"

      📌 Parameters

      params:
        entries: ["text with space", "end"]
        widths: [16, 5]
        expected: " text with space   end"
      id: "entries5-widths5- text with space   end"
      

      📌 Setup phase

      duration:

      0.00045656699512619525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019289399642730132
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019825100025627762
      

      outcome:

      passed
      
    • Test 733
      params: entries=[{"a": 1}, {"b": 2}], widths=[10, 10], expected=" {'a': 1} {'b': 2}"

      📌 Parameters

      params:
        entries: [{"a": 1}, {"b": 2}]
        widths: [10, 10]
        expected: "  {'a': 1}   {'b': 2}"
      id: "entries6-widths6-  {'a': 1}   {'b': 2}"
      

      📌 Setup phase

      duration:

      0.0003110090037807822
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019927500397898257
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019953699666075408
      

      outcome:

      passed
      
    • Test 734
      params: entries=[[1, 2], [3, 4]], widths=[10, 10], expected=" [1, 2] [3, 4]"

      📌 Parameters

      params:
        entries: [[1, 2], [3, 4]]
        widths: [10, 10]
        expected: "    [1, 2]     [3, 4]"
      id: "entries7-widths7-    [1, 2]     [3, 4]"
      

      📌 Setup phase

      duration:

      0.00031863999902270734
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002444160054437816
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022741500288248062
      

      outcome:

      passed
      

    Function: test_fmt_label_sep

    • Test 735
      params: widths=[3, 4], line="-", expected="--- ----"

      📌 Parameters

      params:
        widths: [3, 4]
        line: "-"
        expected: "--- ----"
      id: "widths0------ ----"
      

      📌 Setup phase

      duration:

      0.0003691489982884377
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002035590005107224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020065800345037133
      

      outcome:

      passed
      
    • Test 736
      params: widths=[2, 3], line="=", expected="== ==="

      📌 Parameters

      params:
        widths: [2, 3]
        line: "="
        expected: "== ==="
      id: "widths1-=-== ==="
      

      📌 Setup phase

      duration:

      0.00040306900336872786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017764999938663095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002016180005739443
      

      outcome:

      passed
      
    • Test 737
      params: widths=[5, 2], line="*", expected="***** **"

      📌 Parameters

      params:
        widths: [5, 2]
        line: "*"
        expected: "***** **"
      id: "widths2-*-***** **"
      

      📌 Setup phase

      duration:

      0.0003397679975023493
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018862099386751652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001899720009532757
      

      outcome:

      passed
      

    Function: test_printable_dict_with_header

    • Test 738
      params: d={"medium": true, "very_long_key": 3.14, "x": 1}, header="HeaderTest", expected_lines=["HeaderTest:", "-----------", "medium: True", "very_long_key: 3.14", "x: 1", ""]

      📌 Parameters

      params:
        d: {"medium": true, "very_long_key": 3.14, "x": 1}
        header: "HeaderTest"
        expected_lines: ["HeaderTest:", "-----------", "medium:        True", "very_long_key: 3.14", "x:             1", ""]
      id: "d0-HeaderTest-expected_lines0"
      

      📌 Setup phase

      duration:

      0.0003210750001017004
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026611700013745576
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002222700059064664
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 739

      📌 Setup phase

      duration:

      0.00015435200475621969
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002733569999691099
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001500349972047843
      

      outcome:

      passed
      

    Function: test_printable_table

    • Test 740
      params: data=[["X1", true, 0.1234, {"meta": "ok"}], ["AnotherSample", false, 98765.4321, {"meta": [1, 2, 3]}], ["Z", null, 0.0, {"meta": {"nested_key": 42}}]], labels=["ID", "✓ Success?", "SuperPrecisionValue", "Result Metadata"], expected="A: ID\nB: ✓ Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n# A B C D\n- ------------- ----- ---------- ----------------------------\n0 X1 True 0.1234 {'meta': 'ok'}\n1 AnotherSample False 98765.4321 {'meta': [1, 2, 3]}\n2 Z None 0.0 {'meta': {'nested_key': 42}}"

      📌 Parameters

      params:
        data: [["X1", true, 0.1234, {"meta": "ok"}], ["AnotherSample", false, 98765.4321, {"meta": [1, 2, 3]}], ["Z", null, 0.0, {"meta": {"nested_key": 42}}]]
        labels: ["ID", "✓ Success?", "SuperPrecisionValue", "Result Metadata"]
        expected: "A: ID\nB: ✓ Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}"
      id: "data0-labels0-A: ID\\nB: \\u2713 Success?\\nC: SuperPrecisionValue\\nD: Result Metadata\\n\\n#             A     B          C                            D\\n- ------------- ----- ---------- ----------------------------\\n0            X1  True     0.1234               {'meta': 'ok'}\\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\\n2             Z  None        0.0 {'meta': {'nested_key': 42}}"
      

      📌 Setup phase

      duration:

      0.00030866100132698193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043476800055941567
      

      outcome:

      passed
      

      stdout:

      "A: ID\nB: ✓ Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}"
      "A: ID\nB: ✓ Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}"
      
      

      📌 Teardown phase

      duration:

      0.0002420860037091188
      

      outcome:

      passed
      
  • 📄 test_utils_rangebar.py

    Function: test_full_progress_bar

    • Test 741

      📌 Setup phase

      duration:

      0.0003282289981143549
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037898399750702083
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021911100338911638
      

      outcome:

      passed
      

    Function: test_half_progress_bar

    • Test 742

      📌 Setup phase

      duration:

      0.0003057430003536865
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003090879981755279
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023192000662675127
      

      outcome:

      passed
      

    Function: test_zero_progress_bar

    • Test 743

      📌 Setup phase

      duration:

      0.0002896590012824163
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029794299916829914
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020453199977055192
      

      outcome:

      passed
      

    Function: test_overflow_bar

    • Test 744

      📌 Setup phase

      duration:

      0.000299023995466996
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027301799855194986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019955499737989157
      

      outcome:

      passed
      

    Function: test_underflow_bar

    • Test 745

      📌 Setup phase

      duration:

      0.0002778650014079176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002647639994393103
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019678800163092092
      

      outcome:

      passed
      

    Function: test_repr

    • Test 746

      📌 Setup phase

      duration:

      0.00015866299509070814
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019813600374618545
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000149461004184559
      

      outcome:

      passed
      

    Function: test_each_value_separately

    • Test 747
      params: value=0, expected_bar_part=" "

      📌 Parameters

      params:
        value: 0
        expected_bar_part: "          "
      id: "0-          "
      

      📌 Setup phase

      duration:

      0.0004894390003755689
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003054859989788383
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030272499861894175
      

      outcome:

      passed
      
    • Test 748
      params: value=10, expected_bar_part="█ "

      📌 Parameters

      params:
        value: 10
        expected_bar_part: "█         "
      id: "10-\\u2588         "
      

      📌 Setup phase

      duration:

      0.0003788779940805398
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002999969947268255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002753180015133694
      

      outcome:

      passed
      
    • Test 749
      params: value=25, expected_bar_part="██▌ "

      📌 Parameters

      params:
        value: 25
        expected_bar_part: "██▌       "
      id: "25-\\u2588\\u2588\\u258c       "
      

      📌 Setup phase

      duration:

      0.00038412900175899267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029662399902008474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023451999732060358
      

      outcome:

      passed
      
    • Test 750
      params: value=27, expected_bar_part="██▊ "

      📌 Parameters

      params:
        value: 27
        expected_bar_part: "██▊       "
      id: "27-\\u2588\\u2588\\u258a       "
      

      📌 Setup phase

      duration:

      0.0003823570004897192
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003096710061072372
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003669150028144941
      

      outcome:

      passed
      
    • Test 751
      params: value=49, expected_bar_part="████▉ "

      📌 Parameters

      params:
        value: 49
        expected_bar_part: "████▉     "
      id: "49-\\u2588\\u2588\\u2588\\u2588\\u2589     "
      

      📌 Setup phase

      duration:

      0.0003874729954986833
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002773689993773587
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022882700432091951
      

      outcome:

      passed
      
    • Test 752
      params: value=50, expected_bar_part="█████ "

      📌 Parameters

      params:
        value: 50
        expected_bar_part: "█████     "
      id: "50-\\u2588\\u2588\\u2588\\u2588\\u2588     "
      

      📌 Setup phase

      duration:

      0.00037726599839515984
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003024219986400567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002472420019330457
      

      outcome:

      passed
      
    • Test 753
      params: value=51, expected_bar_part="█████▏ "

      📌 Parameters

      params:
        value: 51
        expected_bar_part: "█████▏    "
      id: "51-\\u2588\\u2588\\u2588\\u2588\\u2588\\u258f    "
      

      📌 Setup phase

      duration:

      0.0003690639932756312
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002961249992949888
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002678070013644174
      

      outcome:

      passed
      
    • Test 754
      params: value=73, expected_bar_part="███████▎ "

      📌 Parameters

      params:
        value: 73
        expected_bar_part: "███████▎  "
      id: "73-\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u258e  "
      

      📌 Setup phase

      duration:

      0.0003688220022013411
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036099400313105434
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002541150024626404
      

      outcome:

      passed
      
    • Test 755
      params: value=75, expected_bar_part="███████▌ "

      📌 Parameters

      params:
        value: 75
        expected_bar_part: "███████▌  "
      id: "75-\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u258c  "
      

      📌 Setup phase

      duration:

      0.0003782049971050583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028842600295320153
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024359700182685629
      

      outcome:

      passed
      
    • Test 756
      params: value=90, expected_bar_part="█████████ "

      📌 Parameters

      params:
        value: 90
        expected_bar_part: "█████████ "
      id: "90-\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588 "
      

      📌 Setup phase

      duration:

      0.00038855999446241185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030727100238436833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025065500085474923
      

      outcome:

      passed
      
    • Test 757
      params: value=100, expected_bar_part="██████████"

      📌 Parameters

      params:
        value: 100
        expected_bar_part: "██████████"
      id: "100-\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588\\u2588"
      

      📌 Setup phase

      duration:

      0.000383892998797819
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002997580013470724
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002697219970286824
      

      outcome:

      passed
      
  • 📄 test_utils_readable.py

    Function: test_readable_seconds

    • Test 758
      params: seconds=59.4, expected="59 seconds"

      📌 Parameters

      params:
        seconds: 59.4
        expected: "59 seconds"
      id: "59.4-59 seconds"
      

      📌 Setup phase

      duration:

      0.0003756219957722351
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023688199871685356
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001869609986897558
      

      outcome:

      passed
      
    • Test 759
      params: seconds=59.9, expected="60 seconds"

      📌 Parameters

      params:
        seconds: 59.9
        expected: "60 seconds"
      id: "59.9-60 seconds"
      

      📌 Setup phase

      duration:

      0.000258858002780471
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018831300258170813
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018072100647259504
      

      outcome:

      passed
      
    • Test 760
      params: seconds=119.9, expected="120 seconds"

      📌 Parameters

      params:
        seconds: 119.9
        expected: "120 seconds"
      id: "119.9-120 seconds"
      

      📌 Setup phase

      duration:

      0.0002730209962464869
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002019099993049167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028178099455544725
      

      outcome:

      passed
      
    • Test 761
      params: seconds=120.1, expected="2 minutes"

      📌 Parameters

      params:
        seconds: 120.1
        expected: "2 minutes"
      id: "120.1-2 minutes"
      

      📌 Setup phase

      duration:

      0.0002775699977064505
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001820699981180951
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002656899960129522
      

      outcome:

      passed
      
    • Test 762
      params: seconds=3599.9, expected="60 minutes"

      📌 Parameters

      params:
        seconds: 3599.9
        expected: "60 minutes"
      id: "3599.9-60 minutes"
      

      📌 Setup phase

      duration:

      0.0003824090017587878
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022098699992056936
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003428980053286068
      

      outcome:

      passed
      
    • Test 763
      params: seconds=3600.1, expected="60 minutes"

      📌 Parameters

      params:
        seconds: 3600.1
        expected: "60 minutes"
      id: "3600.1-60 minutes"
      

      📌 Setup phase

      duration:

      0.00042787299753399566
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001989939992199652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019053200230700895
      

      outcome:

      passed
      
    • Test 764
      params: seconds=7199.9, expected="120 minutes"

      📌 Parameters

      params:
        seconds: 7199.9
        expected: "120 minutes"
      id: "7199.9-120 minutes"
      

      📌 Setup phase

      duration:

      0.00027611599944066256
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019584000256145373
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001848659958341159
      

      outcome:

      passed
      
    • Test 765
      params: seconds=7200.1, expected="2 hours"

      📌 Parameters

      params:
        seconds: 7200.1
        expected: "2 hours"
      id: "7200.1-2 hours"
      

      📌 Setup phase

      duration:

      0.0002631980023579672
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019342100131325424
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019268199685029685
      

      outcome:

      passed
      
    • Test 766
      params: seconds=90.4, expected="90 seconds"

      📌 Parameters

      params:
        seconds: 90.4
        expected: "90 seconds"
      id: "90.4-90 seconds"
      

      📌 Setup phase

      duration:

      0.000336267999955453
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019192199397366494
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001859620024333708
      

      outcome:

      passed
      
    • Test 767
      params: seconds=90.6, expected="91 seconds"

      📌 Parameters

      params:
        seconds: 90.6
        expected: "91 seconds"
      id: "90.6-91 seconds"
      

      📌 Setup phase

      duration:

      0.0002695419971132651
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019508099649101496
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020729999960167333
      

      outcome:

      passed
      
    • Test 768
      params: seconds=121.9, expected="2 minutes"

      📌 Parameters

      params:
        seconds: 121.9
        expected: "2 minutes"
      id: "121.9-2 minutes"
      

      📌 Setup phase

      duration:

      0.0002730250052991323
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001889100021799095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018678099877433851
      

      outcome:

      passed
      
    • Test 769
      params: seconds=1296000.0, expected="2 weeks"

      📌 Parameters

      params:
        seconds: 1296000.0
        expected: "2 weeks"
      id: "1296000.0-2 weeks"
      

      📌 Setup phase

      duration:

      0.0003033620014321059
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020428700372576714
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017615999968256801
      

      outcome:

      passed
      
    • Test 770
      params: seconds=2592000.0, expected="4 weeks"

      📌 Parameters

      params:
        seconds: 2592000.0
        expected: "4 weeks"
      id: "2592000.0-4 weeks"
      

      📌 Setup phase

      duration:

      0.00025529700360493734
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020172700169496238
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019979799981229007
      

      outcome:

      passed
      
    • Test 771
      params: seconds=2800000.0, expected="5 weeks"

      📌 Parameters

      params:
        seconds: 2800000.0
        expected: "5 weeks"
      id: "2800000.0-5 weeks"
      

      📌 Setup phase

      duration:

      0.0002585909969639033
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019688800239237025
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018366499716648832
      

      outcome:

      passed
      
    • Test 772
      params: seconds=3888000.0, expected="6 weeks"

      📌 Parameters

      params:
        seconds: 3888000.0
        expected: "6 weeks"
      id: "3888000.0-6 weeks"
      

      📌 Setup phase

      duration:

      0.00029231699591036886
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019615599740063772
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002998729978571646
      

      outcome:

      passed
      
    • Test 773
      params: seconds=5097600.0, expected="8 weeks"

      📌 Parameters

      params:
        seconds: 5097600.0
        expected: "8 weeks"
      id: "5097600.0-8 weeks"
      

      📌 Setup phase

      duration:

      0.0004770179948536679
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003192250005668029
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003317609953228384
      

      outcome:

      passed
      
    • Test 774
      params: seconds=5184000.0, expected="9 weeks"

      📌 Parameters

      params:
        seconds: 5184000.0
        expected: "9 weeks"
      id: "5184000.0-9 weeks"
      

      📌 Setup phase

      duration:

      0.000471475999802351
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033606500073801726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003139449981972575
      

      outcome:

      passed
      
    • Test 775
      params: seconds=5270400.0, expected="2 months"

      📌 Parameters

      params:
        seconds: 5270400.0
        expected: "2 months"
      id: "5270400.0-2 months"
      

      📌 Setup phase

      duration:

      0.0004661919956561178
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031839500297792256
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00032366300001740456
      

      outcome:

      passed
      
    • Test 776
      params: seconds=23328000.0, expected="9 months"

      📌 Parameters

      params:
        seconds: 23328000.0
        expected: "9 months"
      id: "23328000.0-9 months"
      

      📌 Setup phase

      duration:

      0.0004462529977899976
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003233199968235567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030990199593361467
      

      outcome:

      passed
      
    • Test 777
      params: seconds=31104000.0, expected="12 months"

      📌 Parameters

      params:
        seconds: 31104000.0
        expected: "12 months"
      id: "31104000.0-12 months"
      

      📌 Setup phase

      duration:

      0.00045147699711378664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033218099997611716
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030683999648317695
      

      outcome:

      passed
      
    • Test 778
      params: seconds=33696000.0, expected="13 months"

      📌 Parameters

      params:
        seconds: 33696000.0
        expected: "13 months"
      id: "33696000.0-13 months"
      

      📌 Setup phase

      duration:

      0.0004572179968818091
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031805099570192397
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003218299971194938
      

      outcome:

      passed
      
    • Test 779
      params: seconds=59616000.0, expected="23 months"

      📌 Parameters

      params:
        seconds: 59616000.0
        expected: "23 months"
      id: "59616000.0-23 months"
      

      📌 Setup phase

      duration:

      0.0004860280023422092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000321750994771719
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00035520399978850037
      

      outcome:

      passed
      
    • Test 780
      params: seconds=62208000.0, expected="24 months"

      📌 Parameters

      params:
        seconds: 62208000.0
        expected: "24 months"
      id: "62208000.0-24 months"
      

      📌 Setup phase

      duration:

      0.0004871240016655065
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003196399993612431
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002872690020012669
      

      outcome:

      passed
      
    • Test 781
      params: seconds=64208000.0, expected="2 years"

      📌 Parameters

      params:
        seconds: 64208000.0
        expected: "2 years"
      id: "64208000.0-2 years"
      

      📌 Setup phase

      duration:

      0.00041580300603527576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028027300140820444
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027622700145002455
      

      outcome:

      passed
      
  • 📄 test_utils_registry.py

    Function: test_metaclass_creates_weakset

    • Test 782

      📌 Setup phase

      duration:

      0.00026890299341175705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010276549946865998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025570200523361564
      

      outcome:

      passed
      

    Function: test_metaclass_tracks_instances

    • Test 783

      📌 Setup phase

      duration:

      0.00024790200404822826
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040653199539519846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002399340010015294
      

      outcome:

      passed
      

    Function: test_registry_inheritance

    • Test 784

      📌 Setup phase

      duration:

      0.0007017290045041591
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000892771000508219
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002694830036489293
      

      outcome:

      passed
      

    Function: test_instance_tracking

    • Test 785

      📌 Setup phase

      duration:

      0.0003437449995544739
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004223790019750595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002444420024403371
      

      outcome:

      passed
      

    Function: test_collect_instances_recursive

    • Test 786

      📌 Setup phase

      duration:

      0.00032259499857900664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001460405001125764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00031515699811279774
      

      outcome:

      passed
      

    Function: test_instances_function

    • Test 787

      📌 Setup phase

      duration:

      0.00035489800211507827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015738360016257502
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00029589900077553466
      

      outcome:

      passed
      

    Function: test_non_registry_class_error

    • Test 788

      📌 Setup phase

      duration:

      0.0002440230018692091
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003752269985852763
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002361369988648221
      

      outcome:

      passed
      

    Function: test_signature_preservation

    • Test 789

      📌 Setup phase

      duration:

      0.00023860199871705845
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043385200115153566
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021861200366402045
      

      outcome:

      passed
      
  • 📄 test_utils_richcfg.py

    Function: test_rich_inspector_outputs_more_than_builtin

    • Test 790

      📌 Setup phase

      duration:

      0.00045310200221138075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.11820951599656837
      

      outcome:

      passed
      

      stdout:

      ╭─ user = <test_utils_richcfg.User object at 0x7f5240144160> ─╮
       Represents a user in the system.                            
                                                                   
       ╭─────────────────────────────────────────────────────────╮ 
        <test_utils_richcfg.User object at 0x7f5240144160>       
       ╰─────────────────────────────────────────────────────────╯ 
                                                                   
         age = 30                                                  
        name = 'Alice'                                             
        role = 'admin'                                             
       greet = def greet(): Returns a welcome message.             
      ╰─────────────────────────────────────────────────────────────╯
      
      
      
      
      
      Type:        User
      String form: <test_utils_richcfg.User object at 0x7f52400d1820>
      File:        /workspace/tligui_y/slic/tests/test_utils_richcfg.py
      Source:     
      class User:
          """Represents a user in the system."""
      
          role = "admin"
      
          def __init__(self, name: str, age: int):
              self.name = name
              self.age = age
      
          def greet(self):
              """Returns a welcome message."""
              return f"Welcome, {self.name}!"
      
      
      

      📌 Teardown phase

      duration:

      0.00034731300547719
      

      outcome:

      passed
      
  • 📄 test_utils_run_later.py

    Function: test_init_and_repr

    • Test 791

      📌 Setup phase

      duration:

      0.0002116639952873811
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002598610008135438
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017089400353142992
      

      outcome:

      passed
      

    Function: test_call

    • Test 792

      📌 Setup phase

      duration:

      0.00019522200454957783
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021900099818594754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014063300477573648
      

      outcome:

      passed
      

    Function: test_matmul_with_string

    • Test 793

      📌 Setup phase

      duration:

      0.00014135100354906172
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023202099691843614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016195500211324543
      

      outcome:

      passed
      

    Function: test_matmul_with_list

    • Test 794

      📌 Setup phase

      duration:

      0.00014819399802945554
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001939549983944744
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014869799633743241
      

      outcome:

      passed
      

    Function: test_matmul_with_single_int

    • Test 795

      📌 Setup phase

      duration:

      0.0001669000048423186
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002070439950330183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013699800183530897
      

      outcome:

      passed
      

    Function: test_run_at_future_triggered_and_logs

    • Test 796

      📌 Setup phase

      duration:

      0.00041889300337061286
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20268627400218975
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00037949500256218016
      

      outcome:

      passed
      

    Function: test_run_at_already_past

    • Test 797

      📌 Setup phase

      duration:

      0.0003907770005753264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043262799590593204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026954100030707195
      

      outcome:

      passed
      

    Function: test_run_in_future_triggered_and_logs

    • Test 798

      📌 Setup phase

      duration:

      0.0003242250022594817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20206092400621856
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00035874499735655263
      

      outcome:

      passed
      

    Function: test_run_in_past

    • Test 799

      📌 Setup phase

      duration:

      0.0003787729947362095
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041950899321818724
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002445819991407916
      

      outcome:

      passed
      

    Function: test_run_later_with_seconds

    • Test 800

      📌 Setup phase

      duration:

      0.00030784899718128145
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.2020614499997464
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00034659299853956327
      

      outcome:

      passed
      

    Function: test_run_later_with_past_datetime

    • Test 801

      📌 Setup phase

      duration:

      0.000384920000215061
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000397463001718279
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022320100106298923
      

      outcome:

      passed
      

    Function: test_run_at_tqdm_multiple_updates

    • Test 802

      📌 Setup phase

      duration:

      0.0003578140022000298
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.2019322310006828
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003833819937426597
      

      outcome:

      passed
      

    Function: test_today_basic

    • Test 803

      📌 Setup phase

      duration:

      0.00020067900186404586
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007746170012978837
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015802699635969475
      

      outcome:

      passed
      

    Function: test_tomorrow_basic

    • Test 804

      📌 Setup phase

      duration:

      0.00018217599426861852
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004291360019124113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001640839982428588
      

      outcome:

      passed
      

    Function: test_yesterday_basic

    • Test 805

      📌 Setup phase

      duration:

      0.0001561919998493977
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040470800013281405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014993900549598038
      

      outcome:

      passed
      

    Function: test_today_matmul_string

    • Test 806

      📌 Setup phase

      duration:

      0.00016425099602201954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003830390051007271
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013896899326937273
      

      outcome:

      passed
      

    Function: test_tomorrow_matmul_list

    • Test 807

      📌 Setup phase

      duration:

      0.0001481790022808127
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039660999755142257
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014270599785959348
      

      outcome:

      passed
      

    Function: test_yesterday_matmul_single

    • Test 808

      📌 Setup phase

      duration:

      0.0001517530035926029
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038540500099770725
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014784400264034048
      

      outcome:

      passed
      
  • 📄 test_utils_sendmail.py

    Function: test_sendmail_local_delivery

    • Test 809

      📌 Setup phase

      duration:

      0.00016838799638208002
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.1215050459941267
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00033070999779738486
      

      outcome:

      passed
      

    Function: test_sendmail_raises_on_sendmail_failure

    • Test 810

      📌 Setup phase

      duration:

      0.00044083200191380456
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008401559971389361
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002069629990728572
      

      outcome:

      passed
      
  • 📄 test_utils_sendsms.py

    Function: test_sendsms_local_delivery

    • Test 811

      📌 Setup phase

      duration:

      0.0001830380060710013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.11756067800160963
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003530280009726994
      

      outcome:

      passed
      
  • 📄 test_utils_shortcut.py

    Function: TestShortcutInitialization

    • Test 812

      📌 Setup phase

      duration:

      0.0005677230001310818
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028058900352334604
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002238059969386086
      

      outcome:

      passed
      
    • Test 813

      📌 Setup phase

      duration:

      0.00028198500513099134
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024685400421731174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001896839967230335
      

      outcome:

      passed
      

    Function: test_run_method

    • Test 814

      📌 Setup phase

      duration:

      0.0004555569976218976
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007686999961151741
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002852260004146956
      

      outcome:

      passed
      

    Function: test_repr_output

    • Test 815

      📌 Setup phase

      duration:

      0.0002495160006219521
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020150899945292622
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019885499932570383
      

      outcome:

      passed
      

    Function: test_source_with_regular_function

    • Test 816

      📌 Setup phase

      duration:

      0.00024422800197498873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015167530000326224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023964200227055699
      

      outcome:

      passed
      

    Function: test_source_error_handling

    • Test 817

      📌 Setup phase

      duration:

      0.0002585120018920861
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000999035000859294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021458299306686968
      

      outcome:

      passed
      

    Function: test_as_shortcut_basic

    • Test 818

      📌 Setup phase

      duration:

      0.00029850899591110647
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019378199795028195
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003015809998032637
      

      outcome:

      passed
      

    Function: test_as_shortcut_with_name

    • Test 819

      📌 Setup phase

      duration:

      0.0002480510011082515
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001993890036828816
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021885100431973115
      

      outcome:

      passed
      

    Function: test_as_shortcut_factory_pattern

    • Test 820

      📌 Setup phase

      duration:

      0.00046778700198046863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019657600205391645
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002031459953286685
      

      outcome:

      passed
      

    Function: TestShortcutsSingleton

    • Test 821

      📌 Setup phase

      duration:

      0.0003577519964892417
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019085499661741778
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020996500097680837
      

      outcome:

      passed
      
    • Test 822

      📌 Setup phase

      duration:

      0.0003461070009507239
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002564309979788959
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021089200163260102
      

      outcome:

      passed
      
    • Test 823

      📌 Setup phase

      duration:

      0.00031915900035528466
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021637899772031233
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003067580037168227
      

      outcome:

      passed
      
    • Test 824

      📌 Setup phase

      duration:

      0.000310796000121627
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002596460035420023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002164859979529865
      

      outcome:

      passed
      
    • Test 825

      📌 Setup phase

      duration:

      0.0003159500047331676
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003006089973496273
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020959399989806116
      

      outcome:

      passed
      

    Function: TestFullIntegration

    • Test 826

      📌 Setup phase

      duration:

      0.0004742250021081418
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008155510004144162
      

      outcome:

      passed
      

      stdout:

      Calculating 3 + 4
      
      

      📌 Teardown phase

      duration:

      0.00031072000274434686
      

      outcome:

      passed
      
    • Test 827

      📌 Setup phase

      duration:

      0.0003342970012454316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026948800223181024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002085759988403879
      

      outcome:

      passed
      

    Function: test_registry_inheritance

    • Test 828

      📌 Setup phase

      duration:

      0.0002597599959699437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018330899911234155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019459699979051948
      

      outcome:

      passed
      
  • 📄 test_utils_snapshot.py

    Function: test_snapshot

    • Test 829
      params: test_input=[["v1", "Visible", false], ["h1", "Hidden", true]], expected=["Visible"], kwargs={}

      📌 Parameters

      params:
        test_input: [["v1", "Visible", false], ["h1", "Hidden", true]]
        expected: ["Visible"]
        kwargs: {}
      id: "exclude_internals"
      

      📌 Setup phase

      duration:

      0.0003447679991950281
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006321929977275431
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002213080006185919
      

      outcome:

      passed
      
    • Test 830
      params: test_input=[["v1", "Visible", false], ["h1", "Hidden", true]], expected=["Visible", "Hidden"], kwargs={"include_internal": true}

      📌 Parameters

      params:
        test_input: [["v1", "Visible", false], ["h1", "Hidden", true]]
        expected: ["Visible", "Hidden"]
        kwargs: {"include_internal": true}
      id: "include_internals"
      

      📌 Setup phase

      duration:

      0.0003165920061292127
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000502668997796718
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002129380009137094
      

      outcome:

      passed
      
    • Test 831
      params: test_input=[], expected=[], kwargs={}

      📌 Parameters

      params:
        test_input: []
        expected: []
        kwargs: {}
      id: "empty_case"
      

      📌 Setup phase

      duration:

      0.0003249930014135316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019721099670277908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021173599816393107
      

      outcome:

      passed
      
    • Test 832
      params: test_input=[["3", "Charlie"], ["1", "Alpha"], ["2", "Beta"]], expected=["Alpha", "Beta", "Charlie"], kwargs="{'sort_key': <class 'str'>}"

      📌 Parameters

      params:
        test_input: [["3", "Charlie"], ["1", "Alpha"], ["2", "Beta"]]
        expected: ["Alpha", "Beta", "Charlie"]
        kwargs: "{'sort_key': <class 'str'>}"
      id: "sort_str"
      

      📌 Setup phase

      duration:

      0.0004078410056536086
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006151230045361444
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023075000353856012
      

      outcome:

      passed
      
    • Test 833
      params: test_input=[["z3", "C"], ["a1", "A"], ["m2", "B"]], expected=["A", "B", "C"], kwargs="{'sort_key': <function <lambda> at 0x7f52420550d0>}"

      📌 Parameters

      params:
        test_input: [["z3", "C"], ["a1", "A"], ["m2", "B"]]
        expected: ["A", "B", "C"]
        kwargs: "{'sort_key': <function <lambda> at 0x7f52420550d0>}"
      id: "sort_id"
      

      📌 Setup phase

      duration:

      0.00032045999978436157
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006039410000084899
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022819800506113097
      

      outcome:

      passed
      
    • Test 834
      params: test_input=[["3", "Charlie"], ["1", "alpha"], ["2", "Beta"]], expected=["alpha", "Beta", "Charlie"], kwargs="{'sort_key': <function <lambda> at 0x7f5242055160>}"

      📌 Parameters

      params:
        test_input: [["3", "Charlie"], ["1", "alpha"], ["2", "Beta"]]
        expected: ["alpha", "Beta", "Charlie"]
        kwargs: "{'sort_key': <function <lambda> at 0x7f5242055160>}"
      id: "sort_case_insensitive"
      

      📌 Setup phase

      duration:

      0.00034089100518031046
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006673600000794977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002240940011688508
      

      outcome:

      passed
      
    • Test 835
      params: test_input=[["1", "A"], ["2", "BB"], ["3", "CCC"]], expected=["A", "BB", "CCC"], kwargs="{'sort_key': <function <lambda> at 0x7f52420551f0>}"

      📌 Parameters

      params:
        test_input: [["1", "A"], ["2", "BB"], ["3", "CCC"]]
        expected: ["A", "BB", "CCC"]
        kwargs: "{'sort_key': <function <lambda> at 0x7f52420551f0>}"
      id: "sort_length"
      

      📌 Setup phase

      duration:

      0.00033742599771358073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007402780029224232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021934300457360223
      

      outcome:

      passed
      
    • Test 836
      params: test_input=[["1", "A"], ["2", "B"], ["3", "C"]], expected=["C", "B", "A"], kwargs="{'sort_key': <function <lambda> at 0x7f5242055280>}"

      📌 Parameters

      params:
        test_input: [["1", "A"], ["2", "B"], ["3", "C"]]
        expected: ["C", "B", "A"]
        kwargs: "{'sort_key': <function <lambda> at 0x7f5242055280>}"
      id: "sort_reverse"
      

      📌 Setup phase

      duration:

      0.0003293530025985092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005846720014233142
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002407930005574599
      

      outcome:

      passed
      
  • 📄 test_utils_termtitle.py

    Function: test_terminal_title_with_tmux

    • Test 837

      📌 Setup phase

      duration:

      0.00019096799951512367
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03189247300178977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003595450034481473
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_complete_progress_bar

    • Test 838

      📌 Setup phase

      duration:

      0.00025842399918474257
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004294910999306012
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022756800171919167
      

      outcome:

      passed
      

    Function: test_set_progress_multiple_points

    • Test 839

      📌 Setup phase

      duration:

      0.00017099599790526554
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0018663570008357055
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019528700067894533
      

      outcome:

      passed
      

    Function: test_format_sizeof_alignment

    • Test 840

      📌 Setup phase

      duration:

      0.00017458700313000008
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002122490041074343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014287399972090498
      

      outcome:

      passed
      

    Function: test_float_alignment_in_bar

    • Test 841

      📌 Setup phase

      duration:

      0.00015538200386799872
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014889750018483028
      

      outcome:

      passed
      

      stdout:

      
      
      AlignBar:   1%|1         |   1.3/100.1
      AlignBar:  12%|#2        |  12.5/100.1
      AlignBar: 100%|#########9|  99.9/100.1
      AlignBar: 100%|##########| 100.1/100.1
      
      

      📌 Teardown phase

      duration:

      0.00018001600255956873
      

      outcome:

      passed
      

    Function: test_custom_unit

    • Test 842

      📌 Setup phase

      duration:

      0.00015893800446065143
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004998912001610734
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019071299902861938
      

      outcome:

      passed
      

    Function: test_clamp_above_total

    • Test 843

      📌 Setup phase

      duration:

      0.00017287900118390098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008969439950305969
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002417229989077896
      

      outcome:

      passed
      

    Function: test_clamp_below_zero

    • Test 844

      📌 Setup phase

      duration:

      0.0002391500020166859
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009204870002577081
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000179355003638193
      

      outcome:

      passed
      
  • 📄 test_utils_trinary.py

    Function: test_check_trinary_valid_values

    • Test 845

      📌 Setup phase

      duration:

      0.00019021600019186735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020561299606924877
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014550099876942113
      

      outcome:

      passed
      

    Function: test_check_trinary_invalid_value

    • Test 846

      📌 Setup phase

      duration:

      0.00017265100177610293
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005266259977361187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014855700283078477
      

      outcome:

      passed
      

    Function: test_check_trinary_with_custom_allowed_values

    • Test 847

      📌 Setup phase

      duration:

      0.0001786900029401295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021942600142210722
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017148700135294348
      

      outcome:

      passed
      
  • 📄 test_utils_typecast.py

    Function: test_downcast_success

    • Test 848

      📌 Setup phase

      duration:

      0.0001699130007182248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019845299539156258
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014085500151850283
      

      outcome:

      passed
      

    Function: test_upcast_success

    • Test 849

      📌 Setup phase

      duration:

      0.00015960699965944514
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021356700017349795
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014212800306268036
      

      outcome:

      passed
      

    Function: test_downcast_invalid

    • Test 850

      📌 Setup phase

      duration:

      0.00014696800644742325
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00045293199946172535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016560999938519672
      

      outcome:

      passed
      

    Function: test_upcast_invalid

    • Test 851

      📌 Setup phase

      duration:

      0.00015217100008158013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022879600146552548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014860700321150944
      

      outcome:

      passed
      

    Function: test_object_identity_preserved

    • Test 852

      📌 Setup phase

      duration:

      0.00014998999540694058
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019930499547626823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014459600060945377
      

      outcome:

      passed
      

    Function: test_ensure_subclass_valid

    • Test 853

      📌 Setup phase

      duration:

      0.00016852799308253452
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000176579000253696
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013526599650504068
      

      outcome:

      passed
      

    Function: test_ensure_subclass_invalid

    • Test 854

      📌 Setup phase

      duration:

      0.00014691099931951612
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022934599837753922
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013302599836606532
      

      outcome:

      passed
      

    Function: test_cast_changes_class

    • Test 855

      📌 Setup phase

      duration:

      0.00018275000184075907
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018899799761129543
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001508109999122098
      

      outcome:

      passed
      

    Function: test_cast_preserves_identity

    • Test 856

      📌 Setup phase

      duration:

      0.00014160499995341524
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001829350003390573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014041200483916327
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 857

      📌 Setup phase

      duration:

      0.000176811998244375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001844099970185198
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000131673994474113
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 858

      📌 Setup phase

      duration:

      0.0001565749989822507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017095800285460427
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014053099584998563
      

      outcome:

      passed
      

    Function: test_typename

    • Test 859
      params: obj=null, expected="NoneType"

      📌 Parameters

      params:
        obj: null
        expected: "NoneType"
      id: "None-NoneType"
      

      📌 Setup phase

      duration:

      0.0003908060025423765
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021578599989879876
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019609800074249506
      

      outcome:

      passed
      
    • Test 860
      params: obj=true, expected="bool"

      📌 Parameters

      params:
        obj: true
        expected: "bool"
      id: "True-bool"
      

      📌 Setup phase

      duration:

      0.0005216450008447282
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001906730030896142
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019281999993836507
      

      outcome:

      passed
      
    • Test 861
      params: obj=42, expected="int"

      📌 Parameters

      params:
        obj: 42
        expected: "int"
      id: "42-int"
      

      📌 Setup phase

      duration:

      0.00028061599732609466
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001812229966162704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017939900135388598
      

      outcome:

      passed
      
    • Test 862
      params: obj=3.14, expected="float"

      📌 Parameters

      params:
        obj: 3.14
        expected: "float"
      id: "3.14-float"
      

      📌 Setup phase

      duration:

      0.0002733770015765913
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018658900080481544
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002092790018650703
      

      outcome:

      passed
      
    • Test 863
      params: obj="text", expected="str"

      📌 Parameters

      params:
        obj: "text"
        expected: "str"
      id: "text-str"
      

      📌 Setup phase

      duration:

      0.00027633900026557967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018825400184141472
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018163699860451743
      

      outcome:

      passed
      
    • Test 864
      params: obj="{1, 2, 3}", expected="set"

      📌 Parameters

      params:
        obj: "{1, 2, 3}"
        expected: "set"
      id: "obj5-set"
      

      📌 Setup phase

      duration:

      0.00029457799973897636
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017164000018965453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003211399962310679
      

      outcome:

      passed
      
    • Test 865
      params: obj=[[1], [2, 3]], expected="list"

      📌 Parameters

      params:
        obj: [[1], [2, 3]]
        expected: "list"
      id: "obj6-list"
      

      📌 Setup phase

      duration:

      0.0002771619983832352
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018855900270864367
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018293599714525044
      

      outcome:

      passed
      
    • Test 866
      params: obj=[{"a": [1, 2]}, {"b": [3, 4]}], expected="list"

      📌 Parameters

      params:
        obj: [{"a": [1, 2]}, {"b": [3, 4]}]
        expected: "list"
      id: "obj7-list"
      

      📌 Setup phase

      duration:

      0.00027855499502038583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017186199693242088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017158200353151187
      

      outcome:

      passed
      
    • Test 867
      params: obj={"key": [{"nested": 1}, [2, 3]]}, expected="dict"

      📌 Parameters

      params:
        obj: {"key": [{"nested": 1}, [2, 3]]}
        expected: "dict"
      id: "obj8-dict"
      

      📌 Setup phase

      duration:

      0.0002731809945544228
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017954000213649124
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018435299716657028
      

      outcome:

      passed
      
    • Test 868
      params: obj="<function <lambda> at 0x7f5242053940>", expected="function"

      📌 Parameters

      params:
        obj: "<function <lambda> at 0x7f5242053940>"
        expected: "function"
      id: "<lambda>-function"
      

      📌 Setup phase

      duration:

      0.00026410700229462236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017956200463231653
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001741460000630468
      

      outcome:

      passed
      
    • Test 869
      params: obj="<function sample_function at 0x7f52420538b0>", expected="function"

      📌 Parameters

      params:
        obj: "<function sample_function at 0x7f52420538b0>"
        expected: "function"
      id: "sample_function-function"
      

      📌 Setup phase

      duration:

      0.00029201900179032236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017527300224173814
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019010200048796833
      

      outcome:

      passed
      
    • Test 870
      params: obj="<function sample_function.<locals>.nested at 0x7f52420539d0>", expected="function"

      📌 Parameters

      params:
        obj: "<function sample_function.<locals>.nested at 0x7f52420539d0>"
        expected: "function"
      id: "nested-function"
      

      📌 Setup phase

      duration:

      0.0002697239979170263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001894229935714975
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018800300313159823
      

      outcome:

      passed
      
    • Test 871
      params: obj="<built-in function len>", expected="builtin_function_or_method"

      📌 Parameters

      params:
        obj: "<built-in function len>"
        expected: "builtin_function_or_method"
      id: "len-builtin_function_or_method"
      

      📌 Setup phase

      duration:

      0.00028313400252955034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001800479949451983
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017842799570644274
      

      outcome:

      passed
      
    • Test 872
      params: obj="<built-in function sum>", expected="builtin_function_or_method"

      📌 Parameters

      params:
        obj: "<built-in function sum>"
        expected: "builtin_function_or_method"
      id: "sum-builtin_function_or_method"
      

      📌 Setup phase

      duration:

      0.00027411799965193495
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002085799933411181
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018759199883788824
      

      outcome:

      passed
      
    • Test 873
      params: obj="<module 'math' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/lib-dynload/math.cpython-38-x86_64-linux-gnu.so'>", expected="module"

      📌 Parameters

      params:
        obj: "<module 'math' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/lib-dynload/math.cpython-38-x86_64-linux-gnu.so'>"
        expected: "module"
      id: "math-module"
      

      📌 Setup phase

      duration:

      0.00026121300470549613
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001818570017348975
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017911900067701936
      

      outcome:

      passed
      
    • Test 874
      params: obj="<module 'sys' (built-in)>", expected="module"

      📌 Parameters

      params:
        obj: "<module 'sys' (built-in)>"
        expected: "module"
      id: "sys-module"
      

      📌 Setup phase

      duration:

      0.00026662900199880823
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017329500406049192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019325700122863054
      

      outcome:

      passed
      
    • Test 875
      params: obj="<class 'function'>", expected="type"

      📌 Parameters

      params:
        obj: "<class 'function'>"
        expected: "type"
      id: "function-type"
      

      📌 Setup phase

      duration:

      0.00026711799728218466
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017972000205190852
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018877600086852908
      

      outcome:

      passed
      
    • Test 876
      params: obj="<generator object <genexpr> at 0x7f52420f8cf0>", expected="generator"

      📌 Parameters

      params:
        obj: "<generator object <genexpr> at 0x7f52420f8cf0>"
        expected: "generator"
      id: "<genexpr>-generator"
      

      📌 Setup phase

      duration:

      0.0002913709977292456
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017464599659433588
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017437600035918877
      

      outcome:

      passed
      
    • Test 877
      params: obj="<list_iterator object at 0x7f5242047df0>", expected="list_iterator"

      📌 Parameters

      params:
        obj: "<list_iterator object at 0x7f5242047df0>"
        expected: "list_iterator"
      id: "obj18-list_iterator"
      

      📌 Setup phase

      duration:

      0.00027283300005365163
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017596799443708733
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001896720059448853
      

      outcome:

      passed
      

    Function: test_next_int

    • Test 878
      params: nums=[1, 2, 3], expected=4

      📌 Parameters

      params:
        nums: [1, 2, 3]
        expected: 4
      id: "nums0-4"
      

      📌 Setup phase

      duration:

      0.0002575290054664947
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001914369931910187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001851780034485273
      

      outcome:

      passed
      
    • Test 879
      params: nums=[10, 20], expected=21

      📌 Parameters

      params:
        nums: [10, 20]
        expected: 21
      id: "nums1-21"
      

      📌 Setup phase

      duration:

      0.00027761099772760645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019377800344955176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002068410030915402
      

      outcome:

      passed
      
    • Test 880
      params: nums=[], expected=0

      📌 Parameters

      params:
        nums: []
        expected: 0
      id: "nums2-0"
      

      📌 Setup phase

      duration:

      0.0002748240003711544
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000190302002010867
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018963900220114738
      

      outcome:

      passed
      

    Function: test_zero_pad

    • Test 881
      params: i=7, n=3, expected="007"

      📌 Parameters

      params:
        i: 7
        n: 3
        expected: "007"
      id: "7-3-007"
      

      📌 Setup phase

      duration:

      0.00037833399983355775
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018507700588088483
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021087299683131278
      

      outcome:

      passed
      
    • Test 882
      params: i=123, n=5, expected="00123"

      📌 Parameters

      params:
        i: 123
        n: 5
        expected: "00123"
      id: "123-5-00123"
      

      📌 Setup phase

      duration:

      0.000324340995575767
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019532800070010126
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020386999676702544
      

      outcome:

      passed
      
    • Test 883
      params: i=0, n=2, expected="00"

      📌 Parameters

      params:
        i: 0
        n: 2
        expected: "00"
      id: "0-2-00"
      

      📌 Setup phase

      duration:

      0.0003431020013522357
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017293899873038754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000228620003326796
      

      outcome:

      passed
      

    Function: test_iround

    • Test 884
      params: val=3.6, expected=4

      📌 Parameters

      params:
        val: 3.6
        expected: 4
      id: "3.6-4"
      

      📌 Setup phase

      duration:

      0.0002835710038198158
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020480000239331275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018311999883735552
      

      outcome:

      passed
      
    • Test 885
      params: val=2.1, expected=2

      📌 Parameters

      params:
        val: 2.1
        expected: 2
      id: "2.1-2"
      

      📌 Setup phase

      duration:

      0.000300464998872485
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017837699851952493
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000301184001727961
      

      outcome:

      passed
      
    • Test 886
      params: val=-1.5, expected=-2

      📌 Parameters

      params:
        val: -1.5
        expected: -2
      id: "-1.5--2"
      

      📌 Setup phase

      duration:

      0.0002948039982584305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000195494998479262
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017921399557963014
      

      outcome:

      passed
      
    • Test 887
      params: val=-1.4, expected=-1

      📌 Parameters

      params:
        val: -1.4
        expected: -1
      id: "-1.4--1"
      

      📌 Setup phase

      duration:

      0.0002973320006276481
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001828539971029386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018807400192599744
      

      outcome:

      passed
      

    Function: test_sorted_naturally

    • Test 888
      params: items=["file1", "file10", "file2"], expected=["file1", "file2", "file10"]

      📌 Parameters

      params:
        items: ["file1", "file10", "file2"]
        expected: ["file1", "file2", "file10"]
      id: "items0-expected0"
      

      📌 Setup phase

      duration:

      0.00026397500187158585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002335479948669672
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001998610023292713
      

      outcome:

      passed
      
    • Test 889
      params: items=["z9", "z10", "z2", "z1"], expected=["z1", "z2", "z9", "z10"]

      📌 Parameters

      params:
        items: ["z9", "z10", "z2", "z1"]
        expected: ["z1", "z2", "z9", "z10"]
      id: "items1-expected1"
      

      📌 Setup phase

      duration:

      0.0002929659967776388
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021151699911570176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017575800302438438
      

      outcome:

      passed
      

    Function: test_sorted_naturally_reverse

    • Test 890
      params: items=["file1", "file10", "file2"], expected=["file10", "file2", "file1"]

      📌 Parameters

      params:
        items: ["file1", "file10", "file2"]
        expected: ["file10", "file2", "file1"]
      id: "items0-expected0"
      

      📌 Setup phase

      duration:

      0.00027923399466089904
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019844000053126365
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019095299649052322
      

      outcome:

      passed
      
  • 📄 test_utils_xrange.py

    Function: test_xrange_finite

    • Test 891
      params: args=[10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Parameters

      params:
        args: [10]
        kwargs: {}
        expected: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      id: "args0-kwargs0-expected0"
      

      📌 Setup phase

      duration:

      0.0003624599994509481
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018886599718825892
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021609400573652238
      

      outcome:

      passed
      
    • Test 892
      params: args=[0, 10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Parameters

      params:
        args: [0, 10]
        kwargs: {}
        expected: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      id: "args1-kwargs1-expected1"
      

      📌 Setup phase

      duration:

      0.00031664199923397973
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001996159990085289
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019554300524760038
      

      outcome:

      passed
      
    • Test 893
      params: args=[0, 10, 2], kwargs={}, expected=[0, 2, 4, 6, 8]

      📌 Parameters

      params:
        args: [0, 10, 2]
        kwargs: {}
        expected: [0, 2, 4, 6, 8]
      id: "args2-kwargs2-expected2"
      

      📌 Setup phase

      duration:

      0.00034142199729103595
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001834780050558038
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021312700118869543
      

      outcome:

      passed
      
    • Test 894
      params: args=[10], kwargs={"step": 2}, expected=[0, 2, 4, 6, 8]

      📌 Parameters

      params:
        args: [10]
        kwargs: {"step": 2}
        expected: [0, 2, 4, 6, 8]
      id: "args3-kwargs3-expected3"
      

      📌 Setup phase

      duration:

      0.0003064420016016811
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019109500135527924
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019465300283627585
      

      outcome:

      passed
      

    Function: test_xrange_infinite

    • Test 895
      params: args=[], kwargs={}, expected_repr="count(0)"

      📌 Parameters

      params:
        args: []
        kwargs: {}
        expected_repr: "count(0)"
      id: "args0-kwargs0-count(0)"
      

      📌 Setup phase

      duration:

      0.00038110800232971087
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000201324000954628
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021483599994098768
      

      outcome:

      passed
      
    • Test 896
      params: args=[], kwargs={"step": 2}, expected_repr="count(0, 2)"

      📌 Parameters

      params:
        args: []
        kwargs: {"step": 2}
        expected_repr: "count(0, 2)"
      id: "args1-kwargs1-count(0, 2)"
      

      📌 Setup phase

      duration:

      0.000313533004373312
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020516299991868436
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020723899797303602
      

      outcome:

      passed
      

    Function: test_xrange_too_many_args

    • Test 897
      params: args=[1, 2, 3, 4]

      📌 Parameters

      params:
        args: [1, 2, 3, 4]
      id: "args0"
      

      📌 Setup phase

      duration:

      0.00023928099835757166
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000523444999998901
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0029234750036266632
      

      outcome:

      passed
      
Failed (15)
  • 📄 test_core_devices.py

    Function: test_simpledevice_inherits_device

    • Test 217

      📌 Setup phase

      duration:

      0.00015263100067386404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011521449996507727
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 276
      message: AssertionError: BUG: Expected 'Simple Device', got 'SIMPLE'
      assert 'SIMPLE' == 'Simple Device'
      
        - Simple Device
        + SIMPLE
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 276
        message: AssertionError
      

      longrepr:

      def test_simpledevice_inherits_device():
              dev = SimpleDevice(ID="SIMPLE", name="Simple Device")
              dev.motor = DummyAdjustable(ID="m1", name="Motor")
      
      >       assert dev.name == "Simple Device", f"BUG: Expected 'Simple Device', got '{dev.name}'"
      E       AssertionError: BUG: Expected 'Simple Device', got 'SIMPLE'
      E       assert 'SIMPLE' == 'Simple Device'
      E         
      E         - Simple Device
      E         + SIMPLE
      
      tests/test_core_devices.py:276: AssertionError
      

      📌 Teardown phase

      duration:

      0.00033907100441865623
      

      outcome:

      passed
      

    Function: test_simpledevice_bug_name_and_description_ignored

    • Test 220

      📌 Setup phase

      duration:

      0.00015954099944792688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005239509991952218
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 315
      message: AssertionError: BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got 'TESTID'
      assert 'TESTID' == 'Custom Name Should Be Used'
      
        - Custom Name Should Be Used
        + TESTID
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 315
        message: AssertionError
      

      longrepr:

      def test_simpledevice_bug_name_and_description_ignored():
              dev = SimpleDevice(
                  ID="TESTID",
                  name="Custom Name Should Be Used",
                  description="Custom Description Should Be Used",
                  z_undulator=42
              )
      
      >       assert dev.name == "Custom Name Should Be Used", \
                  f"BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got '{dev.name}'"
      E       AssertionError: BUG: name parameter ignored! Expected 'Custom Name Should Be Used', got 'TESTID'
      E       assert 'TESTID' == 'Custom Name Should Be Used'
      E         
      E         - Custom Name Should Be Used
      E         + TESTID
      
      tests/test_core_devices.py:315: AssertionError
      

      📌 Teardown phase

      duration:

      0.00032392199500463903
      

      outcome:

      passed
      

    Function: test_simpledevice_bug_cascade_effect

    • Test 221

      📌 Setup phase

      duration:

      0.0002009250019909814
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008502139971824363
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 327
      message: AssertionError: BUG CASCADE in auto(): Expected 'Auto Name', got 'AUTO_ID'
      assert 'AUTO_ID' == 'Auto Name'
      
        - Auto Name
        + AUTO_ID
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 327
        message: AssertionError
      

      longrepr:

      def test_simpledevice_bug_cascade_effect():
              fake_globals = {"adj": DummyAdjustable(ID="a1", name="Adj")}
              auto_dev = auto(fake_globals, "AUTO_ID", name="Auto Name", description="Auto Desc")
      
      >       assert auto_dev.name == "Auto Name", \
                  f"BUG CASCADE in auto(): Expected 'Auto Name', got '{auto_dev.name}'"
      E       AssertionError: BUG CASCADE in auto(): Expected 'Auto Name', got 'AUTO_ID'
      E       assert 'AUTO_ID' == 'Auto Name'
      E         
      E         - Auto Name
      E         + AUTO_ID
      
      tests/test_core_devices.py:327: AssertionError
      

      📌 Teardown phase

      duration:

      0.00031863399635767564
      

      outcome:

      passed
      

    Function: test_filtered_preserves_device_metadata

    • Test 235

      📌 Setup phase

      duration:

      0.00020214500545989722
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008145910032908432
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 492
      message: AssertionError: BUG: Expected 'Original Name', got 'ORIGINAL'
      assert 'ORIGINAL' == 'Original Name'
      
        - Original Name
        + ORIGINAL
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 492
        message: AssertionError
      

      longrepr:

      def test_filtered_preserves_device_metadata():
              dev = Device(ID="ORIGINAL", name="Original Name", description="Original Desc")
              dev.motor = DummyAdjustable(ID="m1", name="Motor")
      
              filtered_dev = by_name(dev, "motor")
      
              assert filtered_dev.ID == "ORIGINAL"
      >       assert filtered_dev.name == "Original Name", \
                  f"BUG: Expected 'Original Name', got '{filtered_dev.name}'"
      E       AssertionError: BUG: Expected 'Original Name', got 'ORIGINAL'
      E       assert 'ORIGINAL' == 'Original Name'
      E         
      E         - Original Name
      E         + ORIGINAL
      
      tests/test_core_devices.py:492: AssertionError
      

      📌 Teardown phase

      duration:

      0.00027352599863661453
      

      outcome:

      passed
      

    Function: test_auto_with_kwargs

    • Test 239

      📌 Setup phase

      duration:

      0.0001557750001666136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007051539942040108
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 554
      message: AssertionError: BUG: Expected 'Custom Name', got 'AUTO'
      assert 'AUTO' == 'Custom Name'
      
        - Custom Name
        + AUTO
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 554
        message: AssertionError
      

      longrepr:

      def test_auto_with_kwargs():
              fake_globals = {
                  "motor": DummyAdjustable(ID="m1", name="Motor"),
              }
      
              dev = auto(fake_globals, "AUTO", name="Custom Name", description="Custom Desc")
      
      >       assert dev.name == "Custom Name", \
                  f"BUG: Expected 'Custom Name', got '{dev.name}'"
      E       AssertionError: BUG: Expected 'Custom Name', got 'AUTO'
      E       assert 'AUTO' == 'Custom Name'
      E         
      E         - Custom Name
      E         + AUTO
      
      tests/test_core_devices.py:554: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002764430028037168
      

      outcome:

      passed
      

    Function: test_simpledevice_with_auto

    • Test 246

      📌 Setup phase

      duration:

      0.00017156200192403048
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010354390033171512
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_core_devices.py
      lineno: 655
      message: AssertionError: BUG: Expected 'Auto Device', got 'AUTO'
      assert 'AUTO' == 'Auto Device'
      
        - Auto Device
        + AUTO
      

      traceback:

      -   path: tests/test_core_devices.py
        lineno: 655
        message: AssertionError
      

      longrepr:

      def test_simpledevice_with_auto():
              fake_globals = {
                  "motor_x": DummyAdjustable(ID="mx", name="MotorX"),
                  "motor_y": DummyAdjustable(ID="my", name="MotorY"),
                  "sensor_temp": DummyAdjustable(ID="st", name="TempSensor"),
                  "sensor_pressure": DummyAdjustable(ID="sp", name="PressureSensor"),
              }
      
              dev = auto(fake_globals, "AUTO", name="Auto Device")
      
      >       assert dev.name == "Auto Device", \
                  f"BUG: Expected 'Auto Device', got '{dev.name}'"
      E       AssertionError: BUG: Expected 'Auto Device', got 'AUTO'
      E       assert 'AUTO' == 'Auto Device'
      E         
      E         - Auto Device
      E         + AUTO
      
      tests/test_core_devices.py:655: AssertionError
      

      📌 Teardown phase

      duration:

      0.00029665000329259783
      

      outcome:

      passed
      
  • 📄 test_runname.py

    Function: test_extract_runnumber_valid_cases

    • Test 266
      params: fname="scan_0042_test.json", prefix="scan_", separator="_", expected=42

      📌 Parameters

      params:
        fname: "scan_0042_test.json"
        prefix: "scan_"
        separator: "_"
        expected: 42
      id: "scan_0042_test.json-scan_-_-42"
      

      📌 Setup phase

      duration:

      0.0003943859992432408
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025348000053782016
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/core/scanner/runname.py
      lineno: 49
      message: ValueError: invalid literal for int() with base 10: ''
      

      traceback:

      -   path: tests/test_runname.py
        lineno: 40
        message: []
      -   path: slic/core/scanner/runname.py
        lineno: 49
        message: ValueError
      

      longrepr:

      fname = 'scan_0042_test.json', prefix = 'scan_', separator = '_', expected = 42
      
          @pytest.mark.parametrize(
              "fname,prefix,separator,expected",
              [
                  ("scan0004_test.json", "scan", "_", 4),
                  ("scan0001_alpha.txt", "scan", "_", 1),
                  ("run-0042_demo.csv", "run-", "_", 42),
                  ("data9999_final.txt", "data", "_", 9999),
                  ("scan5_test.json", "scan", "_", 5),
                  (str(Path("/tmp/data/scan0007_exp.json")), "scan", "_", 7),
                  (str(Path("/Users/yasmine_tligui/test_pv/runs/scan0123_test.json")), "scan", "_", 123),
                  ("scan0010_report.csv", "scan", "_", 10),
                  ("scan0300_analysis.yaml", "scan", "_", 300),
                  ("experimentscan0070_trial.txt", "experimentscan", "_", 70),
                  ("meas:001_test.txt", "meas:", "_", 1),
                  (str(Path("a/b/c/scan0042_demo.json")), "scan", "_", 42),
                  ("scan1234_extra_part.json", "scan", "_", 1234),
                  ("scan_0042_test.json", "scan_", "_", 42),
              ],
          )
          def test_extract_runnumber_valid_cases(fname, prefix, separator, expected):
      >       assert extract_runnumber(fname, prefix, separator) == expected
      
      tests/test_runname.py:40: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      fname = 'scan_0042_test.json', prefix = 'scan_', separator = '_'
      
          def extract_runnumber(fname, prefix, separator):
              name = Path(fname).name
              front = name.split(separator)[0]
              runnum = front[len(prefix):]
      >       runnum = int(runnum)
      E       ValueError: invalid literal for int() with base 10: ''
      
      slic/core/scanner/runname.py:49: ValueError
      

      📌 Teardown phase

      duration:

      0.0002901269981521182
      

      outcome:

      passed
      
  • 📄 test_scanbackend.py

    Function: test_make_summary_single_repeat

    • Test 312

      📌 Setup phase

      duration:

      0.0006321769978967495
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011152439983561635
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_scanbackend.py
      lineno: 487
      message: assert 'FakeAcquisition' in 'perform the following scan:\n===========================\n\nDummyAdjustable "motor1" at 0 DummyAdjustable "motor2" at...\nrecord 5 pulses per step to "test_scan" via:\n--------------------------------------------\n- Fake DAQ (Last Run: 0)'
      

      traceback:

      -   path: tests/test_scanbackend.py
        lineno: 487
        message: AssertionError
      

      longrepr:

      tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_make_summary_single_repea0')
      
          def test_make_summary_single_repeat(tmp_path):
              adjs = [DummyAdjustable(name="motor1", ID="M1"), DummyAdjustable(name="motor2", ID="M2")]
              fake_acq = FakeAcquisition("test_instrument", "test_pgroup")
      
              sb = ScanBackend(
                  adjs, [[1, 2], [3, 4]], [fake_acq], "test_scan",
                  [], ["bs_channel"], [], 5,
                  "data", tmp_path, True, None, True, 1,
                  None, None
              )
      
              summary = sb._make_summary()
      
              assert "perform the following scan" in summary
      
              assert "motor1" in summary
              assert "motor2" in summary
      
              assert "5 pulses" in summary
      
              assert "test_scan" in summary
      
      >       assert "FakeAcquisition" in summary
      E       assert 'FakeAcquisition' in 'perform the following scan:\n===========================\n\nDummyAdjustable "motor1" at 0 DummyAdjustable "motor2" at...\nrecord 5 pulses per step to "test_scan" via:\n--------------------------------------------\n- Fake DAQ (Last Run: 0)'
      
      tests/test_scanbackend.py:487: AssertionError
      

      📌 Teardown phase

      duration:

      0.00039778900099918246
      

      outcome:

      passed
      

    Function: test_sensor_without_remote_plot

    • Test 351

      📌 Setup phase

      duration:

      0.0007220519983093254
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008180099976016209
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/core/scanner/scanbackend.py
      lineno: 86
      message: AttributeError: 'NoneType' object has no attribute 'new_plot'
      

      traceback:

      -   path: tests/test_scanbackend.py
        lineno: 1546
        message: []
      -   path: slic/core/scanner/scanbackend.py
        lineno: 86
        message: AttributeError
      

      longrepr:

      tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_sensor_without_remote_plo0')
      
          def test_sensor_without_remote_plot(tmp_path):
              adjs = [DummyAdjustable(name="M", ID="M")]
              fake = FakeAcquisition("test_instrument", "test_pgroup")
              sensor = DummySensor(name="TestSensor")
      
              sb = ScanBackend(
                  adjs, [[1], [2]], [fake], "sensor_only_scan",
                  [], ["ch"], [], 1,
                  "data", tmp_path, False, None, True, 1, sensor, None
              )
      
      >       sb.run()
      
      tests/test_scanbackend.py:1546: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = perform the following scan:
      ===========================
      
      A: DummyAdjustable "M" at 0
      
      # A
      - -
      0 1
      1 2
      
      record 1 pulse per step to "sensor_only_scan" via:
      --------------------------------------------------
      - Fake DAQ (Last Run: 0)
      step_info = None
      
          def run(self, step_info=None):
              self.store_initial_values()
              self.create_output_dirs()
      
              #TODO: clean up
              sensor = self.sensor
              if sensor:
                  cfg = {
                      "xlabel": self.adjustables[0].name,
                      "ylabel": sensor.name
                  }
                  try:
      >               self.remote_plot.new_plot(self.filename, cfg)
      E               AttributeError: 'NoneType' object has no attribute 'new_plot'
      
      slic/core/scanner/scanbackend.py:86: AttributeError
      

      📌 Teardown phase

      duration:

      0.0004247800025041215
      

      outcome:

      passed
      

    Function: test_scan_with_empty_values_list

    • Test 355

      📌 Setup phase

      duration:

      0.0009199529959005304
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009171459969365969
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/core/scanner/scanbackend.py
      lineno: 170
      message: UnboundLocalError: local variable 'n' referenced before assignment
      

      traceback:

      -   path: tests/test_scanbackend.py
        lineno: 1625
        message: []
      -   path: slic/core/scanner/scanbackend.py
        lineno: 170
        message: UnboundLocalError
      

      stdout:

      run number is 1
      Advanced run number to 1 for Fake DAQ (Last Run: 1).
      
      

      longrepr:

      tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_scan_with_empty_values_li0')
      
          def test_scan_with_empty_values_list(tmp_path):
              adjs = [DummyAdjustable(name="M", ID="M")]
              fake = FakeAcquisition("test_instrument", "test_pgroup")
      
              sb = ScanBackend(
                  adjs, [], [fake], "empty_scan",
                  [], ["ch"], [], 1,
                  "data", tmp_path, False, None, True, 1, None, None
              )
      
              sb.running = True
      
      >       sb.scan_loop()
      
      tests/test_scanbackend.py:1625: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = perform the following scan:
      ===========================
      
      A: DummyAdjustable "M" at 0
      
      # A
      - -
      
      record 1 pulse per step to "empty_scan" via:
      --------------------------------------------
      - Fake DAQ (Last Run: 1)
      step_info = None
      
          def scan_loop(self, step_info=None):
              do_step = self.do_checked_step if self.condition else self.do_step
      
              #TODO this needs work
              for acq in self.acquisitions:
                  if is_sfdaq(acq):
                      run_number = acq.client.next_run()
                      print(f"Advanced run number to {run_number} for {acq}.")
                      if hasattr(acq, "spreadsheet") and acq.spreadsheet is not None:
                          acq.spreadsheet.add(
                              run_number, self.filename, self.n_pulses_per_step,
                              scanned_adjs=self.adjustables, scan_values=self.values
                          )
      
              ntotal = self.n_steps
              for n, val in enumerate(self.values):
                  if not self.running:
                      n -= 1 # stopped before this iteration
                      break
                  self.current_step = n + 1 # note the current value here to have it available for get_state
                  cprint(f"Scan step {n+1} of {ntotal}", color="green")
                  do_step(n, val, step_info=step_info)
      
      >       if self.running and n+1 == ntotal:
      E       UnboundLocalError: local variable 'n' referenced before assignment
      
      slic/core/scanner/scanbackend.py:170: UnboundLocalError
      

      📌 Teardown phase

      duration:

      0.0004047959955642
      

      outcome:

      passed
      
  • 📄 test_utils_argfwd.py

    Function: test_get_args_parametrized

    • Test 420
      params: func="<function <lambda> at 0x7f524283c1f0>", expected_pos=[], expected_kw="{'x': 1, 'y': <class 'inspect._empty'>, 'z': 0}"

      📌 Parameters

      params:
        func: "<function <lambda> at 0x7f524283c1f0>"
        expected_pos: []
        expected_kw: "{'x': 1, 'y': <class 'inspect._empty'>, 'z': 0}"
      id: "<lambda>-expected_pos1-expected_kw1"
      

      📌 Setup phase

      duration:

      0.00034804100141627714
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004429030013852753
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_argfwd.py
      lineno: 81
      message: AssertionError: assert ('y' in {'x': 1, 'z': 0})
      

      traceback:

      -   path: tests/test_utils_argfwd.py
        lineno: 81
        message: AssertionError
      

      longrepr:

      func = <function <lambda> at 0x7f524283c1f0>, expected_pos = []
      expected_kw = {'x': 1, 'y': <class 'inspect._empty'>, 'z': 0}
      
          @pytest.mark.parametrize("func, expected_pos, expected_kw", [
              (lambda a, b, c=3, *, d=4: None, ['a', 'b'], {'c': 3, 'd': 4}),
              (lambda x=1, *, y, z=0: None, [], {'x': 1, 'y': inspect._empty, 'z': 0}),
              (lambda *args, **kwargs: None, [], {}),
          ])
          def test_get_args_parametrized(func, expected_pos, expected_kw):
              pos, kw = get_args(func)
              assert pos == expected_pos
              for k, v in expected_kw.items():
                  if v is inspect._empty:
      >               assert k in kw and kw[k] == inspect._empty
      E               AssertionError: assert ('y' in {'x': 1, 'z': 0})
      
      tests/test_utils_argfwd.py:81: AssertionError
      

      📌 Teardown phase

      duration:

      0.00030926099861972034
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_short_repr

    • Test 509
      params: value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", cutoff=10, expected="'aaaaaaaaaa..."

      📌 Parameters

      params:
        value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
        cutoff: 10
        expected: "'aaaaaaaaaa..."
      id: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa..."
      

      📌 Setup phase

      duration:

      0.0003067860016017221
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005921569972997531
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
      
        - 'aaaaaaaaaa...
        ?  -
        + 'aaaaaaaaa...
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 66
        message: AssertionError
      

      longrepr:

      value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
      cutoff = 10, expected = "'aaaaaaaaaa..."
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
      E         
      E         - 'aaaaaaaaaa...
      E         ?  -
      E         + 'aaaaaaaaa...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002668550005182624
      

      outcome:

      passed
      
    • Test 513
      params: value="Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)", cutoff=20, expected="Obj(xxxxxxxxxxxxxxxxx..."

      📌 Parameters

      params:
        value: "Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)"
        cutoff: 20
        expected: "Obj(xxxxxxxxxxxxxxxxx..."
      id: "value5-20-Obj(xxxxxxxxxxxxxxxxx..."
      

      📌 Setup phase

      duration:

      0.0003141150009469129
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006235699984245002
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_debug.py
      lineno: 66
      message: AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
      
        - Obj(xxxxxxxxxxxxxxxxx...
        ?                     -
        + Obj(xxxxxxxxxxxxxxxx...
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 66
        message: AssertionError
      

      longrepr:

      value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20
      expected = 'Obj(xxxxxxxxxxxxxxxxx...'
      
          @pytest.mark.parametrize(
              "value, cutoff, expected",
              [
                  ("abc", 10, "'abc'"),
                  ("a" * 100, 10, "'aaaaaaaaaa..."),
                  (12345, 10, "12345"),
                  ([0]*100, 15, str(repr([0]*100))[:15] + "..."),
                  (None, 10, "None"),
                  (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."),
              ]
          )
      
          def test_short_repr(value, cutoff, expected):
      >       assert short_repr(value, cutoff) == expected
      E       AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
      E         
      E         - Obj(xxxxxxxxxxxxxxxxx...
      E         ?                     -
      E         + Obj(xxxxxxxxxxxxxxxx...
      
      tests/test_utils_debug.py:66: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002697219970286824
      

      outcome:

      passed
      
  • 📄 test_utils_elog.py

    Function: test_screenshot

    • Test 549

      📌 Setup phase

      duration:

      0.00019297200196888298
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.013512410994735546
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
      lineno: 751
      message: elog.logbook_exceptions.LogbookMessageRejected: Rejected because of: Invalid URL: None
      

      traceback:

      -   path: tests/test_utils_elog.py
        lineno: 114
        message: []
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 335
        message: in read
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 586
        message: in _check_if_message_on_server
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 751
        message: LogbookMessageRejected
      

      longrepr:

      mock_screenshot_class = <MagicMock name='Screenshot' id='139991238965664'>
      
          @patch("slic.utils.elog.Screenshot")
          def test_screenshot(mock_screenshot_class):
              fake_path = "/tmp/fake_screenshot.png"
              with open(fake_path, "wb") as f:
                  f.write(b"fake image data")
      
              mock_instance = mock_screenshot_class.return_value
              mock_instance.shoot.return_value = [fake_path]
      
              elog = Elog("http://localhost:8080/demo", user="robot", password="testpassword")
      
              test_msg = "SCREENSHOT_INTEGRATION_TEST_MSG_456"
              msg_id = elog.screenshot(message=test_msg)
      
              filename = os.path.basename(fake_path)
      >       message, attributes, attachments = elog.read(msg_id)
      
      tests/test_utils_elog.py:114: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:335: in read
          self._check_if_message_on_server(msg_id)  # raises exceptions if no message or no response from server
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:586: in _check_if_message_on_server
          resp_message, resp_headers, resp_msg_id = _validate_response(response)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      response = <Response [404]>
      
          def _validate_response(response):
              """ Validate response of the request."""
      
              msg_id = None
      
              if response.status_code not in [200, 302]:
                  # 200 --> OK; 302 --> Found
                  # Html page is returned with error description (handling errors same way as on original client. Looks
                  # like there is no other way.
      
                  err = re.findall('<td.*?class="errormsg".*?>.*?</td>',
                                   response.content.decode('utf-8', 'ignore'),
                                   flags=re.DOTALL)
      
                  if len(err) > 0:
                      # Remove html tags
                      # If part of the message has: Please go  back... remove this part since it is an instruction for
                      # the user when using browser.
                      err = re.sub('(?:<.*?>)', '', err[0])
                      if err:
      >                   raise LogbookMessageRejected('Rejected because of: ' + err)
      E                   elog.logbook_exceptions.LogbookMessageRejected: Rejected because of: Invalid URL: None
      
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:751: LogbookMessageRejected
      

      📌 Teardown phase

      duration:

      0.00038323299668263644
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 614

      📌 Setup phase

      duration:

      0.00018824300059350207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.8585573220043443
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_logcfg.py
      lineno: 78
      message: AssertionError: Expected 1 import log for 'math', found 0
      assert 0 == 1
      

      traceback:

      -   path: tests/test_utils_logcfg.py
        lineno: 78
        message: AssertionError
      

      stdout:

      [E 260122 03:27:14 tools:40] cannot assign endstation to IP 172.18.0.3 (b125c85d5ecd)
      [W 260122 03:27:14 pvpreload:38] PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/root/.slic/pvpreload'
      
      
      

      longrepr:

      def test_import_logging_once_per_module():
              code = textwrap.dedent("""
                  from slic.utils.logcfg import *
                  import math
                  import io
                  import random
              """)
      
              with tempfile.NamedTemporaryFile("w", suffix=".py", delete=False) as tmp:
                  tmp.write(code)
                  tmp_path = tmp.name
      
              env = os.environ.copy()
              root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
              env["PYTHONPATH"] = root_path + os.pathsep + env.get("PYTHONPATH", "")
      
              result = subprocess.run([sys.executable, tmp_path], capture_output=True, text=True, env=env)
              os.remove(tmp_path)
      
              assert result.returncode == 0, f"Script failed:\n{result.stderr}"
      
              stderr = result.stderr
              print(stderr)
              lines = stderr.splitlines()
              for mod in ["math", "io", "random"]:
                  count = sum(1 for line in lines if f"importing: {mod}" in line)
      >           assert count == 1, f"Expected 1 import log for '{mod}', found {count}"
      E           AssertionError: Expected 1 import log for 'math', found 0
      E           assert 0 == 1
      
      tests/test_utils_logcfg.py:78: AssertionError
      

      📌 Teardown phase

      duration:

      0.0005208889997447841
      

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: .
      type: Dir
    
ci-reports (13 tests)
  • ci-reports
    • Outcome: passed
    • result:
    -   nodeid: ci-reports/allure
      type: Dir
    -   nodeid: ci-reports/junit
      type: Dir
    -   nodeid: ci-reports/markdown
      type: Dir
    
    • ci-reports/allure
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data
        type: Dir
      -   nodeid: ci-reports/allure/export
        type: Dir
      -   nodeid: ci-reports/allure/history
        type: Dir
      -   nodeid: ci-reports/allure/plugin
        type: Dir
      -   nodeid: ci-reports/allure/widgets
        type: Dir
      
    • ci-reports/allure/data
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data/test-cases
        type: Dir
      
    • ci-reports/allure/data/test-cases
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/export
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/history
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/plugin/behaviors
        type: Dir
      -   nodeid: ci-reports/allure/plugin/packages
        type: Dir
      -   nodeid: ci-reports/allure/plugin/screen-diff
        type: Dir
      
    • ci-reports/allure/plugin/behaviors
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/packages
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/screen-diff
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/widgets
      • Outcome: passed
      • result:
      []
      
    • ci-reports/junit
      • Outcome: passed
      • result:
      []
      
    • ci-reports/markdown
      • Outcome: passed
      • result:
      []
      
markdown (1 tests)
  • markdown
    • Outcome: passed
    • result:
    []
    
morbidissimo (6 tests)
  • morbidissimo
    • Outcome: passed
    • result:
    -   nodeid: morbidissimo/morbidissimo
      type: Package
    
    • morbidissimo/morbidissimo
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman
        type: Package
      -   nodeid: morbidissimo/morbidissimo/morioc
        type: Package
      
    • morbidissimo/morbidissimo/modman
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman/scripts
        type: Dir
      
    • morbidissimo/morbidissimo/modman/scripts
      • Outcome: passed
      • result:
      []
      
    • morbidissimo/morbidissimo/morioc
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py
        type: Module
      
    • morbidissimo/morbidissimo/morioc/test_infer_type.py
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_str
        type: Function
        lineno: 14
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_float
        type: Function
        lineno: 17
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_int
        type: Function
        lineno: 20
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_str
        type: Function
        lineno: 24
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_long_str
        type: Function
        lineno: 27
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_float
        type: Function
        lineno: 32
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_int
        type: Function
        lineno: 35
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_str
        type: Function
        lineno: 39
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_float
        type: Function
        lineno: 42
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_int
        type: Function
        lineno: 45
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_str
        type: Function
        lineno: 49
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_float
        type: Function
        lineno: 52
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_int
        type: Function
        lineno: 55
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_str
        type: Function
        lineno: 59
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_float
        type: Function
        lineno: 62
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_int
        type: Function
        lineno: 65
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_None
        type: Function
        lineno: 69
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_True
        type: Function
        lineno: 72
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_False
        type: Function
        lineno: 75
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_nan
        type: Function
        lineno: 78
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_nan
        type: Function
        lineno: 81
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_int
        type: Function
        lineno: 85
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_int
        type: Function
        lineno: 91
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_float
        type: Function
        lineno: 99
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_float
        type: Function
        lineno: 105
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_bool
        type: Function
        lineno: 114
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_object
        type: Function
        lineno: 119
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_int
        type: Function
        lineno: 126
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_float
        type: Function
        lineno: 131
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_bool
        type: Function
        lineno: 136
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_list
        type: Function
        lineno: 145
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_tuple
        type: Function
        lineno: 150
      
outputs (1 tests)
  • outputs
    • Outcome: passed
    • result:
    []
    
slic (30 tests)
  • slic
    • Outcome: passed
    • result:
    -   nodeid: slic/core
      type: Package
    -   nodeid: slic/devices
      type: Package
    -   nodeid: slic/gui
      type: Package
    -   nodeid: slic/utils
      type: Package
    
    • slic/core
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition
        type: Package
      -   nodeid: slic/core/adjustable
        type: Package
      -   nodeid: slic/core/condition
        type: Package
      -   nodeid: slic/core/device
        type: Package
      -   nodeid: slic/core/scanner
        type: Package
      -   nodeid: slic/core/sensor
        type: Package
      -   nodeid: slic/core/task
        type: Package
      
    • slic/core/acquisition
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition/broker
        type: Package
      
    • slic/core/acquisition/broker
      • Outcome: passed
      • result:
      []
      
    • slic/core/adjustable
      • Outcome: passed
      • result:
      []
      
    • slic/core/condition
      • Outcome: passed
      • result:
      []
      
    • slic/core/device
      • Outcome: passed
      • result:
      []
      
    • slic/core/scanner
      • Outcome: passed
      • result:
      []
      
    • slic/core/sensor
      • Outcome: passed
      • result:
      []
      
    • slic/core/task
      • Outcome: passed
      • result:
      []
      
    • slic/devices
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/cameras
        type: Package
      -   nodeid: slic/devices/endstations
        type: Package
      -   nodeid: slic/devices/general
        type: Package
      -   nodeid: slic/devices/loptics
        type: Package
      -   nodeid: slic/devices/timing
        type: Package
      -   nodeid: slic/devices/xdiagnostics
        type: Package
      -   nodeid: slic/devices/xoptics
        type: Package
      
    • slic/devices/cameras
      • Outcome: passed
      • result:
      []
      
    • slic/devices/endstations
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/general/detectors
        type: Package
      -   nodeid: slic/devices/general/unused
        type: Dir
      
    • slic/devices/general/detectors
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general/unused
      • Outcome: passed
      • result:
      []
      
    • slic/devices/loptics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/timing
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/timing/events
        type: Package
      
    • slic/devices/timing/events
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xdiagnostics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/xoptics/slits
        type: Package
      -   nodeid: slic/devices/xoptics/unused
        type: Dir
      
    • slic/devices/xoptics/slits
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics/unused
      • Outcome: passed
      • result:
      []
      
    • slic/gui
      • Outcome: passed
      • result:
      -   nodeid: slic/gui/daqpanels
        type: Package
      -   nodeid: slic/gui/widgets
        type: Package
      
    • slic/gui/daqpanels
      • Outcome: passed
      • result:
      []
      
    • slic/gui/widgets
      • Outcome: passed
      • result:
      []
      
    • slic/utils
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/ioc
        type: Package
      -   nodeid: slic/utils/unused
        type: Dir
      
    • slic/utils/ioc
      • Outcome: passed
      • result:
      []
      
    • slic/utils/unused
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/unused/xsim
        type: Package
      
    • slic/utils/unused/xsim
      • Outcome: passed
      • result:
      []
      
temp-ci (1 tests)
  • temp-ci
    • Outcome: passed
    • result:
    []
    
test-ci (1 tests)
  • test-ci
    • Outcome: passed
    • result:
    []
    
tests (59 tests)
  • tests
    • Outcome: passed
    • result:
    -   nodeid: tests/test_core_adjustables.py
      type: Module
    -   nodeid: tests/test_core_devices.py
      type: Module
    -   nodeid: tests/test_runname.py
      type: Module
    -   nodeid: tests/test_scanbackend.py
      type: Module
    -   nodeid: tests/test_scaninfo.py
      type: Module
    -   nodeid: tests/test_utils_argfwd.py
      type: Module
    -   nodeid: tests/test_utils_ask_yes_no.py
      type: Module
    -   nodeid: tests/test_utils_channels.py
      type: Module
    -   nodeid: tests/test_utils_config.py
      type: Module
    -   nodeid: tests/test_utils_cpint.py
      type: Module
    -   nodeid: tests/test_utils_dbusnotify.py
      type: Module
    -   nodeid: tests/test_utils_debug.py
      type: Module
    -   nodeid: tests/test_utils_dictext.py
      type: Module
    -   nodeid: tests/test_utils_dotdir.py
      type: Module
    -   nodeid: tests/test_utils_duo.py
      type: Module
    -   nodeid: tests/test_utils_elog.py
      type: Module
    -   nodeid: tests/test_utils_eval.py
      type: Module
    -   nodeid: tests/test_utils_exceptions.py
      type: Module
    -   nodeid: tests/test_utils_get_adj.py
      type: Module
    -   nodeid: tests/test_utils_hastepics.py
      type: Module
    -   nodeid: tests/test_utils_ipy.py
      type: Module
    -   nodeid: tests/test_utils_jsonext.py
      type: Module
    -   nodeid: tests/test_utils_lazypv.py
      type: Module
    -   nodeid: tests/test_utils_logcfg.py
      type: Module
    -   nodeid: tests/test_utils_logign.py
      type: Module
    -   nodeid: tests/test_utils_marker.py
      type: Module
    -   nodeid: tests/test_utils_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_namespace.py
      type: Module
    -   nodeid: tests/test_utils_npy.py
      type: Module
    -   nodeid: tests/test_utils_opmsg.py
      type: Module
    -   nodeid: tests/test_utils_path.py
      type: Module
    -   nodeid: tests/test_utils_picklio.py
      type: Module
    -   nodeid: tests/test_utils_printing.py
      type: Module
    -   nodeid: tests/test_utils_pv.py
      type: Module
    -   nodeid: tests/test_utils_pvpreload.py
      type: Module
    -   nodeid: tests/test_utils_pyepics.py
      type: Module
    -   nodeid: tests/test_utils_rangebar.py
      type: Module
    -   nodeid: tests/test_utils_readable.py
      type: Module
    -   nodeid: tests/test_utils_registry.py
      type: Module
    -   nodeid: tests/test_utils_reprate.py
      type: Module
    -   nodeid: tests/test_utils_richcfg.py
      type: Module
    -   nodeid: tests/test_utils_run_later.py
      type: Module
    -   nodeid: tests/test_utils_sendmail.py
      type: Module
    -   nodeid: tests/test_utils_sendsms.py
      type: Module
    -   nodeid: tests/test_utils_shortcut.py
      type: Module
    -   nodeid: tests/test_utils_snapshot.py
      type: Module
    -   nodeid: tests/test_utils_termtitle.py
      type: Module
    -   nodeid: tests/test_utils_tqdm_mod.py
      type: Module
    -   nodeid: tests/test_utils_trinary.py
      type: Module
    -   nodeid: tests/test_utils_typecast.py
      type: Module
    -   nodeid: tests/test_utils_utils.py
      type: Module
    -   nodeid: tests/test_utils_xrange.py
      type: Module
    
    • tests/test_core_adjustables.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_core_adjustables.py::test_baseadjustable_cannot_instantiate
        type: Function
        lineno: 13
      -   nodeid: tests/test_core_adjustables.py::test_baseadjustable_missing_methods
        type: Function
        lineno: 18
      -   nodeid: tests/test_core_adjustables.py::test_baseadjustable_working_subclass
        type: Function
        lineno: 26
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_basic
        type: Function
        lineno: 49
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_set_get_with_wait
        type: Function
        lineno: 56
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_is_moving
        type: Function
        lineno: 66
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_initial_value
        type: Function
        lineno: 70
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_float_values
        type: Function
        lineno: 74
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_large_values
        type: Function
        lineno: 80
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time[0.1-100]
        type: Function
        lineno: 86
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time[0.2-50]
        type: Function
        lineno: 86
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time[0.15-200]
        type: Function
        lineno: 86
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time[0.3--100]
        type: Function
        lineno: 86
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.2-0-100]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.3-0-200]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.4-0-50]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.25-0--100]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.3-100--50]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_process_time_progressive_values[0.35--50--150]
        type: Function
        lineno: 106
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_jitter[1]
        type: Function
        lineno: 191
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_jitter[5]
        type: Function
        lineno: 191
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_jitter[10]
        type: Function
        lineno: 191
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_jitter[20]
        type: Function
        lineno: 191
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_jitter[0.5]
        type: Function
        lineno: 191
      -   nodeid: tests/test_core_adjustables.py::test_dummyadjustable_stop
        type: Function
        lineno: 224
      -   nodeid: tests/test_core_adjustables.py::test_genericadjustable_with_callbacks
        type: Function
        lineno: 245
      -   nodeid: tests/test_core_adjustables.py::test_genericadjustable_with_wait_callback
        type: Function
        lineno: 267
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling[10-100]
        type: Function
        lineno: 298
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling[2-50]
        type: Function
        lineno: 298
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling[5-200]
        type: Function
        lineno: 298
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling[0.5-25]
        type: Function
        lineno: 298
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling[100-1000]
        type: Function
        lineno: 298
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_offset[50-100]
        type: Function
        lineno: 321
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_offset[10-30]
        type: Function
        lineno: 321
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_offset[-20-50]
        type: Function
        lineno: 321
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_offset[100-200]
        type: Function
        lineno: 321
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_offset[0-42]
        type: Function
        lineno: 321
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling_and_offset[10-50-0-50]
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling_and_offset[10-50-5-100]
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling_and_offset[2-10-20-50]
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling_and_offset[5--15-3-0]
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_adjustables.py::test_converted_with_scaling_and_offset[0.5-100-40-120]
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_adjustables.py::test_converted_units_conversion
        type: Function
        lineno: 368
      -   nodeid: tests/test_core_adjustables.py::test_converted_negative_scale
        type: Function
        lineno: 387
      -   nodeid: tests/test_core_adjustables.py::test_converted_is_moving
        type: Function
        lineno: 403
      -   nodeid: tests/test_core_adjustables.py::test_converted_only_get_conversion
        type: Function
        lineno: 413
      -   nodeid: tests/test_core_adjustables.py::test_converted_only_set_conversion
        type: Function
        lineno: 430
      -   nodeid: tests/test_core_adjustables.py::test_scaler_basic[10-20-2-4]
        type: Function
        lineno: 449
      -   nodeid: tests/test_core_adjustables.py::test_scaler_basic[5-15-1-3]
        type: Function
        lineno: 449
      -   nodeid: tests/test_core_adjustables.py::test_scaler_basic[100-200-0.5-1]
        type: Function
        lineno: 449
      -   nodeid: tests/test_core_adjustables.py::test_scaler_basic[8-16-4-2]
        type: Function
        lineno: 449
      -   nodeid: tests/test_core_adjustables.py::test_scaler_basic[50-100-10-20]
        type: Function
        lineno: 449
      -   nodeid: tests/test_core_adjustables.py::test_scaler_fractional_factor
        type: Function
        lineno: 471
      -   nodeid: tests/test_core_adjustables.py::test_scaler_is_moving
        type: Function
        lineno: 484
      -   nodeid: tests/test_core_adjustables.py::test_combined_two_adjustables
        type: Function
        lineno: 495
      -   nodeid: tests/test_core_adjustables.py::test_combined_three_adjustables
        type: Function
        lineno: 508
      -   nodeid: tests/test_core_adjustables.py::test_combined_get_current_value_returns_mean
        type: Function
        lineno: 523
      -   nodeid: tests/test_core_adjustables.py::test_combined_mean_with_different_initial_values
        type: Function
        lineno: 536
      -   nodeid: tests/test_core_adjustables.py::test_combined_is_moving
        type: Function
        lineno: 556
      -   nodeid: tests/test_core_adjustables.py::test_linked_basic
        type: Function
        lineno: 567
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[2-10-20]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[3-15-45]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[0.5-20-10]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[10-5-50]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[-1-10--10]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale[-2-15--30]
        type: Function
        lineno: 579
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[1-50-10]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[2-10-15]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[3--5-10]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[0.5-100-20]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[-1-50-10]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_with_scale_and_offset[2-0-25]
        type: Function
        lineno: 599
      -   nodeid: tests/test_core_adjustables.py::test_linked_get_current_value
        type: Function
        lineno: 620
      -   nodeid: tests/test_core_adjustables.py::test_linked_repr
        type: Function
        lineno: 629
      -   nodeid: tests/test_core_adjustables.py::test_collection_basic
        type: Function
        lineno: 650
      -   nodeid: tests/test_core_adjustables.py::test_collection_set_individual_values
        type: Function
        lineno: 660
      -   nodeid: tests/test_core_adjustables.py::test_collection_get_current_value
        type: Function
        lineno: 672
      -   nodeid: tests/test_core_adjustables.py::test_collection_empty
        type: Function
        lineno: 682
      -   nodeid: tests/test_core_adjustables.py::test_collection_wrong_number_of_values
        type: Function
        lineno: 687
      -   nodeid: tests/test_core_adjustables.py::test_collection_repr
        type: Function
        lineno: 705
      -   nodeid: tests/test_core_adjustables.py::test_collection_is_moving
        type: Function
        lineno: 727
      -   nodeid: tests/test_core_adjustables.py::test_nested_conversions
        type: Function
        lineno: 738
      -   nodeid: tests/test_core_adjustables.py::test_combined_with_converted
        type: Function
        lineno: 758
      -   nodeid: tests/test_core_adjustables.py::test_collection_with_converted
        type: Function
        lineno: 781
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_tweak[10-5--3-12]
        type: Function
        lineno: 806
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_tweak[0-100--50-50]
        type: Function
        lineno: 806
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_tweak[42--10-8-40]
        type: Function
        lineno: 806
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_tweak[-5-15--20--10]
        type: Function
        lineno: 806
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_tweak[100-0-0-100]
        type: Function
        lineno: 806
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_call_syntax
        type: Function
        lineno: 823
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_set_get_aliases
        type: Function
        lineno: 832
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_moving_property
        type: Function
        lineno: 841
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_repr_with_units
        type: Function
        lineno: 848
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_repr_with_degrees
        type: Function
        lineno: 857
      -   nodeid: tests/test_core_adjustables.py::test_adjustable_str
        type: Function
        lineno: 864
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_int_float[42.7-42-42.7]
        type: Function
        lineno: 874
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_int_float[3.14159-3-3.14159]
        type: Function
        lineno: 874
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_int_float[99.99-99-99.99]
        type: Function
        lineno: 874
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_int_float[-5.8--5--5.8]
        type: Function
        lineno: 874
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_int_float[0.1-0-0.1]
        type: Function
        lineno: 874
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_round[3.14159-3-3.1-3.14]
        type: Function
        lineno: 890
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_round[2.71828-3-2.7-2.72]
        type: Function
        lineno: 890
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_round[9.8765-10-9.9-9.88]
        type: Function
        lineno: 890
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_round[-4.567--5--4.6--4.57]
        type: Function
        lineno: 890
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_round[100.123-100-100.1-100.12]
        type: Function
        lineno: 890
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_math_funcs[3.9-3-3-4]
        type: Function
        lineno: 905
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_math_funcs[3.1-3-3-4]
        type: Function
        lineno: 905
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_math_funcs[-2.8--2--3--2]
        type: Function
        lineno: 905
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_math_funcs[-2.1--2--3--2]
        type: Function
        lineno: 905
      -   nodeid: tests/test_core_adjustables.py::test_numeric_convenience_math_funcs[5.5-5-5-6]
        type: Function
        lineno: 905
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_wm
        type: Function
        lineno: 923
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mv
        type: Function
        lineno: 929
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mvr[10-5--3-12]
        type: Function
        lineno: 936
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mvr[0-50-30-80]
        type: Function
        lineno: 936
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mvr[100--20--10-70]
        type: Function
        lineno: 936
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mvr[-5-15--8-2]
        type: Function
        lineno: 936
      -   nodeid: tests/test_core_adjustables.py::test_spec_convenience_mvr[42-0-8-50]
        type: Function
        lineno: 936
      -   nodeid: tests/test_core_adjustables.py::test_limited_set_limits
        type: Function
        lineno: 955
      -   nodeid: tests/test_core_adjustables.py::test_limited_with_various_ranges[0-100-valid_values0--10-150]
        type: Function
        lineno: 963
      -   nodeid: tests/test_core_adjustables.py::test_limited_with_various_ranges[-50-50-valid_values1--100-100]
        type: Function
        lineno: 963
      -   nodeid: tests/test_core_adjustables.py::test_limited_with_various_ranges[10-20-valid_values2-5-25]
        type: Function
        lineno: 963
      -   nodeid: tests/test_core_adjustables.py::test_limited_with_various_ranges[-100--10-valid_values3--150-0]
        type: Function
        lineno: 963
      -   nodeid: tests/test_core_adjustables.py::test_limited_with_various_ranges[0-1000-valid_values4--1-1001]
        type: Function
        lineno: 963
      -   nodeid: tests/test_core_adjustables.py::test_limited_no_limits
        type: Function
        lineno: 987
      -   nodeid: tests/test_core_adjustables.py::test_limited_only_low_limit
        type: Function
        lineno: 997
      -   nodeid: tests/test_core_adjustables.py::test_limited_only_high_limit
        type: Function
        lineno: 1009
      -   nodeid: tests/test_core_adjustables.py::test_limited_reversed_limits
        type: Function
        lineno: 1021
      
    • tests/test_core_devices.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_core_devices.py::test_device_init_name_defaults_to_id[DEV001-DEV001]
        type: Function
        lineno: 14
      -   nodeid: tests/test_core_devices.py::test_device_init_name_defaults_to_id[MOTOR_X-MOTOR_X]
        type: Function
        lineno: 14
      -   nodeid: tests/test_core_devices.py::test_device_init_name_defaults_to_id[dev123-dev123]
        type: Function
        lineno: 14
      -   nodeid: tests/test_core_devices.py::test_device_init_name_defaults_to_id[X-X]
        type: Function
        lineno: 14
      -   nodeid: tests/test_core_devices.py::test_device_init_name_defaults_to_id[A_B_C_D-A_B_C_D]
        type: Function
        lineno: 14
      -   nodeid: tests/test_core_devices.py::test_device_init_with_custom_attributes[DEV001-Motor X-X-axis motor controller]
        type: Function
        lineno: 28
      -   nodeid: tests/test_core_devices.py::test_device_init_with_custom_attributes[SENS002-Temperature Sensor-Beamline temp sensor]
        type: Function
        lineno: 28
      -   nodeid: tests/test_core_devices.py::test_device_init_with_custom_attributes[UND100-Undulator-Main undulator device]
        type: Function
        lineno: 28
      -   nodeid: tests/test_core_devices.py::test_device_init_with_custom_attributes[CAM01-Camera 1-None]
        type: Function
        lineno: 28
      -   nodeid: tests/test_core_devices.py::test_device_init_with_custom_attributes[STAGE-XY Stage-]
        type: Function
        lineno: 28
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_from_id[UND100-100]
        type: Function
        lineno: 42
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_from_id[DEV999-999]
        type: Function
        lineno: 42
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_from_id[MOTOR123-123]
        type: Function
        lineno: 42
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_from_id[UND050:EXTRA-50]
        type: Function
        lineno: 42
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_from_id[ABC250-250]
        type: Function
        lineno: 42
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_explicit[ANYID-42]
        type: Function
        lineno: 54
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_explicit[NOZINID-0]
        type: Function
        lineno: 54
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_explicit[TEST-999]
        type: Function
        lineno: 54
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_explicit[ABC--10]
        type: Function
        lineno: 54
      -   nodeid: tests/test_core_devices.py::test_device_z_undulator_explicit[XYZ-12345]
        type: Function
        lineno: 54
      -   nodeid: tests/test_core_devices.py::test_device_with_adjustables
        type: Function
        lineno: 66
      -   nodeid: tests/test_core_devices.py::test_device_iteration
        type: Function
        lineno: 77
      -   nodeid: tests/test_core_devices.py::test_device_repr_with_adjustables
        type: Function
        lineno: 91
      -   nodeid: tests/test_core_devices.py::test_device_repr_uses_description_then_name_then_id
        type: Function
        lineno: 101
      -   nodeid: tests/test_core_devices.py::test_device_nested
        type: Function
        lineno: 115
      -   nodeid: tests/test_core_devices.py::test_device_recursive_detection
        type: Function
        lineno: 126
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[UND100-100]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[DEV999-999]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[MOTOR123-123]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[UND001-1]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[TEST000-0]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_valid[XYZ250-250]
        type: Function
        lineno: 143
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[NODIGITS]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[ABC]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[TEST]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[XYZ]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[MOTOR_X]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[AB1]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_invalid[X12]
        type: Function
        lineno: 155
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_with_colons[MAIN:SUB:123-123]
        type: Function
        lineno: 168
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_with_colons[CH:100-100]
        type: Function
        lineno: 168
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_with_colons[A:B:C:456-456]
        type: Function
        lineno: 168
      -   nodeid: tests/test_core_devices.py::test_read_z_from_channel_with_colons[PREFIX:789:SUFFIX-789]
        type: Function
        lineno: 168
      -   nodeid: tests/test_core_devices.py::test_decide_z[UND100-None-100]
        type: Function
        lineno: 179
      -   nodeid: tests/test_core_devices.py::test_decide_z[UND100-200-200]
        type: Function
        lineno: 179
      -   nodeid: tests/test_core_devices.py::test_decide_z[NODIGITS-None-None]
        type: Function
        lineno: 179
      -   nodeid: tests/test_core_devices.py::test_decide_z[NODIGITS-42-42]
        type: Function
        lineno: 179
      -   nodeid: tests/test_core_devices.py::test_decide_z[TEST123-0-0]
        type: Function
        lineno: 179
      -   nodeid: tests/test_core_devices.py::test_recursive_adjustables_flat
        type: Function
        lineno: 192
      -   nodeid: tests/test_core_devices.py::test_recursive_adjustables_nested
        type: Function
        lineno: 204
      -   nodeid: tests/test_core_devices.py::test_recursive_adjustables_deep_nesting
        type: Function
        lineno: 224
      -   nodeid: tests/test_core_devices.py::test_recursive_adjustables_ignores_non_adjustables
        type: Function
        lineno: 238
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_kwargs[SIMPLE1-kwargs0]
        type: Function
        lineno: 255
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_kwargs[SIMPLE2-kwargs1]
        type: Function
        lineno: 255
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_kwargs[SIMPLE3-kwargs2]
        type: Function
        lineno: 255
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_kwargs[SIMPLE4-kwargs3]
        type: Function
        lineno: 255
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_kwargs[SIMPLE5-kwargs4]
        type: Function
        lineno: 255
      -   nodeid: tests/test_core_devices.py::test_simpledevice_inherits_device
        type: Function
        lineno: 271
      -   nodeid: tests/test_core_devices.py::test_simpledevice_namespace_behavior
        type: Function
        lineno: 282
      -   nodeid: tests/test_core_devices.py::test_simpledevice_mixed_adjustables_and_data
        type: Function
        lineno: 290
      -   nodeid: tests/test_core_devices.py::test_simpledevice_bug_name_and_description_ignored
        type: Function
        lineno: 306
      -   nodeid: tests/test_core_devices.py::test_simpledevice_bug_cascade_effect
        type: Function
        lineno: 322
      -   nodeid: tests/test_core_devices.py::test_filtered_by_type_single
        type: Function
        lineno: 343
      -   nodeid: tests/test_core_devices.py::test_filtered_by_type_excludes_other_types
        type: Function
        lineno: 355
      -   nodeid: tests/test_core_devices.py::test_filtered_by_type_multiple_types
        type: Function
        lineno: 374
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name[motor-expected_attrs0]
        type: Function
        lineno: 393
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name[x-expected_attrs1]
        type: Function
        lineno: 393
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name[y-expected_attrs2]
        type: Function
        lineno: 393
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name[pos-expected_attrs3]
        type: Function
        lineno: 393
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name[sensor-expected_attrs4]
        type: Function
        lineno: 393
      -   nodeid: tests/test_core_devices.py::test_filtered_by_name_matches_adjustable_name
        type: Function
        lineno: 415
      -   nodeid: tests/test_core_devices.py::test_filtered_custom_condition
        type: Function
        lineno: 427
      -   nodeid: tests/test_core_devices.py::test_filtered_nested_devices
        type: Function
        lineno: 442
      -   nodeid: tests/test_core_devices.py::test_filtered_prunes_empty_subdevices
        type: Function
        lineno: 460
      -   nodeid: tests/test_core_devices.py::test_filtered_returns_none_when_empty
        type: Function
        lineno: 475
      -   nodeid: tests/test_core_devices.py::test_filtered_preserves_device_metadata
        type: Function
        lineno: 484
      -   nodeid: tests/test_core_devices.py::test_auto_creates_device_from_globals
        type: Function
        lineno: 499
      -   nodeid: tests/test_core_devices.py::test_auto_ignores_private_variables
        type: Function
        lineno: 518
      -   nodeid: tests/test_core_devices.py::test_auto_includes_devices
        type: Function
        lineno: 532
      -   nodeid: tests/test_core_devices.py::test_auto_with_kwargs
        type: Function
        lineno: 546
      -   nodeid: tests/test_core_devices.py::test_auto_empty_globals
        type: Function
        lineno: 560
      -   nodeid: tests/test_core_devices.py::test_auto_ignores_various_underscore_prefixes[_]
        type: Function
        lineno: 574
      -   nodeid: tests/test_core_devices.py::test_auto_ignores_various_underscore_prefixes[__]
        type: Function
        lineno: 574
      -   nodeid: tests/test_core_devices.py::test_auto_ignores_various_underscore_prefixes[___]
        type: Function
        lineno: 574
      -   nodeid: tests/test_core_devices.py::test_full_device_hierarchy
        type: Function
        lineno: 592
      -   nodeid: tests/test_core_devices.py::test_device_with_mixed_content
        type: Function
        lineno: 624
      -   nodeid: tests/test_core_devices.py::test_simpledevice_with_auto
        type: Function
        lineno: 644
      -   nodeid: tests/test_core_devices.py::test_device_iteration_with_nested_structure
        type: Function
        lineno: 675
      -   nodeid: tests/test_core_devices.py::test_device_scalability[5-0]
        type: Function
        lineno: 694
      -   nodeid: tests/test_core_devices.py::test_device_scalability[0-3]
        type: Function
        lineno: 694
      -   nodeid: tests/test_core_devices.py::test_device_scalability[3-2]
        type: Function
        lineno: 694
      -   nodeid: tests/test_core_devices.py::test_device_scalability[10-5]
        type: Function
        lineno: 694
      -   nodeid: tests/test_core_devices.py::test_device_scalability[1-1]
        type: Function
        lineno: 694
      
    • tests/test_runname.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan0004_test.json-scan-_-4]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan0001_alpha.txt-scan-_-1]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[run-0042_demo.csv-run--_-42]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[data9999_final.txt-data-_-9999]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan5_test.json-scan-_-5]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[/tmp/data/scan0007_exp.json-scan-_-7]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[/Users/yasmine_tligui/test_pv/runs/scan0123_test.json-scan-_-123]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan0010_report.csv-scan-_-10]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan0300_analysis.yaml-scan-_-300]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[experimentscan0070_trial.txt-experimentscan-_-70]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[meas:001_test.txt-meas:-_-1]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[a/b/c/scan0042_demo.json-scan-_-42]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan1234_extra_part.json-scan-_-1234]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_valid_cases[scan_0042_test.json-scan_-_-42]
        type: Function
        lineno: 19
      -   nodeid: tests/test_runname.py::test_extract_runnumber_invalid_cases[scan00A3_test.json-scan-_]
        type: Function
        lineno: 42
      -   nodeid: tests/test_runname.py::test_extract_runnumber_invalid_cases[file_test.json-scan-_]
        type: Function
        lineno: 42
      -   nodeid: tests/test_runname.py::test_extract_runnumber_invalid_cases[scan_test.json-scan-_]
        type: Function
        lineno: 42
      -   nodeid: tests/test_runname.py::test_extract_runnumber_invalid_cases[run#_info.txt-run#-#]
        type: Function
        lineno: 42
      -   nodeid: tests/test_runname.py::test_extract_runnumber_invalid_cases[1234_scan_test.json-scan-_]
        type: Function
        lineno: 42
      -   nodeid: tests/test_runname.py::test_extract_runnumbers_valid[fnames0-scan-_-expected0]
        type: Function
        lineno: 59
      -   nodeid: tests/test_runname.py::test_extract_runnumbers_valid[fnames1-scan-_-expected1]
        type: Function
        lineno: 59
      -   nodeid: tests/test_runname.py::test_extract_runnumbers_valid[fnames2-run--_-expected2]
        type: Function
        lineno: 59
      -   nodeid: tests/test_runname.py::test_extract_runnumbers_valid[fnames3-data-_-expected3]
        type: Function
        lineno: 59
      -   nodeid: tests/test_runname.py::test_extract_runnumbers_valid[fnames4-scan----expected4]
        type: Function
        lineno: 59
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[pfx-7---abc-.txt-pfx7-abc]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[scan-001-_-data-_scan_info.json-scan001_data]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[run-42---test-.meta-run42-test]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[exp-003----trial-.log-exp003--trial]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[data-99-::-final-.json-data99::final]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_fill_filename_pattern[experiment_-005-_-measure-.csv-experiment_005_measure]
        type: Function
        lineno: 76
      -   nodeid: tests/test_runname.py::test_pattern_exact_match[scan-3-_-_scan_info.json-scan[0-9][0-9][0-9]_*_scan_info.json]
        type: Function
        lineno: 98
      -   nodeid: tests/test_runname.py::test_pattern_exact_match[run--4---.json-run-[0-9][0-9][0-9][0-9]-*.json]
        type: Function
        lineno: 98
      -   nodeid: tests/test_runname.py::test_pattern_exact_match[data-2-#-.meta-data[0-9][0-9]#*.meta]
        type: Function
        lineno: 98
      -   nodeid: tests/test_runname.py::test_pattern_exact_match[exp-1-.-_info.txt-exp[0-9].*_info.txt]
        type: Function
        lineno: 98
      -   nodeid: tests/test_runname.py::test_get_existing_runnumbers_empty
        type: Function
        lineno: 119
      -   nodeid: tests/test_runname.py::test_get_existing_runnumbers_with_files[filenames0-scan-_-_scan_info.json-4-expected_runnumbers0]
        type: Function
        lineno: 125
      -   nodeid: tests/test_runname.py::test_get_existing_runnumbers_with_files[filenames1-run--_-_data.json-4-expected_runnumbers1]
        type: Function
        lineno: 125
      -   nodeid: tests/test_runname.py::test_get_existing_runnumbers_with_files[filenames2-data-_-.meta-2-expected_runnumbers2]
        type: Function
        lineno: 125
      -   nodeid: tests/test_runname.py::test_get_existing_runnumbers_mixed_files
        type: Function
        lineno: 160
      -   nodeid: tests/test_runname.py::test_sequential_run_generation
        type: Function
        lineno: 176
      -   nodeid: tests/test_runname.py::test_get_next_run_filename_non_contiguous
        type: Function
        lineno: 191
      -   nodeid: tests/test_runname.py::test_different_n_digits[1-scan0_test]
        type: Function
        lineno: 201
      -   nodeid: tests/test_runname.py::test_different_n_digits[2-scan00_test]
        type: Function
        lineno: 201
      -   nodeid: tests/test_runname.py::test_different_n_digits[3-scan000_test]
        type: Function
        lineno: 201
      -   nodeid: tests/test_runname.py::test_different_n_digits[5-scan00000_test]
        type: Function
        lineno: 201
      -   nodeid: tests/test_runname.py::test_different_n_digits[6-scan000000_test]
        type: Function
        lineno: 201
      -   nodeid: tests/test_runname.py::test_get_next_run_filename[file_structure0-experiments-scan-_-_scan_info.json-4-scan0003_test]
        type: Function
        lineno: 220
      -   nodeid: tests/test_runname.py::test_get_next_run_filename[file_structure1-project/data-scan-_-_scan_info.json-4-scan0002_test]
        type: Function
        lineno: 220
      -   nodeid: tests/test_runname.py::test_get_next_run_filename[file_structure2-empty_dir-scan-_-_scan_info.json-4-scan0000_test]
        type: Function
        lineno: 220
      
    • tests/test_scanbackend.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_scanbackend.py::test_is_sfdaq_and_only_sfdaq
        type: Function
        lineno: 136
      -   nodeid: tests/test_scanbackend.py::test_get_filename
        type: Function
        lineno: 164
      -   nodeid: tests/test_scanbackend.py::test_create_output_dirs
        type: Function
        lineno: 206
      -   nodeid: tests/test_scanbackend.py::test_store_and_change_initial_values_restores_correctly
        type: Function
        lineno: 255
      -   nodeid: tests/test_scanbackend.py::test_acquire_all_with_fake_acquisitions
        type: Function
        lineno: 289
      -   nodeid: tests/test_scanbackend.py::test_do_step_with_fake_acquisitions
        type: Function
        lineno: 329
      -   nodeid: tests/test_scanbackend.py::test_do_step_with_sensor_and_remote_plot
        type: Function
        lineno: 357
      -   nodeid: tests/test_scanbackend.py::test_do_step_multiple_steps
        type: Function
        lineno: 386
      -   nodeid: tests/test_scanbackend.py::test_do_checked_step_with_condition_repeats
        type: Function
        lineno: 417
      -   nodeid: tests/test_scanbackend.py::test_make_summary_and_repr
        type: Function
        lineno: 452
      -   nodeid: tests/test_scanbackend.py::test_make_summary_single_repeat
        type: Function
        lineno: 464
      -   nodeid: tests/test_scanbackend.py::test_make_summary_multiple_repeats
        type: Function
        lineno: 489
      -   nodeid: tests/test_scanbackend.py::test_scan_loop_fake_only
        type: Function
        lineno: 511
      -   nodeid: tests/test_scanbackend.py::test_repeated_scan_loop_fake_only
        type: Function
        lineno: 547
      -   nodeid: tests/test_scanbackend.py::test_full_multidimensional_scan_end_to_end
        type: Function
        lineno: 580
      -   nodeid: tests/test_scanbackend.py::test_scanND_relative_positions_only
        type: Function
        lineno: 655
      -   nodeid: tests/test_scanbackend.py::test_print_current_values_displays_correct_output
        type: Function
        lineno: 706
      -   nodeid: tests/test_scanbackend.py::test_get_all_current_values_returns_correct_list
        type: Function
        lineno: 729
      -   nodeid: tests/test_scanbackend.py::test_set_all_target_values_and_wait_full_chain
        type: Function
        lineno: 738
      -   nodeid: tests/test_scanbackend.py::test_wait_for_all_calls_wait_on_all_tasks
        type: Function
        lineno: 758
      -   nodeid: tests/test_scanbackend.py::test_stop_all_calls_stop_and_handles_exceptions
        type: Function
        lineno: 774
      -   nodeid: tests/test_scanbackend.py::test_run_with_exception_handling
        type: Function
        lineno: 804
      -   nodeid: tests/test_scanbackend.py::test_scan_interrupted_midway
        type: Function
        lineno: 832
      -   nodeid: tests/test_scanbackend.py::test_remote_plot_connection_refused_on_new_plot
        type: Function
        lineno: 860
      -   nodeid: tests/test_scanbackend.py::test_remote_plot_connection_refused_on_append_data
        type: Function
        lineno: 878
      -   nodeid: tests/test_scanbackend.py::test_step_info_callable
        type: Function
        lineno: 909
      -   nodeid: tests/test_scanbackend.py::test_repeated_scan_with_very_large_n_repeat
        type: Function
        lineno: 934
      -   nodeid: tests/test_scanbackend.py::test_repeated_scan_loop_stops_when_running_false
        type: Function
        lineno: 953
      -   nodeid: tests/test_scanbackend.py::test_sfdaq_with_spreadsheet_logging
        type: Function
        lineno: 981
      -   nodeid: tests/test_scanbackend.py::test_scan_loop_with_single_value
        type: Function
        lineno: 1015
      -   nodeid: tests/test_scanbackend.py::test_scan_loop_advances_run_number_per_acquisition
        type: Function
        lineno: 1033
      -   nodeid: tests/test_scanbackend.py::test_return_to_initial_values_false
        type: Function
        lineno: 1051
      -   nodeid: tests/test_scanbackend.py::test_true_2D_grid_scan
        type: Function
        lineno: 1069
      -   nodeid: tests/test_scanbackend.py::test_true_3D_grid_scan
        type: Function
        lineno: 1100
      -   nodeid: tests/test_scanbackend.py::test_true_4D_grid_scan
        type: Function
        lineno: 1132
      -   nodeid: tests/test_scanbackend.py::test_parametrized_ND_grid_scan_generator
        type: Function
        lineno: 1163
      -   nodeid: tests/test_scanbackend.py::test_ND_grid_with_readbacks_verification
        type: Function
        lineno: 1224
      -   nodeid: tests/test_scanbackend.py::test_large_ND_grid_scan
        type: Function
        lineno: 1255
      -   nodeid: tests/test_scanbackend.py::test_ND_grid_interrupted_midway
        type: Function
        lineno: 1282
      -   nodeid: tests/test_scanbackend.py::test_nonsfdaq_acquisition_only
        type: Function
        lineno: 1318
      -   nodeid: tests/test_scanbackend.py::test_nonsfdaq_with_make_scan_sub_dir
        type: Function
        lineno: 1341
      -   nodeid: tests/test_scanbackend.py::test_nonsfdaq_acquire_all_different_params
        type: Function
        lineno: 1360
      -   nodeid: tests/test_scanbackend.py::test_mixed_sfdaq_and_nonsfdaq_acquisitions
        type: Function
        lineno: 1377
      -   nodeid: tests/test_scanbackend.py::test_nonsfdaq_with_default_dir_none
        type: Function
        lineno: 1398
      -   nodeid: tests/test_scanbackend.py::test_return_to_initial_values_none_user_says_yes
        type: Function
        lineno: 1417
      -   nodeid: tests/test_scanbackend.py::test_return_to_initial_values_none_user_says_no
        type: Function
        lineno: 1438
      -   nodeid: tests/test_scanbackend.py::test_n_repeat_none_infinite_with_early_stop
        type: Function
        lineno: 1460
      -   nodeid: tests/test_scanbackend.py::test_n_repeat_none_printable_summary
        type: Function
        lineno: 1487
      -   nodeid: tests/test_scanbackend.py::test_keyboard_interrupt_handling
        type: Function
        lineno: 1504
      -   nodeid: tests/test_scanbackend.py::test_sensor_without_remote_plot
        type: Function
        lineno: 1534
      -   nodeid: tests/test_scanbackend.py::test_condition_with_multiple_repeats
        type: Function
        lineno: 1554
      -   nodeid: tests/test_scanbackend.py::test_stop_calls_condition_stop
        type: Function
        lineno: 1572
      -   nodeid: tests/test_scanbackend.py::test_step_info_as_static_dict
        type: Function
        lineno: 1590
      -   nodeid: tests/test_scanbackend.py::test_scan_with_empty_values_list
        type: Function
        lineno: 1612
      -   nodeid: tests/test_scanbackend.py::test_scan_with_empty_acquisitions_list
        type: Function
        lineno: 1630
      -   nodeid: tests/test_scanbackend.py::test_scan_with_very_large_istep
        type: Function
        lineno: 1645
      -   nodeid: tests/test_scanbackend.py::test_condition_with_minimum_repeats
        type: Function
        lineno: 1660
      -   nodeid: tests/test_scanbackend.py::test_remote_plot_without_sensor
        type: Function
        lineno: 1677
      -   nodeid: tests/test_scanbackend.py::test_n_repeat_with_n_pulses_formatting
        type: Function
        lineno: 1694
      -   nodeid: tests/test_scanbackend.py::test_scan_stopped_before_first_iteration
        type: Function
        lineno: 1715
      -   nodeid: tests/test_scanbackend.py::test_complete_scan_values_readbacks_and_return_to_initial
        type: Function
        lineno: 1735
      -   nodeid: tests/test_scanbackend.py::test_scan_without_return_to_initial_stays_at_last_value
        type: Function
        lineno: 1777
      -   nodeid: tests/test_scanbackend.py::test_acquisition_parameters_are_correct
        type: Function
        lineno: 1804
      
    • tests/test_scaninfo.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_scaninfo.py::test_init_creates_expected_filename[adjustables0-values0-_scan_info.json-fileA_scan_info.json-expected_params0]
        type: Function
        lineno: 13
      -   nodeid: tests/test_scaninfo.py::test_init_creates_expected_filename[adjustables1-values1-.meta-fileB.meta-expected_params1]
        type: Function
        lineno: 13
      -   nodeid: tests/test_scaninfo.py::test_init_creates_expected_filename[adjustables2-values2-_extra.json-fileC_extra.json-expected_params2]
        type: Function
        lineno: 13
      -   nodeid: tests/test_scaninfo.py::test_init_with_empty_adjustables
        type: Function
        lineno: 60
      -   nodeid: tests/test_scaninfo.py::test_init_with_missing_attributes[adjustable0-noName-test_id-test_units]
        type: Function
        lineno: 78
      -   nodeid: tests/test_scaninfo.py::test_init_with_missing_attributes[adjustable1-test_name-noID-test_units]
        type: Function
        lineno: 78
      -   nodeid: tests/test_scaninfo.py::test_init_with_missing_attributes[adjustable2-test_name-test_id-noUnits]
        type: Function
        lineno: 78
      -   nodeid: tests/test_scaninfo.py::test_init_with_missing_attributes[adjustable3-noName-noID-noUnits]
        type: Function
        lineno: 78
      -   nodeid: tests/test_scaninfo.py::test_append
        type: Function
        lineno: 96
      -   nodeid: tests/test_scaninfo.py::test_append_with_empty_lists
        type: Function
        lineno: 113
      -   nodeid: tests/test_scaninfo.py::test_append_with_mismatched_list_lengths[3-2-1]
        type: Function
        lineno: 123
      -   nodeid: tests/test_scaninfo.py::test_append_with_mismatched_list_lengths[1-3-2]
        type: Function
        lineno: 123
      -   nodeid: tests/test_scaninfo.py::test_append_with_mismatched_list_lengths[5-1-5]
        type: Function
        lineno: 123
      -   nodeid: tests/test_scaninfo.py::test_append_info_with_complex_nested_dict
        type: Function
        lineno: 145
      -   nodeid: tests/test_scaninfo.py::test_very_long_lists
        type: Function
        lineno: 164
      -   nodeid: tests/test_scaninfo.py::test_callable_info_that_raises_exception
        type: Function
        lineno: 180
      -   nodeid: tests/test_scaninfo.py::test_callable_info_returns_none
        type: Function
        lineno: 190
      -   nodeid: tests/test_scaninfo.py::test_info_with_none_directly
        type: Function
        lineno: 196
      -   nodeid: tests/test_scaninfo.py::test_write_and_to_dict
        type: Function
        lineno: 204
      -   nodeid: tests/test_scaninfo.py::test_to_dict_complete_structure
        type: Function
        lineno: 229
      -   nodeid: tests/test_scaninfo.py::test_update_integration
        type: Function
        lineno: 256
      -   nodeid: tests/test_scaninfo.py::test_to_sfdaq_dict_filled_example
        type: Function
        lineno: 279
      -   nodeid: tests/test_scaninfo.py::test_to_sfdaq_dict_with_single_adjustable
        type: Function
        lineno: 345
      -   nodeid: tests/test_scaninfo.py::test_to_sfdaq_dict_filename_with_slash
        type: Function
        lineno: 360
      -   nodeid: tests/test_scaninfo.py::test_to_sfdaq_dict_with_empty_adjustables_list
        type: Function
        lineno: 366
      -   nodeid: tests/test_scaninfo.py::test_append_then_to_sfdaq_returns_last_values
        type: Function
        lineno: 379
      -   nodeid: tests/test_scaninfo.py::test_repr
        type: Function
        lineno: 395
      -   nodeid: tests/test_scaninfo.py::test_filename_base_already_contains_suffix
        type: Function
        lineno: 403
      -   nodeid: tests/test_scaninfo.py::test_filename_with_multiple_slashes
        type: Function
        lineno: 408
      -   nodeid: tests/test_scaninfo.py::test_suffix_empty_string
        type: Function
        lineno: 415
      -   nodeid: tests/test_scaninfo.py::test_suffix_no_extension
        type: Function
        lineno: 421
      -   nodeid: tests/test_scaninfo.py::test_base_dir_with_trailing_slash
        type: Function
        lineno: 426
      -   nodeid: tests/test_scaninfo.py::test_filename_base_with_dots
        type: Function
        lineno: 432
      -   nodeid: tests/test_scaninfo.py::test_multiple_slashes_and_underscores_in_filename_base
        type: Function
        lineno: 437
      -   nodeid: tests/test_scaninfo.py::test_adjustable_with_special_characters_in_name
        type: Function
        lineno: 443
      -   nodeid: tests/test_scaninfo.py::test_full_integration_workflow
        type: Function
        lineno: 457
      
    • tests/test_utils_argfwd.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst0-2-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst1-1-expected1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst2-0-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a0-b0-expected0]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a1-b1-expected1]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a2-b2-expected2]
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a0-b0-expected0]
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a1-b1-expected1]
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a2-b2-expected2]
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos0-expected_names0]
        type: Function
        lineno: 34
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos1-expected_names1]
        type: Function
        lineno: 34
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos2-expected_names2]
        type: Function
        lineno: 34
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw0-expected_keys0-expected_defaults0]
        type: Function
        lineno: 47
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw1-expected_keys1-expected_defaults1]
        type: Function
        lineno: 47
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw2-expected_keys2-expected_defaults2]
        type: Function
        lineno: 47
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos0-kw0-(x, y, z=3)]
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos1-kw1-(a, b=1, c=2)]
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos2-kw2-(flag=False)]
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos0-expected_kw0]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos2-expected_kw2]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_all-(a, b, d=30, c=10)]
        type: Function
        lineno: 103
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_skip-(a, b, c=10, d=20)]
        type: Function
        lineno: 103
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_ignore_all-(x, y, c=10, d=20)]
        type: Function
        lineno: 103
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args0-kwargs0-36]
        type: Function
        lineno: 111
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args1-kwargs1-11]
        type: Function
        lineno: 111
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_skip-args2-kwargs2-10]
        type: Function
        lineno: 111
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_ignore_all-args3-kwargs3-10]
        type: Function
        lineno: 111
      
    • tests/test_utils_ask_yes_no.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-y-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-yes-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-n-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-no-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input4-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input5-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input6-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-y-True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-n-False-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y--True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-y-True-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-n-False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n--False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input5-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input6-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input7-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input8-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input9-False-Invalid]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input5-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input6-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input9-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-user_input10-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input11-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input12-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input13-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-invalid-None-user_input0-False]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-None-notananswer-user_input1-True]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-n-nop-user_input2-False]
        type: Function
        lineno: 117
      
    • tests/test_utils_channels.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_channels.py::test_load_channels_and_channels_class_with_professional_names
        type: Function
        lineno: 42
      
    • tests/test_utils_config.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_config.py::test_config_with_nested_and_list_data
        type: Function
        lineno: 15
      -   nodeid: tests/test_utils_config.py::test_config_with_strange_and_edge_keys
        type: Function
        lineno: 73
      
    • tests/test_utils_cpint.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[red]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[blue]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[yellow]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[green]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[cyan]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[magenta]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[white]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[black]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects2-color_spec2- / -[] / {} / End-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects3-color_spec3-;-['', [3, 4]];done;0-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects7-color_spec7-==-['A', ['B']]==string==C-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects9-None-;-['no', 'color'];plain-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects10-None- | -['simple'] |  | 12-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects11-None- : -[['very', 'deep']] : {'ok': True}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects12-color_spec12-|-['fail', 'color']|123-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects13-color_spec13- * -['error'] * {}-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects14-color_spec14-//-['nope']//['bad']-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects15-color_spec15----wrong--base-ValueError]
        type: Function
        lineno: 24
      
    • tests/test_utils_dbusnotify.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dbusnotify.py::DBusTestCase
        type: UnitTestCase
      -   nodeid: tests/test_utils_dbusnotify.py::test_notify_create
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_dbusnotify.py::test_notify_update
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_dbusnotify.py::test_get_server_info
        type: Function
        lineno: 37
      -   nodeid: tests/test_utils_dbusnotify.py::test_get_capabilities
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_dbusnotify.py::test_notify_and_close
        type: Function
        lineno: 63
      -   nodeid: tests/test_utils_dbusnotify.py::test_notify_invalid_value
        type: Function
        lineno: 73
      -   nodeid: tests/test_utils_dbusnotify.py::test_convert_dbus_strings
        type: Function
        lineno: 79
      
    • tests/test_utils_dbusnotify.py::DBusTestCase
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_debug.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry0-creating: A(10, 20)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry1-creating: A(10, 20, e=100)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_short_repr[abc-10-'abc']
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[12345-10-12345]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value3-15-[0, 0, 0, 0, 0,...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[None-10-None]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...]
        type: Function
        lineno: 52
      
    • tests/test_utils_dictext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data0-x-1]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data1-world-ok]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data2-outer-expected2]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial0-nouveau-123]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial1-b-valeur]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial0-a-expected_keys0]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial1-k-expected_keys1]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data0-expected_keys0]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data1-expected_keys1]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data0-x-1-None]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'MyDict' object has no attribute 'missing']
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs0-None-kwargs0-expected0]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs1-other1-kwargs1-expected1]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs2-other2-kwargs2-expected2]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs3-None-kwargs3-expected3]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs4-other4-kwargs4-expected4]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs5-other5-kwargs5-expected5]
        type: Function
        lineno: 90
      
    • tests/test_utils_dotdir.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_creation_and_base_exists
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_repr_returns_path_str
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_call
        type: Function
        lineno: 35
      
    • tests/test_utils_duo.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_duo.py::TestPickledDictReal
        type: Class
      -   nodeid: tests/test_utils_duo.py::TestSecrets
        type: Class
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_raises_if_no_key
        type: Function
        lineno: 147
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_info_with_props_same_name_and_pi
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_info_with_props_different_pi
        type: Function
        lineno: 181
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_info_without_props_with_owner
        type: Function
        lineno: 208
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_info_without_props_no_owner
        type: Function
        lineno: 229
      -   nodeid: tests/test_utils_duo.py::test_get_pgroup_info_mock
        type: Function
        lineno: 249
      
    • tests/test_utils_duo.py::TestPickledDictReal
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_duo.py::TestPickledDictReal::test_set_get
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_duo.py::TestPickledDictReal::test_load
        type: Function
        lineno: 52
      
    • tests/test_utils_duo.py::TestSecrets
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_secret_workflow
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_multiple_secrets
        type: Function
        lineno: 113
      -   nodeid: tests/test_utils_duo.py::TestSecrets::test_keyboard_interrupt
        type: Function
        lineno: 125
      
    • tests/test_utils_elog.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_with_direct_password_and_real_check
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_with_wrong_password_and_real_check
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_asks_password
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_with_path_home
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_elog.py::test_screenshot
        type: Function
        lineno: 98
      
    • tests/test_utils_eval.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[4 - 2-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 * 5-15]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 / 2-5.0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 % 3-1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-5--5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[+7-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2 * 3-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(1 + 2) * 3-9]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-3)-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-2 + 4 * 2-6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(4 + 5) * (6 - 1)-45]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(((3)))-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-(-2))--2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + +4-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + -4--1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[True + 1-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['string'-string]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1e1000 * 1e1000-inf]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['a' + 'b'-ab]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[2 ** 3-Unsupported BinOp Pow]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[3 << 1-Unsupported BinOp LShift]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[1 < 2-Unsupported node type Compare]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[abs(3)-Unsupported node type Call]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[a + 2-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[string-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[[1, 2] + [3]-Unsupported node type List]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[{1: 2}-Unsupported node type Dict]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[1 / 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[10 % 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 + 2-3]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[bad + 2-bad + 2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 / 0-1 / 0]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[2 ** 10-2 ** 10]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[3 * 4-0-12]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[invalid + 1-99-99]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[1 / 0--1--1]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[2 ** 10-42-42]
        type: Function
        lineno: 71
      
    • tests/test_utils_exceptions.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_key_error-High-level task failed\ncaused by KeyError: 'missing']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_index_error-High-level task failed\ncaused by IndexError: list index out of range]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_value_error-High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_type_error-High-level task failed\ncaused by TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_key_error-KeyError: 'missing']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_index_error-IndexError: list index out of range]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_zero_division-ZeroDivisionError: division by zero]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_type_error-TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 60
      
    • tests/test_utils_get_adj.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_success
        type: Function
        lineno: 23
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_not_found
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_get_adj.py::test_ensure_adjs_mixed
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_get_adj.py::test_get_adjs_filter
        type: Function
        lineno: 37
      
    • tests/test_utils_hastepics.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_ipy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ipy.py::test_devices_repr_fallback_and_ignore
        type: Function
        lineno: 19
      
    • tests/test_utils_jsonext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj0-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj1-42]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[(1-1j)-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj3-/tmp/file.txt]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj5-expected5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj6-expected6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj7-expected7]
        type: Function
        lineno: 7
      
    • tests/test_utils_lazypv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_lazypv.py::test_getattr
        type: Function
        lineno: 7
      
    • tests/test_utils_logcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[LONG-<lambda>-This is a LONG message]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[ENLARGE-<lambda>-Please ENLARGE this!]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_import_logging_once_per_module
        type: Function
        lineno: 51
      
    • tests/test_utils_logign.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[WARNING-This should be ignored-This should appear]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[ENLARGE-ENLARGE this-Keep this ENLARGE]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_level
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_msg
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_logign.py::test_filter_removed_after_context
        type: Function
        lineno: 86
      
    • tests/test_utils_marker.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_marker.py::test_format_value_with_units
        type: Function
        lineno: 30
      -   nodeid: tests/test_utils_marker.py::test_format_value_without_units
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_marker.py::test_marker_name_default
        type: Function
        lineno: 39
      -   nodeid: tests/test_utils_marker.py::test_marker_name_custom
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_marker.py::test_marker_repr_format
        type: Function
        lineno: 49
      -   nodeid: tests/test_utils_marker.py::test_marker_update_changes_value
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_marker.py::test_marker_update_with_explicit_value
        type: Function
        lineno: 63
      -   nodeid: tests/test_utils_marker.py::test_marker_goto_sets_value_and_returns_result
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_marker.py::test_marker_call_is_alias_of_goto
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_marker.py::test_markers_register_and_access
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_marker.py::test_markers_repr_contains_all
        type: Function
        lineno: 103
      -   nodeid: tests/test_utils_marker.py::test_marker_registry_dict_is_printable_dict
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_marker.py::test_markers_getitem_invalid_key_raises
        type: Function
        lineno: 122
      
    • tests/test_utils_metaclasses.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_metaclasses.py::test_combine_classes_combines_methods
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_metaclasses.py::test_registryabc_combines_registrymeta_and_abcmeta
        type: Function
        lineno: 25
      
    • tests/test_utils_namespace.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_namespace.py::test_namespace_pretty_repr_mixed_and_nested
        type: Function
        lineno: 4
      
    • tests/test_utils_npy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[0-5-1-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[5-0--1-expected1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[1-2-0.3-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[-2-2-1.5-expected3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[2.5-0.5--0.4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-10-4-expected0]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[5-15-2-expected1]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-5-5-4-expected2]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-3-expected3]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[2-2-3-expected4]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[3-0-3-expected5]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-0-expected6]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-2-2-3-expected7]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2--1.5-True-expected4]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[5-0--2-True-expected5]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 127
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 127
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 127
      
    • tests/test_utils_opmsg.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_path.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_yes
        type: Function
        lineno: 10
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_no
        type: Function
        lineno: 36
      -   nodeid: tests/test_utils_path.py::test_make_missing_dir_creates_folder
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_path.py::test_glob_files_returns_matching_files_only
        type: Function
        lineno: 66
      -   nodeid: tests/test_utils_path.py::test_filter_files_excludes_directories
        type: Function
        lineno: 83
      
    • tests/test_utils_picklio.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj0]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj1]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[simple string]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[42]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[3.14159]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj5]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj6]
        type: Function
        lineno: 6
      
    • tests/test_utils_printing.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq0-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq1-0]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq2-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq3-2]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_strlen[42-2]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[hello-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[False-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[None-4]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value4-9]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value5-8]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value6-6]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[-0]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[this is a phrase-16]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq0-6]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq1-3]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq2-9]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq3-16]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq4-5]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data0-expected0]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data1-expected1]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data2-expected2]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial0-1-expected0]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial1-a-expected1]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial2-prepend2-expected2]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial3-prepend3-expected3]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries0-widths0-  a   bbb]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries1-widths1- 1  2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries2-widths2-  long  val]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries3-widths3- True  False]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries4-widths4-  123  4567]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries5-widths5- text with space   end]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries6-widths6-  {'a': 1}   {'b': 2}]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries7-widths7-    [1, 2]     [3, 4]]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths0------ ----]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths1-=-== ===]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths2-*-***** **]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_with_header[d0-HeaderTest-expected_lines0]
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_of_dicts
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_printing.py::test_printable_table[data0-labels0-A: ID\nB: \u2713 Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}]
        type: Function
        lineno: 128
      
    • tests/test_utils_pv.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_pvpreload.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_pyepics.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_rangebar.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_rangebar.py::test_full_progress_bar
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_rangebar.py::test_half_progress_bar
        type: Function
        lineno: 23
      -   nodeid: tests/test_utils_rangebar.py::test_zero_progress_bar
        type: Function
        lineno: 38
      -   nodeid: tests/test_utils_rangebar.py::test_overflow_bar
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_rangebar.py::test_underflow_bar
        type: Function
        lineno: 67
      -   nodeid: tests/test_utils_rangebar.py::test_repr
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[0-          ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[10-\u2588         ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[25-\u2588\u2588\u258c       ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[27-\u2588\u2588\u258a       ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[49-\u2588\u2588\u2588\u2588\u2589     ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[50-\u2588\u2588\u2588\u2588\u2588     ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[51-\u2588\u2588\u2588\u2588\u2588\u258f    ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e  ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588]
        type: Function
        lineno: 87
      
    • tests/test_utils_readable.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[59.4-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[59.9-60 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[119.9-120 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[120.1-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3599.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3600.1-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[7199.9-120 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[7200.1-2 hours]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[90.4-90 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[90.6-91 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[121.9-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[1296000.0-2 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[2592000.0-4 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[2800000.0-5 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3888000.0-6 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5097600.0-8 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5184000.0-9 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5270400.0-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[23328000.0-9 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[31104000.0-12 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[33696000.0-13 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[59616000.0-23 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[62208000.0-24 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[64208000.0-2 years]
        type: Function
        lineno: 3
      
    • tests/test_utils_registry.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_registry.py::test_metaclass_creates_weakset
        type: Function
        lineno: 13
      -   nodeid: tests/test_utils_registry.py::test_metaclass_tracks_instances
        type: Function
        lineno: 22
      -   nodeid: tests/test_utils_registry.py::test_registry_inheritance
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_registry.py::test_instance_tracking
        type: Function
        lineno: 39
      -   nodeid: tests/test_utils_registry.py::test_collect_instances_recursive
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_registry.py::test_instances_function
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_registry.py::test_non_registry_class_error
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_registry.py::test_signature_preservation
        type: Function
        lineno: 102
      
    • tests/test_utils_reprate.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_richcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_richcfg.py::test_rich_inspector_outputs_more_than_builtin
        type: Function
        lineno: 53
      
    • tests/test_utils_run_later.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_run_later.py::test_init_and_repr
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_run_later.py::test_call
        type: Function
        lineno: 22
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_string
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_list
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_single_int
        type: Function
        lineno: 37
      -   nodeid: tests/test_utils_run_later.py::test_run_at_future_triggered_and_logs
        type: Function
        lineno: 49
      -   nodeid: tests/test_utils_run_later.py::test_run_at_already_past
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_run_later.py::test_run_in_future_triggered_and_logs
        type: Function
        lineno: 72
      -   nodeid: tests/test_utils_run_later.py::test_run_in_past
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_run_later.py::test_run_later_with_seconds
        type: Function
        lineno: 95
      -   nodeid: tests/test_utils_run_later.py::test_run_later_with_past_datetime
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_run_later.py::test_run_at_tqdm_multiple_updates
        type: Function
        lineno: 115
      -   nodeid: tests/test_utils_run_later.py::test_today_basic
        type: Function
        lineno: 142
      -   nodeid: tests/test_utils_run_later.py::test_tomorrow_basic
        type: Function
        lineno: 148
      -   nodeid: tests/test_utils_run_later.py::test_yesterday_basic
        type: Function
        lineno: 154
      -   nodeid: tests/test_utils_run_later.py::test_today_matmul_string
        type: Function
        lineno: 160
      -   nodeid: tests/test_utils_run_later.py::test_tomorrow_matmul_list
        type: Function
        lineno: 166
      -   nodeid: tests/test_utils_run_later.py::test_yesterday_matmul_single
        type: Function
        lineno: 172
      
    • tests/test_utils_sendmail.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_sendmail.py::test_sendmail_local_delivery
        type: Function
        lineno: 13
      -   nodeid: tests/test_utils_sendmail.py::test_sendmail_raises_on_sendmail_failure
        type: Function
        lineno: 60
      
    • tests/test_utils_sendsms.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_sendsms.py::test_sendsms_local_delivery
        type: Function
        lineno: 6
      
    • tests/test_utils_shortcut.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::test_run_method
        type: Function
        lineno: 29
      -   nodeid: tests/test_utils_shortcut.py::test_repr_output
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_shortcut.py::test_source_with_regular_function
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_shortcut.py::test_source_error_handling
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_basic
        type: Function
        lineno: 84
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_with_name
        type: Function
        lineno: 94
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_factory_pattern
        type: Function
        lineno: 102
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::test_registry_inheritance
        type: Function
        lineno: 202
      
    • tests/test_utils_shortcut.py::TestFullIntegration
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_workflow
        type: Function
        lineno: 168
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_multiple_shortcuts
        type: Function
        lineno: 188
      
    • tests/test_utils_shortcut.py::TestShortcutInitialization
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_with_custom_name
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_without_name
        type: Function
        lineno: 21
      
    • tests/test_utils_shortcut.py::TestShortcutsSingleton
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_singleton_behavior
        type: Function
        lineno: 119
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_registration
        type: Function
        lineno: 125
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_getitem_access
        type: Function
        lineno: 139
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_missing_key
        type: Function
        lineno: 147
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_repr_output
        type: Function
        lineno: 152
      
    • tests/test_utils_snapshot.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[exclude_internals]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[include_internals]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[empty_case]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_str]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_id]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_case_insensitive]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_length]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_reverse]
        type: Function
        lineno: 83
      
    • tests/test_utils_termtitle.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_termtitle.py::test_terminal_title_with_tmux
        type: Function
        lineno: 9
      
    • tests/test_utils_tqdm_mod.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_tqdm_mod.py::test_complete_progress_bar
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_tqdm_mod.py::test_set_progress_multiple_points
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_tqdm_mod.py::test_format_sizeof_alignment
        type: Function
        lineno: 65
      -   nodeid: tests/test_utils_tqdm_mod.py::test_float_alignment_in_bar
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_tqdm_mod.py::test_custom_unit
        type: Function
        lineno: 136
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_above_total
        type: Function
        lineno: 150
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_below_zero
        type: Function
        lineno: 167
      
    • tests/test_utils_trinary.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_valid_values
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_invalid_value
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_with_custom_allowed_values
        type: Function
        lineno: 22
      
    • tests/test_utils_typecast.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_typecast.py::test_downcast_success
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_typecast.py::test_upcast_success
        type: Function
        lineno: 30
      -   nodeid: tests/test_utils_typecast.py::test_downcast_invalid
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_typecast.py::test_upcast_invalid
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_typecast.py::test_object_identity_preserved
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_typecast.py::test_ensure_subclass_valid
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_typecast.py::test_ensure_subclass_invalid
        type: Function
        lineno: 67
      -   nodeid: tests/test_utils_typecast.py::test_cast_changes_class
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_typecast.py::test_cast_preserves_identity
        type: Function
        lineno: 86
      
    • tests/test_utils_utils.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_utils.py::test_singleton_instance
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_utils.py::test_singleton_identity
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_utils.py::test_typename[None-NoneType]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[True-bool]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[42-int]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[3.14-float]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[text-str]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj5-set]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj6-list]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj7-list]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj8-dict]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[<lambda>-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sample_function-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[nested-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[len-builtin_function_or_method]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sum-builtin_function_or_method]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[math-module]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sys-module]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[function-type]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[<genexpr>-generator]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj18-list_iterator]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums0-4]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums1-21]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums2-0]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[7-3-007]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[123-5-00123]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[0-2-00]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_iround[3.6-4]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[2.1-2]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[-1.5--2]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[-1.4--1]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally[items0-expected0]
        type: Function
        lineno: 108
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally[items1-expected1]
        type: Function
        lineno: 108
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally_reverse[items0-expected0]
        type: Function
        lineno: 115
      
    • tests/test_utils_xrange.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args0-kwargs0-expected0]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args1-kwargs1-expected1]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args2-kwargs2-expected2]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args3-kwargs3-expected3]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args0-kwargs0-count(0)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args1-kwargs1-count(0, 2)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_too_many_args[args0]
        type: Function
        lineno: 31
      
. (1 tests)
  • .
    • Outcome: passed
    • result:
    -   nodeid: ci-reports
      type: Dir
    -   nodeid: markdown
      type: Dir
    -   nodeid: morbidissimo
      type: Dir
    -   nodeid: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: test-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

Warnings nº1
message: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py
lineno: 97
Warnings nº2
message: invalid escape sequence \[
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/tests/test_utils_pv.py
lineno: 12