Clone
1
run 1564 TEST commit 6ae5795
ci-bot edited this page 2025-08-04 12:18:30 +00:00

Test Report

View CI Run 1564 | Commit 6ae5795

🧪 Test Report

Generated on 2025-08-04 14:18:25 CEST

🧾 General Info

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

📋 Summary

  • Passed: 387
  • Failed: 52
  • Total: 439
  • Collected: 439

🔎 Tests

Passed (387)
  • 📄 test_utils_argfwd.py

    Function: test_split_at

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

      📌 Runtime Parameters

      params:
        lst:
          - a
          - b
          - c
          - d
        index: 2
        expected:
          -       - a
            - b
          -       - c
            - d
      id: lst0-2-expected0
      

      📌 Setup phase

      duration:

      0.0006352262571454048
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019241031259298325
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002732910215854645
      

      outcome:

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

      📌 Runtime Parameters

      params:
        lst:
          - x
          - y
        index: 1
        expected:
          -       - x
          -       - y
      id: lst1-1-expected1
      

      📌 Setup phase

      duration:

      0.0002916990779340267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014519505202770233
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016977079212665558
      

      outcome:

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

      📌 Runtime Parameters

      params:
        lst:
      []
        index: 0
        expected:
          - (vide)
          - (vide)
      id: lst2-0-expected2
      

      📌 Setup phase

      duration:

      0.000272153876721859
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013979198411107063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016710394993424416
      

      outcome:

      passed
      

    Function: test_merge_lists_unique

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

      📌 Runtime Parameters

      params:
        a:
          - a
          - b
        b:
          - b
          - c
        expected:
          - a
          - b
          - c
      id: a0-b0-expected0
      

      📌 Setup phase

      duration:

      0.000268423929810524
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015249336138367653
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001604761928319931
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002672807313501835
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014736223965883255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015489105135202408
      

      outcome:

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

      📌 Runtime Parameters

      params:
        a:
          - x
          - y
        b:
          - x
          - y
        expected:
          - x
          - y
      id: a2-b2-expected2
      

      📌 Setup phase

      duration:

      0.00027857581153512
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014184415340423584
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015336740761995316
      

      outcome:

      passed
      

    Function: test_merge_dicts_unique

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

      📌 Runtime Parameters

      params:
        a:
          a: 1
        b:
          b: 2
        expected:
          a: 1
          b: 2
      id: a0-b0-expected0
      

      📌 Setup phase

      duration:

      0.00027016690000891685
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001419740729033947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001581241376698017
      

      outcome:

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

      📌 Runtime Parameters

      params:
        a:
          x: 1
        b:
          x: 9
          y: 3
        expected:
          x: 1
          y: 3
      id: a1-b1-expected1
      

      📌 Setup phase

      duration:

      0.0002685808576643467
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014267629012465477
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016852794215083122
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002639549784362316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013806577771902084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017287489026784897
      

      outcome:

      passed
      

    Function: test_make_params_pos_basic

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

      📌 Runtime Parameters

      params:
        pos:
          - a
          - b
        expected_names:
          - a
          - b
      id: pos0-expected_names0
      

      📌 Setup phase

      duration:

      0.00023010000586509705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017725909128785133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014037592336535454
      

      outcome:

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

      📌 Runtime Parameters

      params:
        pos:
          - param1
          - value_2
          - Z
        expected_names:
          - param1
          - value_2
          - Z
      id: pos1-expected_names1
      

      📌 Setup phase

      duration:

      0.00022684596478939056
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001615951769053936
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014000898227095604
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002245069481432438
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001513175666332245
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001446222886443138
      

      outcome:

      passed
      

    Function: test_make_params_kw_basic

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

      📌 Runtime 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.0002769031561911106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016153696924448013
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015554483979940414
      

      outcome:

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

      📌 Runtime Parameters

      params:
        kw:
          param_x: 0
        expected_keys:
          - param_x
        expected_defaults:
          - (vide)
      id: kw1-expected_keys1-expected_defaults1
      

      📌 Setup phase

      duration:

      0.0002564741298556328
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014748889952898026
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001581781543791294
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026695383712649345
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001520831137895584
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001710299402475357
      

      outcome:

      passed
      

    Function: test_make_signature_parametrized

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

      📌 Runtime 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.0002718111500144005
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019519170746207237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015587592497467995
      

      outcome:

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

      📌 Runtime 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.0002673552371561527
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018634600564837456
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015325332060456276
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002880692481994629
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016467319801449776
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015425682067871094
      

      outcome:

      passed
      

    Function: test_get_args_parametrized

    • Test 19
      params: func=" at 0x7efbb0168c10>", expected_pos=["a", "b"], expected_kw={"c": 3, "d": 4}

      📌 Runtime Parameters

      params:
        func: <function <lambda> at 0x7efbb0168c10>
        expected_pos:
          - a
          - b
        expected_kw:
          c: 3
          d: 4
      id: <lambda>-expected_pos0-expected_kw0
      

      📌 Setup phase

      duration:

      0.0002590036019682884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001980159431695938
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016902480274438858
      

      outcome:

      passed
      
    • Test 20
      params: func=" at 0x7efbb016bb80>", expected_pos=[], expected_kw="{'x': 1, 'y': , 'z': 0}"

      📌 Runtime Parameters

      params:
        func: <function <lambda> at 0x7efbb016bb80>
        expected_pos:
      []
        expected_kw: {'x': 1, 'y': <class 'inspect._empty'>, 'z': 0}
      id: <lambda>-expected_pos1-expected_kw1
      

      📌 Setup phase

      duration:

      0.00046328315511345863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002091098576784134
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001641889102756977
      

      outcome:

      passed
      
    • Test 21
      params: func=" at 0x7efbb016bca0>", expected_pos=[], expected_kw={}

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027856091037392616
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018197298049926758
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015859585255384445
      

      outcome:

      passed
      

    Function: test_signature_visible

    • Test 22
      params: func="", expected_sig="(a, b, d=30, c=10)"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000230482779443264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001556691713631153
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013785576447844505
      

      outcome:

      passed
      
    • Test 23
      params: func="", expected_sig="(a, b, c=10, d=20)"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022848043590784073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015965895727276802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016666343435645103
      

      outcome:

      passed
      
    • Test 24
      params: func="", expected_sig="(x, y, c=10, d=20)"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021332083269953728
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015486078336834908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001458250917494297
      

      outcome:

      passed
      

    Function: test_wrapper_behavior

    • Test 25
      params: func="", args=[1, 2, 3], kwargs={}, expected_result=36

      📌 Runtime Parameters

      params:
        func: <function wrap_all at 0x7efbb016bee0>
        args:
          - 1
          - 2
          - 3
        kwargs:
      {}
        expected_result: 36
      id: wrap_all-args0-kwargs0-36
      

      📌 Setup phase

      duration:

      0.00030843913555145264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014828192070126534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001773890107870102
      

      outcome:

      passed
      
    • Test 26
      params: func="", args=[1, 2, 3], kwargs={"d": 5}, expected_result=11

      📌 Runtime Parameters

      params:
        func: <function wrap_all at 0x7efbb016bee0>
        args:
          - 1
          - 2
          - 3
        kwargs:
          d: 5
        expected_result: 11
      id: wrap_all-args1-kwargs1-11
      

      📌 Setup phase

      duration:

      0.00031926296651363373
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013902503997087479
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016397610306739807
      

      outcome:

      passed
      
    • Test 27
      params: func="", args=[0, 0], kwargs={"c": 3, "d": 4}, expected_result=10

      📌 Runtime Parameters

      params:
        func: <function wrap_skip at 0x7efbb016bf70>
        args:
          - (vide)
          - (vide)
        kwargs:
          c: 3
          d: 4
        expected_result: 10
      id: wrap_skip-args2-kwargs2-10
      

      📌 Setup phase

      duration:

      0.0003209351561963558
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013878103345632553
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016570324078202248
      

      outcome:

      passed
      
    • Test 28
      params: func="", args=[0, 0], kwargs={}, expected_result=10

      📌 Runtime Parameters

      params:
        func: <function wrap_ignore_all at 0x7efbb0175040>
        args:
          - (vide)
          - (vide)
        kwargs:
      {}
        expected_result: 10
      id: wrap_ignore_all-args3-kwargs3-10
      

      📌 Setup phase

      duration:

      0.000300512183457613
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013970909640192986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017281388863921165
      

      outcome:

      passed
      
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003268909640610218
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007382663898169994
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019988510757684708
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003239237703382969
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006284657865762711
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002080337144434452
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003286832943558693
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005226330831646919
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001835981383919716
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032302597537636757
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005249767564237118
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019303197041153908
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032979296520352364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005302880890667439
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020330818369984627
      

      outcome:

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

      📌 Runtime Parameters

      params:
        default: None
        user_input:
          - (vide)
          - no
        expected_output: False
        expected_prompt: Question? [y/n] 
      id: None-user_input5-False-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.00031852954998612404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006114519201219082
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001907171681523323
      

      outcome:

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

      📌 Runtime Parameters

      params:
        default: None
        user_input:
          - invalid
          - (vide)
          - invalid
          - yes
        expected_output: True
        expected_prompt: Question? [y/n] 
      id: None-user_input6-True-Question? [y/n] 
      

      📌 Setup phase

      duration:

      0.0003298139199614525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005409871228039265
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001826840452849865
      

      outcome:

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

      📌 Runtime 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.0003406619653105736
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005008010193705559
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018117623403668404
      

      outcome:

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

      📌 Runtime 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.0003155479207634926
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005197222344577312
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002026669681072235
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031805597245693207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006098519079387188
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019132904708385468
      

      outcome:

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

      📌 Runtime 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.00032075075432658195
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000498548150062561
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019067805260419846
      

      outcome:

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

      📌 Runtime 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.00033268891274929047
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005011898465454578
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020883511751890182
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031947018578648567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005127140320837498
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002856981009244919
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 42
      params: default=null, user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032413424924016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005166479386389256
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018782773986458778
      

      outcome:

      passed
      
    • Test 43
      params: default=null, user_input="", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000330987386405468
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004900209605693817
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019376492127776146
      

      outcome:

      passed
      
    • Test 44
      params: default="y", user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003170422278344631
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004890360869467258
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002019917592406273
      

      outcome:

      passed
      
    • Test 45
      params: default="y", user_input="", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032311398535966873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006043808534741402
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018974998965859413
      

      outcome:

      passed
      
    • Test 46
      params: default="n", user_input="", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003306576982140541
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005067568272352219
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017960602417588234
      

      outcome:

      passed
      
    • Test 47
      params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=false, ctrl_c="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00034499308094382286
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005364608950912952
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020728539675474167
      

      outcome:

      passed
      
    • Test 48
      params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=true, ctrl_c="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003218073397874832
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005491962656378746
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021296879276633263
      

      outcome:

      passed
      
    • Test 49
      params: default=null, user_input="['foo', '', , '', 'invalid', , 'no']", expected_output=false, ctrl_c=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003254329785704613
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006657252088189125
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018617790192365646
      

      outcome:

      passed
      
    • Test 50
      params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000325729139149189
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005496079102158546
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001927088014781475
      

      outcome:

      passed
      
    • Test 51
      params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c="Invalid"

      📌 Runtime 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.0003323773853480816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005436348728835583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019502919167280197
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 52
      params: default=null, user_input="", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00034083565697073936
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005949912592768669
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018542585894465446
      

      outcome:

      passed
      
    • Test 53
      params: default=null, user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031495513394474983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000520029105246067
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018292292952537537
      

      outcome:

      passed
      
    • Test 54
      params: default="y", user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032045086845755577
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005142646841704845
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017961394041776657
      

      outcome:

      passed
      
    • Test 55
      params: default="n", user_input="", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003329608589410782
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005035540089011192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019817007705569267
      

      outcome:

      passed
      
    • Test 56
      params: default="n", user_input="", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031744129955768585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006135553121566772
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002017524093389511
      

      outcome:

      passed
      
    • Test 57
      params: default=null, user_input="['foo', ]", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032111722975969315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005232621915638447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018955860286951065
      

      outcome:

      passed
      
    • Test 58
      params: default=null, user_input="['foo', ]", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003197193145751953
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005302932113409042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019468413665890694
      

      outcome:

      passed
      
    • Test 59
      params: default="y", user_input="", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003303978592157364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005350159481167793
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021167192608118057
      

      outcome:

      passed
      
    • Test 60
      params: default="n", user_input="", expected_output=false, ctrl_d=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003167898394167423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006048758514225483
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018231524154543877
      

      outcome:

      passed
      
    • Test 61
      params: default=null, user_input="['invalid', 'ok', '', , 'ok', 'y']", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031623896211385727
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005679456517100334
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018522795289754868
      

      outcome:

      passed
      
    • Test 62
      params: default="n", user_input="['no', ]", expected_output=false, ctrl_d=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000335881020873785
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004937839694321156
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019912980496883392
      

      outcome:

      passed
      
    • Test 63
      params: default=null, user_input="[, , , 'y']", expected_output=true, ctrl_d=null

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031376583501696587
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006273090839385986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020239129662513733
      

      outcome:

      passed
      
    • Test 64
      params: default=null, user_input="['invalid', '', 'nope', ]", expected_output=false, ctrl_d="n"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031818728893995285
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005540358833968639
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019013695418834686
      

      outcome:

      passed
      
    • Test 65
      params: default=null, user_input="['nope', 'nope', ]", expected_output=true, ctrl_d="y"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031644199043512344
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005268692038953304
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018622912466526031
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 66
      params: default=null, ctrl_c="invalid", ctrl_d=null, user_input="['what', '', 'nope', , 'ok', , 'no']", expected_output=false

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038634100928902626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005685179494321346
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019615888595581055
      

      outcome:

      passed
      
    • Test 67
      params: default=null, ctrl_c=null, ctrl_d="notananswer", user_input="['maybe', , 'nop', 'yep', , 'yes']", expected_output=true

      📌 Runtime Parameters

      params:
        default: None
        ctrl_c: None
        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.0008629383519291878
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005830512382090092
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002072150819003582
      

      outcome:

      passed
      
    • Test 68
      params: default=null, ctrl_c="n", ctrl_d="nop", user_input="['ok', , , 'maybe', , 'nah', ]", expected_output=false

      📌 Runtime Parameters

      params:
        default: None
        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.00036425888538360596
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005785627290606499
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000206685159355402
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 69

      📌 Setup phase

      duration:

      0.00013694027438759804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009612506255507469
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001288219355046749
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 70

      📌 Setup phase

      duration:

      0.0001474008895456791
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005628038197755814
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012330804020166397
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 71

      📌 Setup phase

      duration:

      0.00011560972779989243
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007715607061982155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011880602687597275
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 72
      params: base_color="red"

      📌 Runtime Parameters

      params:
        base_color: red
      id: red
      

      📌 Setup phase

      duration:

      0.00019877497106790543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016742898151278496
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001292778179049492
      

      outcome:

      passed
      
    • Test 73
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00018944917246699333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001510600559413433
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014259107410907745
      

      outcome:

      passed
      
    • Test 74
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.0001815464347600937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015367986634373665
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001440923660993576
      

      outcome:

      passed
      
    • Test 75
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.00017507420852780342
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015479186549782753
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012984313070774078
      

      outcome:

      passed
      
    • Test 76
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.00027847010642290115
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004238700494170189
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023078639060258865
      

      outcome:

      passed
      
    • Test 77
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.0002768239937722683
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016727205365896225
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001334911212325096
      

      outcome:

      passed
      
    • Test 78
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.0001739361323416233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001900848001241684
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012698397040367126
      

      outcome:

      passed
      
    • Test 79
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.00017232634127140045
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016579590737819672
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012958096340298653
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0006007738411426544
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002375999465584755
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002802349627017975
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004703328013420105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002319617196917534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002450249157845974
      

      outcome:

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

      📌 Runtime Parameters

      params:
        objects:
          - (vide)
          - (vide)
          - End
        color_spec:
          - magenta
          - --
        sep:  / 
        expected_flatten: [] / {} / End
        expected_error: None
      id: objects2-color_spec2- / -[] / {} / End-None
      

      📌 Setup phase

      duration:

      0.00045386096462607384
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021944288164377213
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002511017955839634
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000459528062492609
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022732187062501907
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024747103452682495
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00046279095113277435
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023131677880883217
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024487869814038277
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004680179990828037
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002179611474275589
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002600383013486862
      

      outcome:

      passed
      
    • Test 86
      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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004457058385014534
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022833701223134995
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002501169219613075
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00046745967119932175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002116132527589798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025412579998373985
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004574442282319069
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022983597591519356
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024952972307801247
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004504700191318989
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020782696083188057
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002490608021616936
      

      outcome:

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

      📌 Runtime Parameters

      params:
        objects:
          -       - simple
          - (vide)
          - 12
        color_spec: None
        sep:  | 
        expected_flatten: ['simple'] |  | 12
        expected_error: None
      id: objects10-None- | -['simple'] |  | 12-None
      

      📌 Setup phase

      duration:

      0.0004609227180480957
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021332595497369766
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024041300639510155
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004451512359082699
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022534001618623734
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000254996120929718
      

      outcome:

      passed
      
    • Test 92
      params: objects=[["fail", "color"], 123], color_spec=["green", "!!"], sep="|", expected_flatten="['fail', 'color']|123", expected_error=""

      📌 Runtime 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.0004716799594461918
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002433820627629757
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002653929404914379
      

      outcome:

      passed
      
    • Test 93
      params: objects=[["error"], {}], color_spec=["cyan", "xxx"], sep=" * ", expected_flatten="['error'] * {}", expected_error=""

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00046131573617458344
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024970201775431633
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000248828437179327
      

      outcome:

      passed
      
    • Test 94
      params: objects="nope"], ["bad", color_spec=["magenta", "invalid"], sep="//", expected_flatten="['nope']//['bad']", expected_error=""

      📌 Runtime 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.00045442115515470505
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002313009463250637
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002572210505604744
      

      outcome:

      passed
      
    • Test 95
      params: objects=["wrong", "base"], color_spec=["notacolor", ""], sep="--", expected_flatten="wrong--base", expected_error=""

      📌 Runtime Parameters

      params:
        objects:
          - wrong
          - base
        color_spec:
          - notacolor
          - (vide)
        sep: --
        expected_flatten: wrong--base
        expected_error: <class 'ValueError'>
      id: objects15-color_spec15----wrong--base-ValueError
      

      📌 Setup phase

      duration:

      0.0004636119119822979
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022889394313097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025365082547068596
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 96
      params: cls="", entry=[[10, 20], {}], expected="creating: A(10, 20)"

      📌 Runtime Parameters

      params:
        cls: <class 'test_utils_debug.A'>
        entry:
          -       - 10
            - 20
          - (vide)
        expected: creating: A(10, 20)
      id: A-entry0-creating: A(10, 20)
      

      📌 Setup phase

      duration:

      0.0002881479449570179
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010252688080072403
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001758132129907608
      

      outcome:

      passed
      
    • Test 97
      params: cls="", entry=[[10, 20], {"e": 100}], expected="creating: A(10, 20, e=100)"

      📌 Runtime 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.00028267595916986465
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008369176648557186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018092989921569824
      

      outcome:

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

      📌 Runtime 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.0002895318903028965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008885599672794342
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018705008551478386
      

      outcome:

      passed
      
    • Test 99
      params: cls="", 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...)"

      📌 Runtime 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.00027835508808493614
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008122646249830723
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018659234046936035
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002821548841893673
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008782409131526947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017391890287399292
      

      outcome:

      passed
      

    Function: test_short_repr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002900431863963604
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015662796795368195
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016098236665129662
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00033478764817118645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016379589214920998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001699412241578102
      

      outcome:

      passed
      
    • Test 104
      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,..."

      📌 Runtime Parameters

      params:
        value:
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
          - (vide)
        cutoff: 15
        expected: [0, 0, 0, 0, 0,...
      id: value3-15-[0, 0, 0, 0, 0,...
      

      📌 Setup phase

      duration:

      0.0002885260619223118
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014979718253016472
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015566032379865646
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002799048088490963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014135101810097694
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016755703836679459
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

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

      📌 Runtime Parameters

      params:
        data:
          x: 1
          y: 2
        attr: x
        expected: 1
      id: data0-x-1
      

      📌 Setup phase

      duration:

      0.0003107460215687752
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015583587810397148
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016086408868432045
      

      outcome:

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

      📌 Runtime Parameters

      params:
        data:
          world: ok
        attr: world
        expected: ok
      id: data1-world-ok
      

      📌 Setup phase

      duration:

      0.0002628662623465061
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015489477664232254
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015876302495598793
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026541994884610176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014055287465453148
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015201885253190994
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002655312418937683
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001457398757338524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001549050211906433
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000283961184322834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001374501734972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014954106882214546
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

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

      📌 Runtime Parameters

      params:
        initial:
          a: 1
          b: 2
        to_del: a
        expected_keys:
          - b
      id: initial0-a-expected_keys0
      

      📌 Setup phase

      duration:

      0.0002702842466533184
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018556229770183563
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016739219427108765
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026925187557935715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001739109866321087
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016364501789212227
      

      outcome:

      passed
      

    Function: test_attrdict_dir

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024199718609452248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000170866958796978
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001442250795662403
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022675096988677979
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016869185492396355
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014107907190918922
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

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

      📌 Runtime Parameters

      params:
        data:
          x: 1
          y: 2
        attr: x
        expect_value: 1
        expect_error: None
      id: data0-x-1-None
      

      📌 Setup phase

      duration:

      0.00032010581344366074
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013865111395716667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001758188009262085
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031050294637680054
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017009861767292023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018247822299599648
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031571509316563606
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001643332652747631
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001706802286207676
      

      outcome:

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

      📌 Runtime 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.0002968786284327507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016025826334953308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017700903117656708
      

      outcome:

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

      📌 Runtime 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.00032281409949064255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001491527073085308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017632124945521355
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031598005443811417
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000143448356539011
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001775692217051983
      

      outcome:

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

      📌 Runtime 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.0003041578456759453
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001591891050338745
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016644084826111794
      

      outcome:

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

      📌 Runtime 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.00030707381665706635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026746001094579697
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018724706023931503
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 124

      📌 Setup phase

      duration:

      0.001442153938114643
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002679130993783474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023010466247797012
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 125

      📌 Setup phase

      duration:

      0.0006509902887046337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002231118269264698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000221992377191782
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 126

      📌 Setup phase

      duration:

      0.0006402339786291122
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002578827552497387
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021157599985599518
      

      outcome:

      passed
      
  • 📄 test_utils_eval.py

    Function: test_arithmetic_eval_valid

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00025817006826400757
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019148224964737892
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015209103003144264
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024004606530070305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001737740822136402
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019539985805749893
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023498060181736946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016208132728934288
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001485268585383892
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023825513198971748
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015908805653452873
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000173207838088274
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002244226634502411
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015790900215506554
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014051003381609917
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022587506100535393
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001748679205775261
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014978228136897087
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000220591202378273
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001783408224582672
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014160387217998505
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021728500723838806
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016723200678825378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014256872236728668
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022856099531054497
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001679123379290104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014987075701355934
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022181589156389236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015736324712634087
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001451326534152031
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022442080080509186
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017172517254948616
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015618838369846344
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002202289178967476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017957482486963272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001451987773180008
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022151460871100426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015312200412154198
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015599792823195457
      

      outcome:

      passed
      
    • Test 140
      params: expr="-(-(-2))", expected=-2

      📌 Runtime Parameters

      params:
        expr: -(-(-2))
        expected: -2
      id: -(-(-2))--2
      

      📌 Setup phase

      duration:

      0.0002225879579782486
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000170199666172266
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014744512736797333
      

      outcome:

      passed
      
    • Test 141
      params: expr="3 + +4", expected=7

      📌 Runtime Parameters

      params:
        expr: 3 + +4
        expected: 7
      id: 3 + +4-7
      

      📌 Setup phase

      duration:

      0.0002269390970468521
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016297213733196259
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014011841267347336
      

      outcome:

      passed
      
    • Test 142
      params: expr="3 + -4", expected=-1

      📌 Runtime Parameters

      params:
        expr: 3 + -4
        expected: -1
      id: 3 + -4--1
      

      📌 Setup phase

      duration:

      0.00023406697437167168
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017417222261428833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001408969983458519
      

      outcome:

      passed
      
    • Test 143
      params: expr="True + 1", expected=2

      📌 Runtime Parameters

      params:
        expr: True + 1
        expected: 2
      id: True + 1-2
      

      📌 Setup phase

      duration:

      0.00023270491510629654
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015410222113132477
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014583487063646317
      

      outcome:

      passed
      
    • Test 144
      params: expr="'string'", expected="string"

      📌 Runtime Parameters

      params:
        expr: 'string'
        expected: string
      id: 'string'-string
      

      📌 Setup phase

      duration:

      0.00022575585171580315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014974689111113548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013679219409823418
      

      outcome:

      passed
      
    • Test 145
      params: expr="1e1000 * 1e1000", expected=Infinity

      📌 Runtime Parameters

      params:
        expr: 1e1000 * 1e1000
        expected: inf
      id: 1e1000 * 1e1000-inf
      

      📌 Setup phase

      duration:

      0.00022210786119103432
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016415584832429886
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015689292922616005
      

      outcome:

      passed
      
    • Test 146
      params: expr="'a' + 'b'", expected="ab"

      📌 Runtime Parameters

      params:
        expr: 'a' + 'b'
        expected: ab
      id: 'a' + 'b'-ab
      

      📌 Setup phase

      duration:

      0.00021426985040307045
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015390198677778244
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015342608094215393
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_raises_with_message

    • Test 147
      params: expr="2 ** 3", expected_message="Unsupported BinOp Pow"

      📌 Runtime Parameters

      params:
        expr: 2 ** 3
        expected_message: Unsupported BinOp Pow
      id: 2 ** 3-Unsupported BinOp Pow
      

      📌 Setup phase

      duration:

      0.00022234627977013588
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004088161513209343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001562461256980896
      

      outcome:

      passed
      
    • Test 148
      params: expr="3 << 1", expected_message="Unsupported BinOp LShift"

      📌 Runtime Parameters

      params:
        expr: 3 << 1
        expected_message: Unsupported BinOp LShift
      id: 3 << 1-Unsupported BinOp LShift
      

      📌 Setup phase

      duration:

      0.00031869392842054367
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003745490685105324
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015655206516385078
      

      outcome:

      passed
      
    • Test 149
      params: expr="1 < 2", expected_message="Unsupported node type Compare"

      📌 Runtime Parameters

      params:
        expr: 1 < 2
        expected_message: Unsupported node type Compare
      id: 1 < 2-Unsupported node type Compare
      

      📌 Setup phase

      duration:

      0.00022512022405862808
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035381782799959183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001448323018848896
      

      outcome:

      passed
      
    • Test 150
      params: expr="abs(3)", expected_message="Unsupported node type Call"

      📌 Runtime Parameters

      params:
        expr: abs(3)
        expected_message: Unsupported node type Call
      id: abs(3)-Unsupported node type Call
      

      📌 Setup phase

      duration:

      0.00022245710715651512
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003703339025378227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014731800183653831
      

      outcome:

      passed
      
    • Test 151
      params: expr="a + 2", expected_message="Unsupported node type Name"

      📌 Runtime Parameters

      params:
        expr: a + 2
        expected_message: Unsupported node type Name
      id: a + 2-Unsupported node type Name
      

      📌 Setup phase

      duration:

      0.0002373890019953251
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003382093273103237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014432519674301147
      

      outcome:

      passed
      
    • Test 152
      params: expr="string", expected_message="Unsupported node type Name"

      📌 Runtime Parameters

      params:
        expr: string
        expected_message: Unsupported node type Name
      id: string-Unsupported node type Name
      

      📌 Setup phase

      duration:

      0.00021925615146756172
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018002139404416084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015952903777360916
      

      outcome:

      passed
      
    • Test 153
      params: expr="[1, 2] + [3]", expected_message="Unsupported node type List"

      📌 Runtime Parameters

      params:
        expr: [1, 2] + [3]
        expected_message: Unsupported node type List
      id: [1, 2] + [3]-Unsupported node type List
      

      📌 Setup phase

      duration:

      0.00022055674344301224
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000354256946593523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014555593952536583
      

      outcome:

      passed
      
    • Test 154
      params: expr="{1: 2}", expected_message="Unsupported node type Dict"

      📌 Runtime Parameters

      params:
        expr: {1: 2}
        expected_message: Unsupported node type Dict
      id: {1: 2}-Unsupported node type Dict
      

      📌 Setup phase

      duration:

      0.00021498184651136398
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033629126846790314
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014494406059384346
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_runtime_errors

    • Test 155
      params: expr="1 / 0", exception=""

      📌 Runtime Parameters

      params:
        expr: 1 / 0
        exception: <class 'ZeroDivisionError'>
      id: 1 / 0-ZeroDivisionError
      

      📌 Setup phase

      duration:

      0.00023416709154844284
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001848689280450344
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001451997086405754
      

      outcome:

      passed
      
    • Test 156
      params: expr="10 % 0", exception=""

      📌 Runtime Parameters

      params:
        expr: 10 % 0
        exception: <class 'ZeroDivisionError'>
      id: 10 % 0-ZeroDivisionError
      

      📌 Setup phase

      duration:

      0.0002254401333630085
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017183925956487656
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014827493578195572
      

      outcome:

      passed
      

    Function: test_forgiving_eval

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022528273984789848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016895262524485588
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001450483687222004
      

      outcome:

      passed
      
    • Test 158
      params: expr="bad + 2", expected="bad + 2"

      📌 Runtime Parameters

      params:
        expr: bad + 2
        expected: bad + 2
      id: bad + 2-bad + 2
      

      📌 Setup phase

      duration:

      0.00021384796127676964
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018304632976651192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000149609986692667
      

      outcome:

      passed
      
    • Test 159
      params: expr="1 / 0", expected="1 / 0"

      📌 Runtime Parameters

      params:
        expr: 1 / 0
        expected: 1 / 0
      id: 1 / 0-1 / 0
      

      📌 Setup phase

      duration:

      0.0002211378887295723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001675821840763092
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015003792941570282
      

      outcome:

      passed
      
    • Test 160
      params: expr="2 ** 10", expected="2 ** 10"

      📌 Runtime Parameters

      params:
        expr: 2 ** 10
        expected: 2 ** 10
      id: 2 ** 10-2 ** 10
      

      📌 Setup phase

      duration:

      0.00022096605971455574
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017145974561572075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013641780242323875
      

      outcome:

      passed
      

    Function: test_defaulting_eval

    • Test 161
      params: expr="3 * 4", default=0, expected=12

      📌 Runtime Parameters

      params:
        expr: 3 * 4
        default: 0
        expected: 12
      id: 3 * 4-0-12
      

      📌 Setup phase

      duration:

      0.00028215209022164345
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016112998127937317
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015941262245178223
      

      outcome:

      passed
      
    • Test 162
      params: expr="invalid + 1", default=99, expected=99

      📌 Runtime Parameters

      params:
        expr: invalid + 1
        default: 99
        expected: 99
      id: invalid + 1-99-99
      

      📌 Setup phase

      duration:

      0.00025375187397003174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016220612451434135
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016024336218833923
      

      outcome:

      passed
      
    • Test 163
      params: expr="1 / 0", default=-1, expected=-1

      📌 Runtime Parameters

      params:
        expr: 1 / 0
        default: -1
        expected: -1
      id: 1 / 0--1--1
      

      📌 Setup phase

      duration:

      0.00027365610003471375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001576179638504982
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001693572849035263
      

      outcome:

      passed
      
    • Test 164
      params: expr="2 ** 10", default=42, expected=42

      📌 Runtime Parameters

      params:
        expr: 2 ** 10
        default: 42
        expected: 42
      id: 2 ** 10-42-42
      

      📌 Setup phase

      duration:

      0.0002684681676328182
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001649102196097374
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015993835404515266
      

      outcome:

      passed
      
  • 📄 test_utils_exceptions.py

    Function: test_chained_exception_various

    • Test 165
      params: func="", expected_output="High-level task failed\ncaused by KeyError: 'missing'"

      📌 Runtime Parameters

      params:
        func: <function cause_key_error at 0x7efbb01664c0>
        expected_output: High-level task failed
      caused by KeyError: 'missing'
      id: cause_key_error-High-level task failed\ncaused by KeyError: 'missing'
      

      📌 Setup phase

      duration:

      0.0002287742681801319
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016681337729096413
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014437641948461533
      

      outcome:

      passed
      
    • Test 166
      params: func="", expected_output="High-level task failed\ncaused by IndexError: list index out of range"

      📌 Runtime Parameters

      params:
        func: <function cause_index_error at 0x7efbb01665e0>
        expected_output: High-level task failed
      caused 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.00022926973178982735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001474311575293541
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001387367956340313
      

      outcome:

      passed
      
    • Test 167
      params: func="", expected_output="High-level task failed\ncaused by ZeroDivisionError: division by zero"

      📌 Runtime Parameters

      params:
        func: <function cause_zero_division at 0x7efbb0166670>
        expected_output: High-level task failed
      caused by ZeroDivisionError: division by zero
      id: cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero
      

      📌 Setup phase

      duration:

      0.00024283397942781448
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014944002032279968
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014121085405349731
      

      outcome:

      passed
      
    • Test 168
      params: func="", expected_output="High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'"

      📌 Runtime Parameters

      params:
        func: <function cause_value_error at 0x7efbb0166700>
        expected_output: High-level task failed
      caused 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.00021638581529259682
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000151835847645998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014869589358568192
      

      outcome:

      passed
      
    • Test 169
      params: func="", expected_output="High-level task failed\ncaused by TypeError: can only concatenate str (not \"int\") to str"

      📌 Runtime Parameters

      params:
        func: <function cause_type_error at 0x7efbb0166790>
        expected_output: High-level task failed
      caused 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.00024017132818698883
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014996901154518127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015787966549396515
      

      outcome:

      passed
      

    Function: test_printed_exception

    • Test 170
      params: func="", expected_output="KeyError: 'missing'"

      📌 Runtime Parameters

      params:
        func: <function cause_key_error at 0x7efbb01664c0>
        expected_output: KeyError: 'missing'
      id: cause_key_error-KeyError: 'missing'
      

      📌 Setup phase

      duration:

      0.000716768205165863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0025713061913847923
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004566400311887264
      

      outcome:

      passed
      
    • Test 171
      params: func="", expected_output="IndexError: list index out of range"

      📌 Runtime Parameters

      params:
        func: <function cause_index_error at 0x7efbb01665e0>
        expected_output: IndexError: list index out of range
      id: cause_index_error-IndexError: list index out of range
      

      📌 Setup phase

      duration:

      0.0005858549848198891
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.003229475114494562
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004824618808925152
      

      outcome:

      passed
      
    • Test 172
      params: func="", expected_output="ZeroDivisionError: division by zero"

      📌 Runtime Parameters

      params:
        func: <function cause_zero_division at 0x7efbb0166670>
        expected_output: ZeroDivisionError: division by zero
      id: cause_zero_division-ZeroDivisionError: division by zero
      

      📌 Setup phase

      duration:

      0.0006027305498719215
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.025741532910615206
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000581634696573019
      

      outcome:

      passed
      
    • Test 173
      params: func="", expected_output="ValueError: invalid literal for int() with base 10: 'not_a_number'"

      📌 Runtime Parameters

      params:
        func: <function cause_value_error at 0x7efbb0166700>
        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.0006286785937845707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027356138452887535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00047006597742438316
      

      outcome:

      passed
      
    • Test 174
      params: func="", expected_output="TypeError: can only concatenate str (not \"int\") to str"

      📌 Runtime Parameters

      params:
        func: <function cause_type_error at 0x7efbb0166790>
        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.000578136183321476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.008298760745674372
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004524821415543556
      

      outcome:

      passed
      
  • 📄 test_utils_get_adj.py

    Function: test_get_adj_success

    • Test 175

      📌 Setup phase

      duration:

      0.0001385509967803955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006788349710404873
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011384394019842148
      

      outcome:

      passed
      

    Function: test_get_adj_not_found

    • Test 176

      📌 Setup phase

      duration:

      0.00048709800466895103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009687710553407669
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000399275217205286
      

      outcome:

      passed
      

    Function: test_ensure_adjs_mixed

    • Test 177

      📌 Setup phase

      duration:

      0.0001239478588104248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007005790248513222
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012524519115686417
      

      outcome:

      passed
      

    Function: test_get_adjs_filter

    • Test 178

      📌 Setup phase

      duration:

      0.00011622905731201172
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000858016312122345
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001192847266793251
      

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_invalid_name_raises

    • Test 181

      📌 Setup phase

      duration:

      0.00012404518201947212
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025833258405327797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011141924187541008
      

      outcome:

      passed
      

    Function: test_motor_init_list_has_no_disabled

    • Test 182

      📌 Setup phase

      duration:

      0.0001235809177160263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015479512512683868
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010127108544111252
      

      outcome:

      passed
      

    Function: test_motor_pv_connection_skipped_by_default

    • Test 184

      📌 Setup phase

      duration:

      0.00013372115790843964
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037341099232435226
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011696992442011833
      

      outcome:

      passed
      

    Function: test_motor_adds_all_extras_pvs

    • Test 185

      📌 Setup phase

      duration:

      0.00011496990919113159
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034784432500600815
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010583875700831413
      

      outcome:

      passed
      

    Function: test_motor_PV_method_exists_and_works

    • Test 186

      📌 Setup phase

      duration:

      0.00011393800377845764
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003406810574233532
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012500816956162453
      

      outcome:

      passed
      
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 187

      📌 Setup phase

      duration:

      0.0007869796827435493
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007859007455408573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026490213349461555
      

      outcome:

      passed
      
  • 📄 test_utils_jsonext.py

    Function: test_json_validate_save_load

    • Test 188
      params: input_obj="[1 2 3]", expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        input_obj: [1 2 3]
        expected:
          - 1
          - 2
          - 3
      id: input_obj0-expected0
      

      📌 Setup phase

      duration:

      0.0008276687003672123
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006431820802390575
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002303440123796463
      

      outcome:

      passed
      
    • Test 189
      params: input_obj="42", expected=42

      📌 Runtime Parameters

      params:
        input_obj: 42
        expected: 42
      id: input_obj1-42
      

      📌 Setup phase

      duration:

      0.000660700723528862
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041231419891119003
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018869200721383095
      

      outcome:

      passed
      
    • Test 190
      params: input_obj="(1-1j)", expected={"real": 1.0, "imag": -1.0}

      📌 Runtime Parameters

      params:
        input_obj: (1-1j)
        expected:
          real: 1.0
          imag: -1.0
      id: (1-1j)-expected2
      

      📌 Setup phase

      duration:

      0.0006057447753846645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004359399899840355
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019459566101431847
      

      outcome:

      passed
      
    • Test 191
      params: input_obj="/tmp/file.txt", expected="/tmp/file.txt"

      📌 Runtime Parameters

      params:
        input_obj: /tmp/file.txt
        expected: /tmp/file.txt
      id: input_obj3-/tmp/file.txt
      

      📌 Setup phase

      duration:

      0.0006021359004080296
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003667520359158516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021881377324461937
      

      outcome:

      passed
      
    • Test 192
      params: input_obj="{1, 2, 3}", expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        input_obj: {1, 2, 3}
        expected:
          - 1
          - 2
          - 3
      id: input_obj4-expected4
      

      📌 Setup phase

      duration:

      0.0005862675607204437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003697718493640423
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018138019368052483
      

      outcome:

      passed
      
    • Test 193
      params: input_obj="{'a': array([10, 20])}", expected={"a": [10, 20]}

      📌 Runtime Parameters

      params:
        input_obj: {'a': array([10, 20])}
        expected:
          a:
            - 10
            - 20
      id: input_obj5-expected5
      

      📌 Setup phase

      duration:

      0.000589695293456316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040960125625133514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018750503659248352
      

      outcome:

      passed
      
    • Test 194
      params: input_obj="{'c': (2+3j)}", expected={"c": {"real": 2.0, "imag": 3.0}}

      📌 Runtime Parameters

      params:
        input_obj: {'c': (2+3j)}
        expected:
          c:
            real: 2.0
            imag: 3.0
      id: input_obj6-expected6
      

      📌 Setup phase

      duration:

      0.0006163329817354679
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004940396174788475
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021807197481393814
      

      outcome:

      passed
      
    • Test 195
      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}}}

      📌 Runtime Parameters

      params:
        input_obj: {'nested': {'arr': array([[10, 20],
             [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.0005965949967503548
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005669360980391502
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002062404528260231
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 196

      📌 Setup phase

      duration:

      0.0001347120851278305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027797091752290726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011027231812477112
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

    • Test 197
      params: levelname="LONG", logfunc=" at 0x7efbaf8bc040>", message="This is a LONG message"

      📌 Runtime Parameters

      params:
        levelname: LONG
        logfunc: <function <lambda> at 0x7efbaf8bc040>
        message: This is a LONG message
      id: LONG-<lambda>-This is a LONG message
      

      📌 Setup phase

      duration:

      0.0013661799021065235
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007119569927453995
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023124180734157562
      

      outcome:

      passed
      
    • Test 198
      params: levelname="ENLARGE", logfunc=" at 0x7efbaf8bc0d0>", message="Please ENLARGE this!"

      📌 Runtime Parameters

      params:
        levelname: ENLARGE
        logfunc: <function <lambda> at 0x7efbaf8bc0d0>
        message: Please ENLARGE this!
      id: ENLARGE-<lambda>-Please ENLARGE this!
      

      📌 Setup phase

      duration:

      0.00041460804641246796
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003880569711327553
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002266908995807171
      

      outcome:

      passed
      
  • 📄 test_utils_logign.py

    Function: test_ignore_log_msg_behavior

    • Test 200
      params: levelname="WARNING", msg_to_ignore="This should be ignored", msg_to_keep="This should appear"

      📌 Runtime 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.0005800426006317139
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007824529893696308
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024568289518356323
      

      outcome:

      passed
      
    • Test 201
      params: levelname="ENLARGE", msg_to_ignore="ENLARGE this", msg_to_keep="Keep this ENLARGE"

      📌 Runtime 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.00041374797001481056
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004760539159178734
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022265082225203514
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 202

      📌 Setup phase

      duration:

      0.0002506040036678314
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039991922676563263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001895921304821968
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 203

      📌 Setup phase

      duration:

      0.00024063000455498695
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003785090520977974
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017709005624055862
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 204

      📌 Setup phase

      duration:

      0.00025158096104860306
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003596870228648186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018536485731601715
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 205

      📌 Setup phase

      duration:

      0.00014217616990208626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001974431797862053
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010777590796351433
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 206

      📌 Setup phase

      duration:

      0.00011150911450386047
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004874569829553366
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013817427679896355
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

    • Test 207
      params: start=0, stop=5, step=1, expected="[0. 1. 2. 3. 4. 5.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 1
        expected: [0. 1. 2. 3. 4. 5.]
      id: 0-5-1-expected0
      

      📌 Setup phase

      duration:

      0.0003538941964507103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.019044694025069475
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025817425921559334
      

      outcome:

      passed
      
    • Test 209
      params: start=1, stop=2, step=0.3, expected="[1. 1.33333333 1.66666667 2. ]"

      📌 Runtime Parameters

      params:
        start: 1
        stop: 2
        step: 0.3
        expected: [1.         1.33333333 1.66666667 2.        ]
      id: 1-2-0.3-expected2
      

      📌 Setup phase

      duration:

      0.000383974052965641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041617779061198235
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020789681002497673
      

      outcome:

      passed
      

    Function: test_nice_linspace

    • Test 212
      params: start=0, stop=10, num=4, expected="[ 0. 2.5 5. 7.5 10. ]"

      📌 Runtime 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.0003453260287642479
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036924518644809723
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018968014046549797
      

      outcome:

      passed
      
    • Test 213
      params: start=5, stop=15, num=2, expected="[ 5. 10. 15.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 15
        num: 2
        expected: [ 5. 10. 15.]
      id: 5-15-2-expected1
      

      📌 Setup phase

      duration:

      0.0003400030545890331
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003412822261452675
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001943986862897873
      

      outcome:

      passed
      
    • Test 214
      params: start=-5, stop=5, num=4, expected="[-5. -2.5 0. 2.5 5. ]"

      📌 Runtime 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.00032773520797491074
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003462708555161953
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019363593310117722
      

      outcome:

      passed
      
    • Test 215
      params: start=0, stop=1, num=3, expected="[0. 0.33333333 0.66666667 1. ]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 1
        num: 3
        expected: [0.         0.33333333 0.66666667 1.        ]
      id: 0-1-3-expected3
      

      📌 Setup phase

      duration:

      0.0003389972262084484
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035037798807024956
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019511301070451736
      

      outcome:

      passed
      
    • Test 216
      params: start=2, stop=2, num=3, expected="[2. 2. 2. 2.]"

      📌 Runtime Parameters

      params:
        start: 2
        stop: 2
        num: 3
        expected: [2. 2. 2. 2.]
      id: 2-2-3-expected4
      

      📌 Setup phase

      duration:

      0.00035102711990475655
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034246500581502914
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018710875883698463
      

      outcome:

      passed
      
    • Test 217
      params: start=3, stop=0, num=3, expected="[3. 2. 1. 0.]"

      📌 Runtime Parameters

      params:
        start: 3
        stop: 0
        num: 3
        expected: [3. 2. 1. 0.]
      id: 3-0-3-expected5
      

      📌 Setup phase

      duration:

      0.000336330384016037
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033407704904675484
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018577463924884796
      

      outcome:

      passed
      
    • Test 218
      params: start=0, stop=1, num=0, expected="[0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 1
        num: 0
        expected: [0.]
      id: 0-1-0-expected6
      

      📌 Setup phase

      duration:

      0.0003449581563472748
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003519752062857151
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020674895495176315
      

      outcome:

      passed
      

    Function: test_nice_steps_centered

    • Test 219
      params: start=-2, stop=2, step=2, endpoint=true, expected="[-2. 0. 2.]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 2
        step: 2
        endpoint: True
        expected: [-2.  0.  2.]
      id: -2-2-2-True-expected0
      

      📌 Setup phase

      duration:

      0.0003819628618657589
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035691680386662483
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021316390484571457
      

      outcome:

      passed
      
    • Test 220
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [0. 2. 4.]
      id: 0-5-2-True-expected1
      

      📌 Setup phase

      duration:

      0.0003879852592945099
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033935485407710075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002237372100353241
      

      outcome:

      passed
      
    • Test 221
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [0. 2.]
      id: 0-5-2-False-expected2
      

      📌 Setup phase

      duration:

      0.0003790147602558136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003479029983282089
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021636299788951874
      

      outcome:

      passed
      
    • Test 222
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1.5 0. 1.5]"

      📌 Runtime 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.00039455899968743324
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003405977040529251
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020533567294478416
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 225
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1. 0.5 2. ]"

      📌 Runtime 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.00042762095108628273
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004136590287089348
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022255675867199898
      

      outcome:

      passed
      
    • Test 226
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[-1. 0.5]"

      📌 Runtime 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.0004001948982477188
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036671897396445274
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002168300561606884
      

      outcome:

      passed
      

    Function: test_within_scalar

    • Test 237
      params: val=5, vmin=0, vmax=10, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 0
        vmax: 10
        expected: True
      id: 5-0-10-True
      

      📌 Setup phase

      duration:

      0.00034121423959732056
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016883807256817818
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019931280985474586
      

      outcome:

      passed
      
    • Test 238
      params: val=5, vmin=6, vmax=10, expected=false

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 6
        vmax: 10
        expected: False
      id: 5-6-10-False
      

      📌 Setup phase

      duration:

      0.0003351951017975807
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014717457816004753
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001689903438091278
      

      outcome:

      passed
      
    • Test 239
      params: val=5, vmin=null, vmax=10, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: None
        vmax: 10
        expected: True
      id: 5-None-10-True
      

      📌 Setup phase

      duration:

      0.0003198320046067238
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014238804578781128
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016904296353459358
      

      outcome:

      passed
      
    • Test 240
      params: val=5, vmin=0, vmax=null, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: 0
        vmax: None
        expected: True
      id: 5-0-None-True
      

      📌 Setup phase

      duration:

      0.0003162100911140442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014221901074051857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017770985141396523
      

      outcome:

      passed
      
    • Test 241
      params: val=5, vmin=null, vmax=null, expected=true

      📌 Runtime Parameters

      params:
        val: 5
        vmin: None
        vmax: None
        expected: True
      id: 5-None-None-True
      

      📌 Setup phase

      duration:

      0.00029756128787994385
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013954192399978638
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001675700768828392
      

      outcome:

      passed
      

    Function: test_within_fraction

    • Test 242
      params: data=[1, 2, 3, 4, 5], vmin=2, vmax=5, expected=0.6

      📌 Runtime 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.00030157342553138733
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028809020295739174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001894840970635414
      

      outcome:

      passed
      
    • Test 243
      params: data=[10, 20, 30], vmin=5, vmax=25, expected=0.6666666666666666

      📌 Runtime Parameters

      params:
        data:
          - 10
          - 20
          - 30
        vmin: 5
        vmax: 25
        expected: 0.6666666666666666
      id: data1-5-25-0.6666666666666666
      

      📌 Setup phase

      duration:

      0.0003458992578089237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002392730675637722
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018291780725121498
      

      outcome:

      passed
      
    • Test 244
      params: data=[1, 2, 3], vmin=null, vmax=2, expected=0.3333333333333333

      📌 Runtime Parameters

      params:
        data:
          - 1
          - 2
          - 3
        vmin: None
        vmax: 2
        expected: 0.3333333333333333
      id: data2-None-2-0.3333333333333333
      

      📌 Setup phase

      duration:

      0.0003243088722229004
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024139927700161934
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019123824313282967
      

      outcome:

      passed
      
    • Test 245
      params: data=[], vmin=0, vmax=1, expected=0

      📌 Runtime Parameters

      params:
        data:
      []
        vmin: 0
        vmax: 1
        expected: 0
      id: data3-0-1-0
      

      📌 Setup phase

      duration:

      0.00032051606103777885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022744014859199524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017225416377186775
      

      outcome:

      passed
      

    Function: test_fraction_to_percentage

    • Test 246
      params: fraction=0.456, ndigits=1, expected=45.6

      📌 Runtime Parameters

      params:
        fraction: 0.456
        ndigits: 1
        expected: 45.6
      id: 0.456-1-45.6
      

      📌 Setup phase

      duration:

      0.0002876771613955498
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014591077342629433
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015574460849165916
      

      outcome:

      passed
      
    • Test 247
      params: fraction=0.12345, ndigits=2, expected=12.35

      📌 Runtime Parameters

      params:
        fraction: 0.12345
        ndigits: 2
        expected: 12.35
      id: 0.12345-2-12.35
      

      📌 Setup phase

      duration:

      0.00027335574850440025
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015919888392090797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015504192560911179
      

      outcome:

      passed
      
    • Test 248
      params: fraction=0.9999, ndigits=0, expected=100.0

      📌 Runtime Parameters

      params:
        fraction: 0.9999
        ndigits: 0
        expected: 100.0
      id: 0.9999-0-100.0
      

      📌 Setup phase

      duration:

      0.00025289691984653473
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001472989097237587
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015471316874027252
      

      outcome:

      passed
      

    Function: test_get_dtype

    • Test 249
      params: val="[1 2 3]", expected=""

      📌 Runtime Parameters

      params:
        val: [1 2 3]
        expected: <class 'numpy.ndarray'>
      id: val0-ndarray
      

      📌 Setup phase

      duration:

      0.00023327302187681198
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001396872103214264
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001643872819840908
      

      outcome:

      passed
      
    • Test 250
      params: val=[1, 2, 3], expected=""

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected: <class 'list'>
      id: val1-list
      

      📌 Setup phase

      duration:

      0.00024454807862639427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014339201152324677
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014201225712895393
      

      outcome:

      passed
      
    • Test 251
      params: val=3.14, expected=""

      📌 Runtime Parameters

      params:
        val: 3.14
        expected: <class 'float'>
      id: 3.14-float
      

      📌 Setup phase

      duration:

      0.0002280687913298607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014165788888931274
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015069078654050827
      

      outcome:

      passed
      

    Function: test_get_shape

    • Test 252
      params: val="1 2]\n [3 4", expected=[2, 2]

      📌 Runtime Parameters

      params:
        val: [[1 2]
       [3 4]]
        expected:
          - 2
          - 2
      id: val0-expected0
      

      📌 Setup phase

      duration:

      0.00021938886493444443
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013747718185186386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015935301780700684
      

      outcome:

      passed
      
    • Test 253
      params: val=[1, 2, 3], expected=[]

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected:
      []
      id: val1-expected1
      

      📌 Setup phase

      duration:

      0.000241114292293787
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001548202708363533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014686491340398788
      

      outcome:

      passed
      
    • Test 254
      params: val=42, expected=[]

      📌 Runtime Parameters

      params:
        val: 42
        expected:
      []
      id: 42-expected2
      

      📌 Setup phase

      duration:

      0.00022868020460009575
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001389109529554844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015042908489704132
      

      outcome:

      passed
      

    Function: test_is_array

    • Test 255
      params: val="[1 2 3]", expected=true

      📌 Runtime Parameters

      params:
        val: [1 2 3]
        expected: True
      id: val0-True
      

      📌 Setup phase

      duration:

      0.00023041805252432823
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013619102537631989
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014311214908957481
      

      outcome:

      passed
      
    • Test 256
      params: val=[1, 2, 3], expected=false

      📌 Runtime Parameters

      params:
        val:
          - 1
          - 2
          - 3
        expected: False
      id: val1-False
      

      📌 Setup phase

      duration:

      0.00023752497509121895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014610402286052704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013867579400539398
      

      outcome:

      passed
      
    • Test 257
      params: val=42, expected=false

      📌 Runtime Parameters

      params:
        val: 42
        expected: False
      id: 42-False
      

      📌 Setup phase

      duration:

      0.00021338090300559998
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001402292400598526
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015189824625849724
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 258

      📌 Setup phase

      duration:

      0.0001197662204504013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006467872299253941
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012378301471471786
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 259

      📌 Setup phase

      duration:

      0.00012615881860256195
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038549816235899925
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011921115219593048
      

      outcome:

      passed
      

    Function: test_make_missing_dir_creates_folder

    • Test 260

      📌 Setup phase

      duration:

      0.00011501787230372429
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004658731631934643
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012026261538267136
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 261

      📌 Setup phase

      duration:

      0.00011276081204414368
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010083718225359917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001413007266819477
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 262

      📌 Setup phase

      duration:

      0.00012517115101218224
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007184650748968124
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001252889633178711
      

      outcome:

      passed
      
  • 📄 test_utils_picklio.py

    Function: test_pickle_and_unpickle

    • Test 263
      params: test_obj={"a": 1, "b": [2, 3], "c": {"world": "ok"}}

      📌 Runtime Parameters

      params:
        test_obj:
          a: 1
          b:
            - 2
            - 3
          c:
            world: ok
      id: test_obj0
      

      📌 Setup phase

      duration:

      0.0006003840826451778
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004192846827208996
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016964226961135864
      

      outcome:

      passed
      
    • Test 264
      params: test_obj=[1, 2, 3, 4, 5]

      📌 Runtime Parameters

      params:
        test_obj:
          - 1
          - 2
          - 3
          - 4
          - 5
      id: test_obj1
      

      📌 Setup phase

      duration:

      0.0005522198043763638
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029443996027112007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017103413119912148
      

      outcome:

      passed
      
    • Test 265
      params: test_obj="simple string"

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005394746549427509
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003020651638507843
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016312208026647568
      

      outcome:

      passed
      
    • Test 266
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.0005105729214847088
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003329929895699024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016868719831109047
      

      outcome:

      passed
      
    • Test 267
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.0005105170421302319
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002860552631318569
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001638280227780342
      

      outcome:

      passed
      
    • Test 268
      params: test_obj=[true, false, null]

      📌 Runtime Parameters

      params:
        test_obj:
          - True
          - (vide)
          - (vide)
      id: test_obj5
      

      📌 Setup phase

      duration:

      0.0005324892699718475
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002806638367474079
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015467079356312752
      

      outcome:

      passed
      
    • Test 269
      params: test_obj={"complex": [{"list": [1, 2]}, {"dict": {"x": 10}}]}

      📌 Runtime Parameters

      params:
        test_obj:
          complex:
            -         list:
                - 1
                - 2
            -         dict:
                x: 10
      id: test_obj6
      

      📌 Setup phase

      duration:

      0.0005613099783658981
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030240369960665703
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015977118164300919
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxlen_valid

    • Test 270
      params: seq=["a", "abc", ""], expected=3

      📌 Runtime Parameters

      params:
        seq:
          - a
          - abc
          - (vide)
        expected: 3
      id: seq0-3
      

      📌 Setup phase

      duration:

      0.0002598739229142666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015552714467048645
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014149723574519157
      

      outcome:

      passed
      
    • Test 271
      params: seq=[], expected=0

      📌 Runtime Parameters

      params:
        seq:
      []
        expected: 0
      id: seq1-0
      

      📌 Setup phase

      duration:

      0.0002314811572432518
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001375149004161358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018846290186047554
      

      outcome:

      passed
      
    • Test 272
      params: seq=1, 2], [3], [4, 5, 6, expected=3

      📌 Runtime Parameters

      params:
        seq:
          -       - 1
            - 2
          -       - 3
          -       - 4
            - 5
            - 6
        expected: 3
      id: seq2-3
      

      📌 Setup phase

      duration:

      0.00022162310779094696
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014125509187579155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013961689546704292
      

      outcome:

      passed
      
    • Test 273
      params: seq=[{"a": 2, "b": 3}, {}, {"c": 4}], expected=2

      📌 Runtime Parameters

      params:
        seq:
          -       a: 2
            b: 3
          - (vide)
          -       c: 4
        expected: 2
      id: seq3-2
      

      📌 Setup phase

      duration:

      0.00022578006610274315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014597317203879356
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001410599797964096
      

      outcome:

      passed
      

    Function: test_strlen

    • Test 274
      params: value=42, expected=2

      📌 Runtime Parameters

      params:
        value: 42
        expected: 2
      id: 42-2
      

      📌 Setup phase

      duration:

      0.00021490175276994705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015464890748262405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014366395771503448
      

      outcome:

      passed
      
    • Test 275
      params: value="hello", expected=5

      📌 Runtime Parameters

      params:
        value: hello
        expected: 5
      id: hello-5
      

      📌 Setup phase

      duration:

      0.0002237260341644287
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013772910460829735
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014305021613836288
      

      outcome:

      passed
      
    • Test 276
      params: value=false, expected=5

      📌 Runtime Parameters

      params:
        value: False
        expected: 5
      id: False-5
      

      📌 Setup phase

      duration:

      0.0002305000089108944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001361202448606491
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014036986976861954
      

      outcome:

      passed
      
    • Test 277
      params: value=null, expected=4

      📌 Runtime Parameters

      params:
        value: None
        expected: 4
      id: None-4
      

      📌 Setup phase

      duration:

      0.00023237988352775574
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001389831304550171
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001366250216960907
      

      outcome:

      passed
      
    • Test 278
      params: value=[1, 2, 3], expected=9

      📌 Runtime Parameters

      params:
        value:
          - 1
          - 2
          - 3
        expected: 9
      id: value4-9
      

      📌 Setup phase

      duration:

      0.00023652007803320885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001395256258547306
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001385929062962532
      

      outcome:

      passed
      
    • Test 279
      params: value={"a": 1}, expected=8

      📌 Runtime Parameters

      params:
        value:
          a: 1
        expected: 8
      id: value5-8
      

      📌 Setup phase

      duration:

      0.0002096402458846569
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014080991968512535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013585621491074562
      

      outcome:

      passed
      
    • Test 280
      params: value=[1, 2], expected=6

      📌 Runtime Parameters

      params:
        value:
          - 1
          - 2
        expected: 6
      id: value6-6
      

      📌 Setup phase

      duration:

      0.00022456469014286995
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001395847648382187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013650115579366684
      

      outcome:

      passed
      
    • Test 281
      params: value="", expected=0

      📌 Runtime Parameters

      params:
        value: None
        expected: 0
      id: -0
      

      📌 Setup phase

      duration:

      0.00020720018073916435
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013194000348448753
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015304703265428543
      

      outcome:

      passed
      
    • Test 282
      params: value="this is a phrase", expected=16

      📌 Runtime Parameters

      params:
        value: this is a phrase
        expected: 16
      id: this is a phrase-16
      

      📌 Setup phase

      duration:

      0.00023137684911489487
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000136589165776968
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002283770591020584
      

      outcome:

      passed
      

    Function: test_maxstrlen

    • Test 283
      params: seq=[1, true, 3.1415], expected=6

      📌 Runtime Parameters

      params:
        seq:
          - 1
          - True
          - 3.1415
        expected: 6
      id: seq0-6
      

      📌 Setup phase

      duration:

      0.00022843899205327034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017582997679710388
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014448398724198341
      

      outcome:

      passed
      
    • Test 284
      params: seq=["aa", "bbb", "c"], expected=3

      📌 Runtime Parameters

      params:
        seq:
          - aa
          - bbb
          - c
        expected: 3
      id: seq1-3
      

      📌 Setup phase

      duration:

      0.00022658193483948708
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001503131352365017
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015415577217936516
      

      outcome:

      passed
      
    • Test 285
      params: seq=1, 2], [], [1, 2, 3, expected=9

      📌 Runtime Parameters

      params:
        seq:
          -       - 1
            - 2
          - (vide)
          -       - 1
            - 2
            - 3
        expected: 9
      id: seq2-9
      

      📌 Setup phase

      duration:

      0.0002196519635617733
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014342507347464561
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014537712559103966
      

      outcome:

      passed
      
    • Test 286
      params: seq=[{"a": 1}, {}, {"a": 1, "b": 2}], expected=16

      📌 Runtime Parameters

      params:
        seq:
          -       a: 1
          - (vide)
          -       a: 1
            b: 2
        expected: 16
      id: seq3-16
      

      📌 Setup phase

      duration:

      0.0002315831370651722
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014880206435918808
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013795588165521622
      

      outcome:

      passed
      
    • Test 287
      params: seq=[null, false, 12345], expected=5

      📌 Runtime Parameters

      params:
        seq:
          - (vide)
          - (vide)
          - 12345
        expected: 5
      id: seq4-5
      

      📌 Setup phase

      duration:

      0.0002251570113003254
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015690689906477928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001421119086444378
      

      outcome:

      passed
      

    Function: test_transpose_matrix

    • Test 288
      params: data=1, 2], [3, 4, expected=1, 3], [2, 4

      📌 Runtime Parameters

      params:
        data:
          -       - 1
            - 2
          -       - 3
            - 4
        expected:
          -       - 1
            - 3
          -       - 2
            - 4
      id: data0-expected0
      

      📌 Setup phase

      duration:

      0.00021504098549485207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015267310664057732
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014648912474513054
      

      outcome:

      passed
      
    • Test 289

      📌 Runtime Parameters

      params:
        data:
          -       - a
            - b
          -       - c
            - d
        expected:
          -       - a
            - c
          -       - b
            - d
      id: data1-expected1
      

      📌 Setup phase

      duration:

      0.00022939778864383698
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014406489208340645
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015127705410122871
      

      outcome:

      passed
      
    • Test 290
      params: data={"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}, expected={"x": 1}, {"x": 3}], [{"y": 2}, {"y": 4}

      📌 Runtime 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.00021783169358968735
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001351693645119667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015015807002782822
      

      outcome:

      passed
      

    Function: test_prepend

    • Test 291
      params: initial=[1, 2, 3], prepend=1, expected=[1, 2, 3]

      📌 Runtime Parameters

      params:
        initial:
          - 1
          - 2
          - 3
        prepend: 1
        expected:
          - 1
          - 2
          - 3
      id: initial0-1-expected0
      

      📌 Setup phase

      duration:

      0.00027037179097533226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000136655755341053
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015130406245589256
      

      outcome:

      passed
      
    • Test 292
      params: initial=["a", "b", "c"], prepend="a", expected=["a", "b", "c"]

      📌 Runtime Parameters

      params:
        initial:
          - a
          - b
          - c
        prepend: a
        expected:
          - a
          - b
          - c
      id: initial1-a-expected1
      

      📌 Setup phase

      duration:

      0.00025438331067562103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001513911411166191
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015443237498402596
      

      outcome:

      passed
      
    • Test 293
      params: initial=[{"a": 1}, {"b": 2}], prepend={"a": 1}, expected=[{"a": 1}, {"b": 2}]

      📌 Runtime Parameters

      params:
        initial:
          -       a: 1
          -       b: 2
        prepend:
          a: 1
        expected:
          -       a: 1
          -       b: 2
      id: initial2-prepend2-expected2
      

      📌 Setup phase

      duration:

      0.0002491301856935024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013557495549321175
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016015907749533653
      

      outcome:

      passed
      
    • Test 294
      params: initial=1], [2], [3, prepend=[1], expected=1], [2], [3

      📌 Runtime Parameters

      params:
        initial:
          -       - 1
          -       - 2
          -       - 3
        prepend:
          - 1
        expected:
          -       - 1
          -       - 2
          -       - 3
      id: initial3-prepend3-expected3
      

      📌 Setup phase

      duration:

      0.0002721748314797878
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013646623119711876
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001576361246407032
      

      outcome:

      passed
      

    Function: test_fmt_table_line

    • Test 295
      params: entries=["a", "bbb"], widths=[3, 5], expected=" a bbb"

      📌 Runtime Parameters

      params:
        entries:
          - a
          - bbb
        widths:
          - 3
          - 5
        expected:   a   bbb
      id: entries0-widths0-  a   bbb
      

      📌 Setup phase

      duration:

      0.0002708546817302704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002411562018096447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026490166783332825
      

      outcome:

      passed
      
    • Test 296
      params: entries=[1, 2], widths=[2, 2], expected=" 1 2"

      📌 Runtime Parameters

      params:
        entries:
          - 1
          - 2
        widths:
          - 2
          - 2
        expected:  1  2
      id: entries1-widths1- 1  2
      

      📌 Setup phase

      duration:

      0.0003481949679553509
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014736782759428024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016060704365372658
      

      outcome:

      passed
      
    • Test 297
      params: entries=["long", "val"], widths=[6, 4], expected=" long val"

      📌 Runtime Parameters

      params:
        entries:
          - long
          - val
        widths:
          - 6
          - 4
        expected:   long  val
      id: entries2-widths2-  long  val
      

      📌 Setup phase

      duration:

      0.0002741049975156784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000144254881888628
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015402771532535553
      

      outcome:

      passed
      
    • Test 298
      params: entries=[true, false], widths=[5, 6], expected=" True False"

      📌 Runtime Parameters

      params:
        entries:
          - True
          - (vide)
        widths:
          - 5
          - 6
        expected:  True  False
      id: entries3-widths3- True  False
      

      📌 Setup phase

      duration:

      0.0002545197494328022
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014892872422933578
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016545597463846207
      

      outcome:

      passed
      
    • Test 299
      params: entries=[123, 4567], widths=[5, 5], expected=" 123 4567"

      📌 Runtime Parameters

      params:
        entries:
          - 123
          - 4567
        widths:
          - 5
          - 5
        expected:   123  4567
      id: entries4-widths4-  123  4567
      

      📌 Setup phase

      duration:

      0.00024711713194847107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013974960893392563
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001513301394879818
      

      outcome:

      passed
      
    • Test 300
      params: entries=["text with space", "end"], widths=[16, 5], expected=" text with space end"

      📌 Runtime 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.00026989076286554337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015395786613225937
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001542968675494194
      

      outcome:

      passed
      
    • Test 301
      params: entries=[{"a": 1}, {"b": 2}], widths=[10, 10], expected=" {'a': 1} {'b': 2}"

      📌 Runtime 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.0002633519470691681
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014622602611780167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001536761410534382
      

      outcome:

      passed
      
    • Test 302
      params: entries=1, 2], [3, 4, widths=[10, 10], expected=" [1, 2] [3, 4]"

      📌 Runtime 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.0002628602087497711
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013908790424466133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016307691112160683
      

      outcome:

      passed
      

    Function: test_fmt_label_sep

    • Test 303
      params: widths=[3, 4], line="-", expected="--- ----"

      📌 Runtime Parameters

      params:
        widths:
          - 3
          - 4
        line: -
        expected: --- ----
      id: widths0------ ----
      

      📌 Setup phase

      duration:

      0.00026334403082728386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001443079672753811
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014964304864406586
      

      outcome:

      passed
      
    • Test 304
      params: widths=[2, 3], line="=", expected="== ==="

      📌 Runtime Parameters

      params:
        widths:
          - 2
          - 3
        line: =
        expected: == ===
      id: widths1-=-== ===
      

      📌 Setup phase

      duration:

      0.0002658320590853691
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014341110363602638
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016332417726516724
      

      outcome:

      passed
      
    • Test 305
      params: widths=[5, 2], line="*", expected="***** **"

      📌 Runtime Parameters

      params:
        widths:
          - 5
          - 2
        line: *
        expected: ***** **
      id: widths2-*-***** **
      

      📌 Setup phase

      duration:

      0.0002555800601840019
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014405930414795876
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001557399518787861
      

      outcome:

      passed
      

    Function: test_printable_dict_with_header

    • Test 306
      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", ""]

      📌 Runtime 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
          - (vide)
      id: d0-HeaderTest-expected_lines0
      

      📌 Setup phase

      duration:

      0.0003386950120329857
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022324686869978905
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001689242199063301
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 307

      📌 Setup phase

      duration:

      0.0001979731023311615
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003765719011425972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001836288720369339
      

      outcome:

      passed
      

    Function: test_printable_table

    • Test 308
      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}}"

      📌 Runtime Parameters

      params:
        data:
          -       - X1
            - True
            - 0.1234
            -         meta: ok
          -       - AnotherSample
            - (vide)
            - 98765.4321
            -         meta:
                - 1
                - 2
                - 3
          -       - Z
            - (vide)
            - (vide)
            -         meta:
                nested_key: 42
        labels:
          - ID
          -  Success?
          - SuperPrecisionValue
          - Result Metadata
        expected: A: ID
      B:  Success?
      C: SuperPrecisionValue
      D: Result Metadata
      
      #             A     B          C                            D
      - ------------- ----- ---------- ----------------------------
      0            X1  True     0.1234               {'meta': 'ok'}
      1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}
      2             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.00029929308220744133
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031124893575906754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001665828749537468
      

      outcome:

      passed
      
  • 📄 test_utils_pv.py

    Function: test_use_callback_context_manager

    • Test 315

      📌 Setup phase

      duration:

      0.00048405397683382034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001773419789969921
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017606699839234352
      

      outcome:

      passed
      
  • 📄 test_utils_rangebar.py

    Function: test_full_progress_bar

    • Test 316

      📌 Setup phase

      duration:

      0.00032537709921598434
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022993097081780434
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018268171697854996
      

      outcome:

      passed
      

    Function: test_half_progress_bar

    • Test 317

      📌 Setup phase

      duration:

      0.0002646693028509617
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020755501464009285
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016871001571416855
      

      outcome:

      passed
      

    Function: test_zero_progress_bar

    • Test 318

      📌 Setup phase

      duration:

      0.00026644812896847725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000187756959348917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015818467363715172
      

      outcome:

      passed
      

    Function: test_overflow_bar

    • Test 319

      📌 Setup phase

      duration:

      0.00028735632076859474
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018981005996465683
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016067223623394966
      

      outcome:

      passed
      

    Function: test_underflow_bar

    • Test 320

      📌 Setup phase

      duration:

      0.00025170668959617615
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018733693286776543
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017252285033464432
      

      outcome:

      passed
      

    Function: test_repr

    • Test 321

      📌 Setup phase

      duration:

      0.00010777497664093971
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014159409329295158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010023126378655434
      

      outcome:

      passed
      

    Function: test_each_value_separately

    • Test 322
      params: value=0, expected_bar_part=" "

      📌 Runtime Parameters

      params:
        value: 0
        expected_bar_part:           
      id: 0-          
      

      📌 Setup phase

      duration:

      0.00036908499896526337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018754787743091583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019306084141135216
      

      outcome:

      passed
      
    • Test 323
      params: value=10, expected_bar_part="█ "

      📌 Runtime Parameters

      params:
        value: 10
        expected_bar_part:          
      id: 10-\u2588         
      

      📌 Setup phase

      duration:

      0.0003554290160536766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019696727395057678
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019156886264681816
      

      outcome:

      passed
      
    • Test 324
      params: value=25, expected_bar_part="██▌ "

      📌 Runtime Parameters

      params:
        value: 25
        expected_bar_part: ██▌       
      id: 25-\u2588\u2588\u258c       
      

      📌 Setup phase

      duration:

      0.00035224296152591705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018857978284358978
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000204525887966156
      

      outcome:

      passed
      
    • Test 325
      params: value=27, expected_bar_part="██▊ "

      📌 Runtime Parameters

      params:
        value: 27
        expected_bar_part: ██▊       
      id: 27-\u2588\u2588\u258a       
      

      📌 Setup phase

      duration:

      0.00034896424040198326
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019181100651621819
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020043691620230675
      

      outcome:

      passed
      
    • Test 326
      params: value=49, expected_bar_part="████▉ "

      📌 Runtime Parameters

      params:
        value: 49
        expected_bar_part: ████▉     
      id: 49-\u2588\u2588\u2588\u2588\u2589     
      

      📌 Setup phase

      duration:

      0.0003620157949626446
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002488773316144943
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021455809473991394
      

      outcome:

      passed
      
    • Test 327
      params: value=50, expected_bar_part="█████ "

      📌 Runtime Parameters

      params:
        value: 50
        expected_bar_part: █████     
      id: 50-\u2588\u2588\u2588\u2588\u2588     
      

      📌 Setup phase

      duration:

      0.00036446377635002136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001930519938468933
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019075674936175346
      

      outcome:

      passed
      
    • Test 328
      params: value=51, expected_bar_part="█████▏ "

      📌 Runtime Parameters

      params:
        value: 51
        expected_bar_part: █████▏    
      id: 51-\u2588\u2588\u2588\u2588\u2588\u258f    
      

      📌 Setup phase

      duration:

      0.0003631860017776489
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019333511590957642
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019750697538256645
      

      outcome:

      passed
      
    • Test 329
      params: value=73, expected_bar_part="███████▎ "

      📌 Runtime Parameters

      params:
        value: 73
        expected_bar_part: ███████▎  
      id: 73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e  
      

      📌 Setup phase

      duration:

      0.0003604833036661148
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018966803327202797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020553497597575188
      

      outcome:

      passed
      
    • Test 330
      params: value=75, expected_bar_part="███████▌ "

      📌 Runtime Parameters

      params:
        value: 75
        expected_bar_part: ███████▌  
      id: 75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  
      

      📌 Setup phase

      duration:

      0.0003553861752152443
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019240425899624825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001918477937579155
      

      outcome:

      passed
      
    • Test 331
      params: value=90, expected_bar_part="█████████ "

      📌 Runtime Parameters

      params:
        value: 90
        expected_bar_part: █████████ 
      id: 90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 
      

      📌 Setup phase

      duration:

      0.00036270078271627426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019360240548849106
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018963497132062912
      

      outcome:

      passed
      
    • Test 332
      params: value=100, expected_bar_part="██████████"

      📌 Runtime Parameters

      params:
        value: 100
        expected_bar_part: ██████████
      id: 100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588
      

      📌 Setup phase

      duration:

      0.0003785630688071251
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019125919789075851
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002132439985871315
      

      outcome:

      passed
      
  • 📄 test_utils_readable.py

    Function: test_rounding_cases

    • Test 333
      params: seconds=59.4, expected="59 seconds"

      📌 Runtime Parameters

      params:
        seconds: 59.4
        expected: 59 seconds
      id: 59.4-59 seconds
      

      📌 Setup phase

      duration:

      0.012597354128956795
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016083475202322006
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001663779839873314
      

      outcome:

      passed
      
    • Test 335
      params: seconds=119.9, expected="120 seconds"

      📌 Runtime Parameters

      params:
        seconds: 119.9
        expected: 120 seconds
      id: 119.9-120 seconds
      

      📌 Setup phase

      duration:

      0.0002423832193017006
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016398495063185692
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014489004388451576
      

      outcome:

      passed
      
    • Test 336
      params: seconds=120.1, expected="2 minutes"

      📌 Runtime Parameters

      params:
        seconds: 120.1
        expected: 2 minutes
      id: 120.1-2 minutes
      

      📌 Setup phase

      duration:

      0.00023080362007021904
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001482791267335415
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001401267945766449
      

      outcome:

      passed
      
    • Test 338
      params: seconds=3599.9, expected="60 minutes"

      📌 Runtime Parameters

      params:
        seconds: 3599.9
        expected: 60 minutes
      id: 3599.9-60 minutes
      

      📌 Setup phase

      duration:

      0.0002389182336628437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015655998140573502
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014813290908932686
      

      outcome:

      passed
      
    • Test 341
      params: seconds=7200.1, expected="2 hours"

      📌 Runtime Parameters

      params:
        seconds: 7200.1
        expected: 2 hours
      id: 7200.1-2 hours
      

      📌 Setup phase

      duration:

      0.00023517385125160217
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014840299263596535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014087138697504997
      

      outcome:

      passed
      
    • Test 342
      params: seconds=90.4, expected="90 seconds"

      📌 Runtime Parameters

      params:
        seconds: 90.4
        expected: 90 seconds
      id: 90.4-90 seconds
      

      📌 Setup phase

      duration:

      0.00022786902263760567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014572124928236008
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014952989295125008
      

      outcome:

      passed
      
    • Test 343
      params: seconds=90.6, expected="91 seconds"

      📌 Runtime Parameters

      params:
        seconds: 90.6
        expected: 91 seconds
      id: 90.6-91 seconds
      

      📌 Setup phase

      duration:

      0.00021094828844070435
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013471394777297974
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001445072703063488
      

      outcome:

      passed
      
    • Test 344
      params: seconds=121.9, expected="2 minutes"

      📌 Runtime Parameters

      params:
        seconds: 121.9
        expected: 2 minutes
      id: 121.9-2 minutes
      

      📌 Setup phase

      duration:

      0.00021903309971094131
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001392480917274952
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000136655755341053
      

      outcome:

      passed
      
    • Test 353
      params: seconds=5259492.0, expected="2 months"

      📌 Runtime Parameters

      params:
        seconds: 5259492.0
        expected: 2 months
      id: 5259492.0-2 months
      

      📌 Setup phase

      duration:

      0.00027985265478491783
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015242211520671844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014198198914527893
      

      outcome:

      passed
      
    • Test 354
      params: seconds=5522466.600000001, expected="2 months"

      📌 Runtime Parameters

      params:
        seconds: 5522466.600000001
        expected: 2 months
      id: 5522466.600000001-2 months
      

      📌 Setup phase

      duration:

      0.0002255118452012539
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014554383233189583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001861019991338253
      

      outcome:

      passed
      
    • Test 361
      params: seconds=66269498.400000006, expected="2 years"

      📌 Runtime Parameters

      params:
        seconds: 66269498.400000006
        expected: 2 years
      id: 66269498.400000006-2 years
      

      📌 Setup phase

      duration:

      0.0002355906181037426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015998492017388344
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001424499787390232
      

      outcome:

      passed
      
    • Test 363
      params: seconds=5285789.459999999, expected="2 months"

      📌 Runtime Parameters

      params:
        seconds: 5285789.459999999
        expected: 2 months
      id: 5285789.459999999-2 months
      

      📌 Setup phase

      duration:

      0.00023777829483151436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000147990882396698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014740414917469025
      

      outcome:

      passed
      
    • Test 365
      params: seconds=63429377.03999999, expected="2 years"

      📌 Runtime Parameters

      params:
        seconds: 63429377.03999999
        expected: 2 years
      id: 63429377.03999999-2 years
      

      📌 Setup phase

      duration:

      0.000237202737480402
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015981215983629227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001474912278354168
      

      outcome:

      passed
      
  • 📄 test_utils_sendmail.py

    Function: test_sendmail_real_local_verbose

    • Test 370

      📌 Setup phase

      duration:

      0.00014058081433176994
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.035258688032627
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028376607224345207
      

      outcome:

      passed
      
  • 📄 test_utils_snapshot.py

    Function: test_snapshot

    • Test 371
      params: test_input="v1", "Visible", false], ["h1", "Hidden", true, expected=["Visible"], kwargs={}

      📌 Runtime Parameters

      params:
        test_input:
          -       - v1
            - Visible
            - (vide)
          -       - h1
            - Hidden
            - True
        expected:
          - Visible
        kwargs:
      {}
      id: exclude_internals
      

      📌 Setup phase

      duration:

      0.00048730894923210144
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008387877605855465
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019829533994197845
      

      outcome:

      passed
      
    • Test 372
      params: test_input="v1", "Visible", false], ["h1", "Hidden", true, expected=["Visible", "Hidden"], kwargs={"include_internal": true}

      📌 Runtime Parameters

      params:
        test_input:
          -       - v1
            - Visible
            - (vide)
          -       - h1
            - Hidden
            - True
        expected:
          - Visible
          - Hidden
        kwargs:
          include_internal: True
      id: include_internals
      

      📌 Setup phase

      duration:

      0.0002937428653240204
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005818326026201248
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001890072599053383
      

      outcome:

      passed
      
    • Test 373
      params: test_input=[], expected=[], kwargs={}

      📌 Runtime Parameters

      params:
        test_input:
      []
        expected:
      []
        kwargs:
      {}
      id: empty_case
      

      📌 Setup phase

      duration:

      0.00029437383636832237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001498558558523655
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001742779277265072
      

      outcome:

      passed
      
    • Test 374
      params: test_input="3", "Charlie"], ["1", "Alpha"], ["2", "Beta", expected=["Alpha", "Beta", "Charlie"], kwargs="{'sort_key': }"

      📌 Runtime 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.00036607682704925537
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006544287316501141
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001824679784476757
      

      outcome:

      passed
      
    • Test 375
      params: test_input="z3", "C"], ["a1", "A"], ["m2", "B", expected=["A", "B", "C"], kwargs="{'sort_key': at 0x7efbb02f83a0>}"

      📌 Runtime Parameters

      params:
        test_input:
          -       - z3
            - C
          -       - a1
            - A
          -       - m2
            - B
        expected:
          - A
          - B
          - C
        kwargs: {'sort_key': <function <lambda> at 0x7efbb02f83a0>}
      id: sort_id
      

      📌 Setup phase

      duration:

      0.0002960478886961937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006909901276230812
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019184499979019165
      

      outcome:

      passed
      
    • Test 376
      params: test_input="3", "Charlie"], ["1", "alpha"], ["2", "Beta", expected=["alpha", "Beta", "Charlie"], kwargs="{'sort_key': at 0x7efbb02f8430>}"

      📌 Runtime Parameters

      params:
        test_input:
          -       - 3
            - Charlie
          -       - 1
            - alpha
          -       - 2
            - Beta
        expected:
          - alpha
          - Beta
          - Charlie
        kwargs: {'sort_key': <function <lambda> at 0x7efbb02f8430>}
      id: sort_case_insensitive
      

      📌 Setup phase

      duration:

      0.0003167749382555485
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000562191940844059
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018719583749771118
      

      outcome:

      passed
      
    • Test 377
      params: test_input="1", "A"], ["2", "BB"], ["3", "CCC", expected=["A", "BB", "CCC"], kwargs="{'sort_key': at 0x7efbb02f84c0>}"

      📌 Runtime Parameters

      params:
        test_input:
          -       - 1
            - A
          -       - 2
            - BB
          -       - 3
            - CCC
        expected:
          - A
          - BB
          - CCC
        kwargs: {'sort_key': <function <lambda> at 0x7efbb02f84c0>}
      id: sort_length
      

      📌 Setup phase

      duration:

      0.00028557516634464264
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005661691538989544
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00032302970066666603
      

      outcome:

      passed
      
    • Test 378
      params: test_input="1", "A"], ["2", "B"], ["3", "C", expected=["C", "B", "A"], kwargs="{'sort_key': at 0x7efbb02f8550>}"

      📌 Runtime Parameters

      params:
        test_input:
          -       - 1
            - A
          -       - 2
            - B
          -       - 3
            - C
        expected:
          - C
          - B
          - A
        kwargs: {'sort_key': <function <lambda> at 0x7efbb02f8550>}
      id: sort_reverse
      

      📌 Setup phase

      duration:

      0.0005471860058605671
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006092200055718422
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018271012231707573
      

      outcome:

      passed
      
  • 📄 test_utils_termtitle.py

    Function: test_terminal_title_with_tmux

    • Test 379

      📌 Setup phase

      duration:

      0.00016044173389673233
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.018261015880852938
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025892024859786034
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_complete_progress_bar

    • Test 380

      📌 Setup phase

      duration:

      0.00017823977395892143
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.008536396082490683
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001532859168946743
      

      outcome:

      passed
      

    Function: test_set_progress_multiple_points

    • Test 381

      📌 Setup phase

      duration:

      0.0001364089548587799
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001436505001038313
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012865383177995682
      

      outcome:

      passed
      

    Function: test_format_sizeof_alignment

    • Test 382

      📌 Setup phase

      duration:

      0.00013164710253477097
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017975270748138428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012499326840043068
      

      outcome:

      passed
      

    Function: test_custom_unit

    • Test 384

      📌 Setup phase

      duration:

      0.0001227143220603466
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004714914131909609
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011622300371527672
      

      outcome:

      passed
      

    Function: test_clamp_above_total

    • Test 385

      📌 Setup phase

      duration:

      0.00011029187589883804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004427921958267689
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011517014354467392
      

      outcome:

      passed
      

    Function: test_clamp_below_zero

    • Test 386

      📌 Setup phase

      duration:

      0.00011163204908370972
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005547241307795048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012560933828353882
      

      outcome:

      passed
      
  • 📄 test_utils_trinary.py

    Function: test_check_trinary_valid_values

    • Test 387

      📌 Setup phase

      duration:

      0.00012391526252031326
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019001588225364685
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010806415230035782
      

      outcome:

      passed
      

    Function: test_check_trinary_invalid_value

    • Test 388

      📌 Setup phase

      duration:

      0.00010942108929157257
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004239790141582489
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011182576417922974
      

      outcome:

      passed
      

    Function: test_check_trinary_with_custom_allowed_values

    • Test 389

      📌 Setup phase

      duration:

      0.00011503370478749275
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017090095207095146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010461406782269478
      

      outcome:

      passed
      
  • 📄 test_utils_typecast.py

    Function: test_downcast_success

    • Test 390

      📌 Setup phase

      duration:

      0.00012651178985834122
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016713514924049377
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010006595402956009
      

      outcome:

      passed
      

    Function: test_upcast_success

    • Test 391

      📌 Setup phase

      duration:

      0.00011202367022633553
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015691109001636505
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010277004912495613
      

      outcome:

      passed
      

    Function: test_downcast_invalid

    • Test 392

      📌 Setup phase

      duration:

      0.00010613305494189262
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003389050252735615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001161494292318821
      

      outcome:

      passed
      

    Function: test_upcast_invalid

    • Test 393

      📌 Setup phase

      duration:

      0.00012681400403380394
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017463089898228645
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010392116382718086
      

      outcome:

      passed
      

    Function: test_object_identity_preserved

    • Test 394

      📌 Setup phase

      duration:

      0.00011914223432540894
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001505361869931221
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010300707072019577
      

      outcome:

      passed
      

    Function: test_ensure_subclass_valid

    • Test 395

      📌 Setup phase

      duration:

      0.00010336888954043388
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001328950747847557
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.59387980401516e-05
      

      outcome:

      passed
      

    Function: test_ensure_subclass_invalid

    • Test 396

      📌 Setup phase

      duration:

      0.00010051298886537552
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017795804888010025
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010195188224315643
      

      outcome:

      passed
      

    Function: test_cast_changes_class

    • Test 397

      📌 Setup phase

      duration:

      0.0001034778542816639
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016746064648032188
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010522734373807907
      

      outcome:

      passed
      

    Function: test_cast_preserves_identity

    • Test 398

      📌 Setup phase

      duration:

      0.00010296283289790154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001303250901401043
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.767897427082062e-05
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 399

      📌 Setup phase

      duration:

      0.0001247590407729149
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016018003225326538
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010548019781708717
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 400

      📌 Setup phase

      duration:

      0.00010553793981671333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012904265895485878
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.919190779328346e-05
      

      outcome:

      passed
      

    Function: test_typename

    • Test 401
      params: obj=null, expected="NoneType"

      📌 Runtime Parameters

      params:
        obj: None
        expected: NoneType
      id: None-NoneType
      

      📌 Setup phase

      duration:

      0.0003280099481344223
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000158676877617836
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016469880938529968
      

      outcome:

      passed
      
    • Test 402
      params: obj=true, expected="bool"

      📌 Runtime Parameters

      params:
        obj: True
        expected: bool
      id: True-bool
      

      📌 Setup phase

      duration:

      0.00025215093046426773
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014295196160674095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014191307127475739
      

      outcome:

      passed
      
    • Test 403
      params: obj=42, expected="int"

      📌 Runtime Parameters

      params:
        obj: 42
        expected: int
      id: 42-int
      

      📌 Setup phase

      duration:

      0.0002345498651266098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015330826863646507
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001429603435099125
      

      outcome:

      passed
      
    • Test 404
      params: obj=3.14, expected="float"

      📌 Runtime Parameters

      params:
        obj: 3.14
        expected: float
      id: 3.14-float
      

      📌 Setup phase

      duration:

      0.00023685907945036888
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013526808470487595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013923319056630135
      

      outcome:

      passed
      
    • Test 405
      params: obj="text", expected="str"

      📌 Runtime Parameters

      params:
        obj: text
        expected: str
      id: text-str
      

      📌 Setup phase

      duration:

      0.00023321900516748428
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001413128338754177
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014099199324846268
      

      outcome:

      passed
      
    • Test 406
      params: obj="{1, 2, 3}", expected="set"

      📌 Runtime Parameters

      params:
        obj: {1, 2, 3}
        expected: set
      id: obj5-set
      

      📌 Setup phase

      duration:

      0.0002237018197774887
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014274194836616516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015182700008153915
      

      outcome:

      passed
      
    • Test 407
      params: obj=1], [2, 3, expected="list"

      📌 Runtime Parameters

      params:
        obj:
          -       - 1
          -       - 2
            - 3
        expected: list
      id: obj6-list
      

      📌 Setup phase

      duration:

      0.0002103988081216812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013186223804950714
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014733104035258293
      

      outcome:

      passed
      
    • Test 408
      params: obj=[{"a": [1, 2]}, {"b": [3, 4]}], expected="list"

      📌 Runtime Parameters

      params:
        obj:
          -       a:
              - 1
              - 2
          -       b:
              - 3
              - 4
        expected: list
      id: obj7-list
      

      📌 Setup phase

      duration:

      0.000222817063331604
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013816170394420624
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014042062684893608
      

      outcome:

      passed
      
    • Test 409
      params: obj={"key": [{"nested": 1}, [2, 3]]}, expected="dict"

      📌 Runtime Parameters

      params:
        obj:
          key:
            -         nested: 1
            -         - 2
              - 3
        expected: dict
      id: obj8-dict
      

      📌 Setup phase

      duration:

      0.00021746475249528885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013291416689753532
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014949683099985123
      

      outcome:

      passed
      
    • Test 410
      params: obj=" at 0x7efbaed7aca0>", expected="function"

      📌 Runtime Parameters

      params:
        obj: <function <lambda> at 0x7efbaed7aca0>
        expected: function
      id: <lambda>-function
      

      📌 Setup phase

      duration:

      0.00021869922056794167
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025394605472683907
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014814920723438263
      

      outcome:

      passed
      
    • Test 411
      params: obj="", expected="function"

      📌 Runtime Parameters

      params:
        obj: <function sample_function at 0x7efbaed7ac10>
        expected: function
      id: sample_function-function
      

      📌 Setup phase

      duration:

      0.00023642508313059807
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014272378757596016
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013845181092619896
      

      outcome:

      passed
      
    • Test 412
      params: obj=".nested at 0x7efbaed7ad30>", expected="function"

      📌 Runtime Parameters

      params:
        obj: <function sample_function.<locals>.nested at 0x7efbaed7ad30>
        expected: function
      id: nested-function
      

      📌 Setup phase

      duration:

      0.00022249296307563782
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014032376930117607
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001407768577337265
      

      outcome:

      passed
      
    • Test 413
      params: obj="", expected="builtin_function_or_method"

      📌 Runtime Parameters

      params:
        obj: <built-in function len>
        expected: builtin_function_or_method
      id: len-builtin_function_or_method
      

      📌 Setup phase

      duration:

      0.0002299821935594082
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013465387746691704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013836892321705818
      

      outcome:

      passed
      
    • Test 414
      params: obj="", expected="builtin_function_or_method"

      📌 Runtime Parameters

      params:
        obj: <built-in function sum>
        expected: builtin_function_or_method
      id: sum-builtin_function_or_method
      

      📌 Setup phase

      duration:

      0.0002306560054421425
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013899896293878555
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001579737290740013
      

      outcome:

      passed
      
    • Test 415
      params: obj="", expected="module"

      📌 Runtime 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.00024197017773985863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014104600995779037
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001486162655055523
      

      outcome:

      passed
      
    • Test 416
      params: obj="", expected="module"

      📌 Runtime Parameters

      params:
        obj: <module 'sys' (built-in)>
        expected: module
      id: sys-module
      

      📌 Setup phase

      duration:

      0.00022017164155840874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014221575111150742
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015014596283435822
      

      outcome:

      passed
      
    • Test 417
      params: obj="", expected="type"

      📌 Runtime Parameters

      params:
        obj: <class 'function'>
        expected: type
      id: function-type
      

      📌 Setup phase

      duration:

      0.00021964730694890022
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014556525275111198
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013886485248804092
      

      outcome:

      passed
      
    • Test 418
      params: obj=" at 0x7efbaed6b890>", expected="generator"

      📌 Runtime Parameters

      params:
        obj: <generator object <genexpr> at 0x7efbaed6b890>
        expected: generator
      id: <genexpr>-generator
      

      📌 Setup phase

      duration:

      0.0002254946157336235
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015073595568537712
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014209328219294548
      

      outcome:

      passed
      
    • Test 419
      params: obj="", expected="list_iterator"

      📌 Runtime Parameters

      params:
        obj: <list_iterator object at 0x7efbaed76d90>
        expected: list_iterator
      id: obj18-list_iterator
      

      📌 Setup phase

      duration:

      0.0002207169309258461
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014613987877964973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014205509796738625
      

      outcome:

      passed
      

    Function: test_next_int

    • Test 420
      params: nums=[1, 2, 3], expected=4

      📌 Runtime Parameters

      params:
        nums:
          - 1
          - 2
          - 3
        expected: 4
      id: nums0-4
      

      📌 Setup phase

      duration:

      0.000232757069170475
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014070561155676842
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013541197404265404
      

      outcome:

      passed
      
    • Test 421
      params: nums=[10, 20], expected=21

      📌 Runtime Parameters

      params:
        nums:
          - 10
          - 20
        expected: 21
      id: nums1-21
      

      📌 Setup phase

      duration:

      0.00023252423852682114
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013926904648542404
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013916613534092903
      

      outcome:

      passed
      
    • Test 422
      params: nums=[], expected=0

      📌 Runtime Parameters

      params:
        nums:
      []
        expected: 0
      id: nums2-0
      

      📌 Setup phase

      duration:

      0.0002241223119199276
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013380683958530426
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014728400856256485
      

      outcome:

      passed
      

    Function: test_zero_pad

    • Test 423
      params: i=7, n=3, expected="007"

      📌 Runtime Parameters

      params:
        i: 7
        n: 3
        expected: 007
      id: 7-3-007
      

      📌 Setup phase

      duration:

      0.0002715596929192543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014004390686750412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001606629230082035
      

      outcome:

      passed
      
    • Test 424
      params: i=123, n=5, expected="00123"

      📌 Runtime Parameters

      params:
        i: 123
        n: 5
        expected: 00123
      id: 123-5-00123
      

      📌 Setup phase

      duration:

      0.0002570822834968567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001375162973999977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015486031770706177
      

      outcome:

      passed
      
    • Test 425
      params: i=0, n=2, expected="00"

      📌 Runtime Parameters

      params:
        i: 0
        n: 2
        expected: 00
      id: 0-2-00
      

      📌 Setup phase

      duration:

      0.00026213377714157104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015040207654237747
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001563550904393196
      

      outcome:

      passed
      

    Function: test_iround

    • Test 426
      params: val=3.6, expected=4

      📌 Runtime Parameters

      params:
        val: 3.6
        expected: 4
      id: 3.6-4
      

      📌 Setup phase

      duration:

      0.0002158009447157383
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001427438110113144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013593630865216255
      

      outcome:

      passed
      
    • Test 427
      params: val=2.1, expected=2

      📌 Runtime Parameters

      params:
        val: 2.1
        expected: 2
      id: 2.1-2
      

      📌 Setup phase

      duration:

      0.00022874213755130768
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001405910588800907
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013935193419456482
      

      outcome:

      passed
      
    • Test 428
      params: val=-1.5, expected=-2

      📌 Runtime Parameters

      params:
        val: -1.5
        expected: -2
      id: -1.5--2
      

      📌 Setup phase

      duration:

      0.0002224370837211609
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014226697385311127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014315592125058174
      

      outcome:

      passed
      
    • Test 429
      params: val=-1.4, expected=-1

      📌 Runtime Parameters

      params:
        val: -1.4
        expected: -1
      id: -1.4--1
      

      📌 Setup phase

      duration:

      0.0002263118512928486
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001349220983684063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001348569057881832
      

      outcome:

      passed
      

    Function: test_sorted_naturally

    • Test 430
      params: items=["file1", "file10", "file2"], expected=["file1", "file2", "file10"]

      📌 Runtime Parameters

      params:
        items:
          - file1
          - file10
          - file2
        expected:
          - file1
          - file2
          - file10
      id: items0-expected0
      

      📌 Setup phase

      duration:

      0.00022182799875736237
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019119121134281158
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001399521715939045
      

      outcome:

      passed
      
    • Test 431
      params: items=["z9", "z10", "z2", "z1"], expected=["z1", "z2", "z9", "z10"]

      📌 Runtime Parameters

      params:
        items:
          - z9
          - z10
          - z2
          - z1
        expected:
          - z1
          - z2
          - z9
          - z10
      id: items1-expected1
      

      📌 Setup phase

      duration:

      0.00021186098456382751
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016724783927202225
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015077786520123482
      

      outcome:

      passed
      

    Function: test_sorted_naturally_reverse

    • Test 432
      params: items=["file1", "file10", "file2"], expected=["file10", "file2", "file1"]

      📌 Runtime Parameters

      params:
        items:
          - file1
          - file10
          - file2
        expected:
          - file10
          - file2
          - file1
      id: items0-expected0
      

      📌 Setup phase

      duration:

      0.00021623820066452026
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015253201127052307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015700887888669968
      

      outcome:

      passed
      
  • 📄 test_utils_xrange.py

    Function: test_xrange_finite

    • Test 433
      params: args=[10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Runtime Parameters

      params:
        args:
          - 10
        kwargs:
      {}
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
      id: args0-kwargs0-expected0
      

      📌 Setup phase

      duration:

      0.00029877573251724243
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017824023962020874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015801889821887016
      

      outcome:

      passed
      
    • Test 434
      params: args=[0, 10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

      📌 Runtime Parameters

      params:
        args:
          - (vide)
          - 10
        kwargs:
      {}
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
      id: args1-kwargs1-expected1
      

      📌 Setup phase

      duration:

      0.00026714103296399117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009096618741750717
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018905987963080406
      

      outcome:

      passed
      
    • Test 435
      params: args=[0, 10, 2], kwargs={}, expected=[0, 2, 4, 6, 8]

      📌 Runtime Parameters

      params:
        args:
          - (vide)
          - 10
          - 2
        kwargs:
      {}
        expected:
          - (vide)
          - 2
          - 4
          - 6
          - 8
      id: args2-kwargs2-expected2
      

      📌 Setup phase

      duration:

      0.0002914527431130409
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001547900028526783
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001608068123459816
      

      outcome:

      passed
      
    • Test 436
      params: args=[10], kwargs={"step": 2}, expected=[0, 2, 4, 6, 8]

      📌 Runtime Parameters

      params:
        args:
          - 10
        kwargs:
          step: 2
        expected:
          - (vide)
          - 2
          - 4
          - 6
          - 8
      id: args3-kwargs3-expected3
      

      📌 Setup phase

      duration:

      0.0002829381264746189
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014214497059583664
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016882224008440971
      

      outcome:

      passed
      

    Function: test_xrange_infinite

    • Test 437
      params: args=[], kwargs={}, expected_repr="count(0)"

      📌 Runtime Parameters

      params:
        args:
      []
        kwargs:
      {}
        expected_repr: count(0)
      id: args0-kwargs0-count(0)
      

      📌 Setup phase

      duration:

      0.00026937713846564293
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001577390357851982
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015787314623594284
      

      outcome:

      passed
      
    • Test 438
      params: args=[], kwargs={"step": 2}, expected_repr="count(0, 2)"

      📌 Runtime Parameters

      params:
        args:
      []
        kwargs:
          step: 2
        expected_repr: count(0, 2)
      id: args1-kwargs1-count(0, 2)
      

      📌 Setup phase

      duration:

      0.0002788170240819454
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016541872173547745
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016320310533046722
      

      outcome:

      passed
      

    Function: test_xrange_too_many_args

    • Test 439
      params: args=[1, 2, 3, 4]

      📌 Runtime Parameters

      params:
        args:
          - 1
          - 2
          - 3
          - 4
      id: args0
      

      📌 Setup phase

      duration:

      0.0001675579696893692
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005070138722658157
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0006701438687741756
      

      outcome:

      passed
      
Failed (52)
  • 📄 test_utils_debug.py

    Function: test_short_repr

    • Test 102
      params: value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", cutoff=10, expected="'aaaaaaaaaa..."

      📌 Runtime Parameters

      params:
        value: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        cutoff: 10
        expected: 'aaaaaaaaaa...
      id: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...
      

      📌 Setup phase

      duration:

      0.000275168102234602
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009564822539687157
      

      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.00030109845101833344
      

      outcome:

      passed
      
    • Test 106
      params: value="Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)", cutoff=20, expected="Obj(xxxxxxxxxxxxxxxxx..."

      📌 Runtime Parameters

      params:
        value: Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
        cutoff: 20
        expected: Obj(xxxxxxxxxxxxxxxxx...
      id: value5-20-Obj(xxxxxxxxxxxxxxxxx...
      

      📌 Setup phase

      duration:

      0.0002619381994009018
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000586960930377245
      

      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.00022446922957897186
      

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_instantiation_fast_vs_epics

    • Test 179

      📌 Setup phase

      duration:

      0.000122767873108387
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.09883602010086179
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py
      lineno: 37
      message: AssertionError: Fast version (0.009406s) should be faster than EPICS (0.000263s)
      assert 0.00940624661743641 < 0.00026287944056093695
      

      traceback:

      -   path: tests/test_utils_hastyepics.py
        lineno: 37
        message: AssertionError
      

      longrepr:

      def test_motor_instantiation_fast_vs_epics():
      
              fast_times = []
              slow_times = []
      
              # Mock to simulate a real EPICS moteur
              with patch('epics.Motor.get') as mock_get:
                  mock_get.return_value = 'motor'
      
                  # Mean of 10 runs
                  for _ in range(10):
                      t0 = time.perf_counter()
                      m_fast = Motor("TEST:MOTOR_t1")
                      t1 = time.perf_counter()
      
                      t2 = time.perf_counter()
                      m_slow = epics.Motor("TEST:MOTOR_t2")
                      t3 = time.perf_counter()
      
                      fast_times.append(t1 - t0)
                      slow_times.append(t3 - t2)
      
              avg_fast = sum(fast_times) / len(fast_times)
              avg_slow = sum(slow_times) / len(slow_times)
      
      >       assert avg_fast < avg_slow, f"Fast version ({avg_fast:.6f}s) should be faster than EPICS ({avg_slow:.6f}s)"
      E       AssertionError: Fast version (0.009406s) should be faster than EPICS (0.000263s)
      E       assert 0.00940624661743641 < 0.00026287944056093695
      
      tests/test_utils_hastyepics.py:37: AssertionError
      

      📌 Teardown phase

      duration:

      0.0003778431564569473
      

      outcome:

      passed
      

    Function: test_motor_without_suffix_and_dot

    • Test 180

      📌 Setup phase

      duration:

      0.0002071009948849678
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0017225961200892925
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py
      lineno: 42
      message: AssertionError: assert 'TEST:MOTOR_1.' == 'TEST:MOTOR_1'
      
        - TEST:MOTOR_1
        + TEST:MOTOR_1.
        ?             +
      

      traceback:

      -   path: tests/test_utils_hastyepics.py
        lineno: 42
        message: AssertionError
      

      longrepr:

      def test_motor_without_suffix_and_dot():
              # Suffix .VAL ... dot should be stripped from name
              m1 = Motor("TEST:MOTOR_1.VAL")
      >       assert m1._prefix == "TEST:MOTOR_1"
      E       AssertionError: assert 'TEST:MOTOR_1.' == 'TEST:MOTOR_1'
      E         
      E         - TEST:MOTOR_1
      E         + TEST:MOTOR_1.
      E         ?             +
      
      tests/test_utils_hastyepics.py:42: AssertionError
      

      📌 Teardown phase

      duration:

      0.00016168318688869476
      

      outcome:

      passed
      

    Function: test_motor_initializes_device_attrs

    • Test 183

      📌 Setup phase

      duration:

      0.00011994084343314171
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013409811072051525
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py
      lineno: 79
      message: AssertionError: VAL is not a valid PV object
      assert False
       +  where False = isinstance(None, <class 'epics.pv.PV'>)
       +    where <class 'epics.pv.PV'> = <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'>.PV
       +      where <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'> = epics.pv
      

      traceback:

      -   path: tests/test_utils_hastyepics.py
        lineno: 79
        message: AssertionError
      

      longrepr:

      def test_motor_initializes_device_attrs():
              # Check that Motor correctly initializes all Device PVs from _init_list
              m = Motor("TEST:MOTOR")
      
      
              print("_init_list contents:", m._init_list)
              print("All attributes on motor:", dir(m))
      
              for attr in m._init_list:
                  print(f"\nChecking attribute: {attr}")
                  assert hasattr(m, attr), f"Motor is missing attribute: {attr}"
                  pv = getattr(m, attr)
      
                  print(f"PV object: {pv}")
                  print("Type:", type(pv))
                  if pv is not None:
                      print(f"PV name: {pv.pvname}")
                      print(f"PV connected: {pv.connected}")
      
      >           assert isinstance(pv, epics.pv.PV), f"{attr} is not a valid PV object"
      E           AssertionError: VAL is not a valid PV object
      E           assert False
      E            +  where False = isinstance(None, <class 'epics.pv.PV'>)
      E            +    where <class 'epics.pv.PV'> = <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'>.PV
      E            +      where <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'> = epics.pv
      
      tests/test_utils_hastyepics.py:79: AssertionError
      

      📌 Teardown phase

      duration:

      0.00015138322487473488
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 199

      📌 Setup phase

      duration:

      0.00013824785128235817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.65833312086761
      

      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
      

      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.0003413190133869648
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

    • Test 208
      params: start=5, stop=0, step=-1, expected="[5. 4. 3. 2. 1. 0.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -1
        expected: [5. 4. 3. 2. 1. 0.]
      id: 5-0--1-expected1
      

      📌 Setup phase

      duration:

      0.0003909659571945667
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010199276730418205
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      Mismatched elements: 6 / 6 (100%)
      Max absolute difference: 5.
      Max relative difference: 3.
       x: array([0., 1., 2., 3., 4., 5.])
       y: array([5., 4., 3., 2., 1., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -1, expected = array([5., 4., 3., 2., 1., 0.])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaf8d23a0>, array([0., 1., 2., 3., 4., 5.]), array([5., 4., 3., 2., 1., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           Mismatched elements: 6 / 6 (100%)
      E           Max absolute difference: 5.
      E           Max relative difference: 3.
      E            x: array([0., 1., 2., 3., 4., 5.])
      E            y: array([5., 4., 3., 2., 1., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002619740553200245
      

      outcome:

      passed
      
    • Test 210
      params: start=-2, stop=2, step=1.5, expected="[-2. 0. 2.]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 2
        step: 1.5
        expected: [-2.  0.  2.]
      id: -2-2-1.5-expected3
      

      📌 Setup phase

      duration:

      0.0003593708388507366
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005330080166459084
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      (shapes (4,), (3,) mismatch)
       x: array([-2.      , -0.666667,  0.666667,  2.      ])
       y: array([-2.,  0.,  2.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -2, stop = 2, step = 1.5, expected = array([-2.,  0.,  2.])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbafce7ee0>, array([-2.        , -0.66666667,  0.66666667,  2.        ]), array([-2.,  0.,  2.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           (shapes (4,), (3,) mismatch)
      E            x: array([-2.      , -0.666667,  0.666667,  2.      ])
      E            y: array([-2.,  0.,  2.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00024635670706629753
      

      outcome:

      passed
      
    • Test 211
      params: start=2.5, stop=0.5, step=-0.4, expected="[2.5 2.1 1.7 1.3 0.9 0.5]"

      📌 Runtime Parameters

      params:
        start: 2.5
        stop: 0.5
        step: -0.4
        expected: [2.5 2.1 1.7 1.3 0.9 0.5]
      id: 2.5-0.5--0.4-expected4
      

      📌 Setup phase

      duration:

      0.000373173039406538
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008703269995748997
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-06, atol=0
      
      Mismatched elements: 6 / 6 (100%)
      Max absolute difference: 2.
      Max relative difference: 4.
       x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5])
       y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 16
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 2.5, stop = 0.5, step = -0.4
      expected = array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      
          @pytest.mark.parametrize("start, stop, step, expected", [
              (0, 5, 1, np.linspace(0, 5, 6)),                       # regular integer step
              (5, 0, -1, np.linspace(5, 0, 6)),                      # reversed with negative step
              (1, 2, 0.3, np.linspace(1, 2, 4)),                     # step doesn't divide evenly
              (-2, 2, 1.5, np.linspace(-2, 2, 3)),                   # centered range
              (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)),            # reversed float
          ])
          def test_nice_arange(start, stop, step, expected):
      >       np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6)
      
      tests/test_utils_npy.py:16: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaf9b2d30>, array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5]), array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-06, atol=0
      E           
      E           Mismatched elements: 6 / 6 (100%)
      E           Max absolute difference: 2.
      E           Max relative difference: 4.
      E            x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5])
      E            y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00022284220904111862
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 223
      params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4. 6.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [0. 2. 4. 6.]
      id: 0-5-2-True-expected0
      

      📌 Setup phase

      duration:

      0.0004092860035598278
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000487541314214468
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([0, 2, 4])
       y: array([0., 2., 4., 6.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = True
      expected = array([0., 2., 4., 6.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae5ab160>, array([0, 2, 4]), array([0., 2., 4., 6.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([0, 2, 4])
      E            y: array([0., 2., 4., 6.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00031735701486468315
      

      outcome:

      passed
      
    • Test 224
      params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2. 4.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [0. 2. 4.]
      id: 0-5-2-False-expected1
      

      📌 Setup phase

      duration:

      0.00044504087418317795
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006133508868515491
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([0, 2])
       y: array([0., 2., 4.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = False, expected = array([0., 2., 4.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbafce7e50>, array([0, 2]), array([0., 2., 4.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([0, 2])
      E            y: array([0., 2., 4.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00032071489840745926
      

      outcome:

      passed
      
    • Test 227
      params: start=-2, stop=1, step=1.2, endpoint=true, expected="[-2. -0.8 0.4 1.6]"

      📌 Runtime Parameters

      params:
        start: -2
        stop: 1
        step: 1.2
        endpoint: True
        expected: [-2.  -0.8  0.4  1.6]
      id: -2-1-1.2-True-expected4
      

      📌 Setup phase

      duration:

      0.00038269301876425743
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005455128848552704
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([-2. , -0.8,  0.4])
       y: array([-2. , -0.8,  0.4,  1.6])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -2, stop = 1, step = 1.2, endpoint = True
      expected = array([-2. , -0.8,  0.4,  1.6])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaed61670>, array([-2. , -0.8,  0.4]), array([-2. , -0.8,  0.4,  1.6]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([-2. , -0.8,  0.4])
      E            y: array([-2. , -0.8,  0.4,  1.6])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002741343341767788
      

      outcome:

      passed
      
    • Test 228
      params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: True
        expected: [ 5.  3.  1. -1.]
      id: 5-0--2-True-expected5
      

      📌 Setup phase

      duration:

      0.0003940081223845482
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005349209532141685
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([0, 2, 4])
       y: array([ 5.,  3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = True
      expected = array([ 5.,  3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbb030dca0>, array([0, 2, 4]), array([ 5.,  3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([0, 2, 4])
      E            y: array([ 5.,  3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002712057903409004
      

      outcome:

      passed
      
    • Test 229
      params: start=5, stop=0, step=-2, endpoint=false, expected="[5. 3. 1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: False
        expected: [5. 3. 1.]
      id: 5-0--2-False-expected6
      

      📌 Setup phase

      duration:

      0.00039337901398539543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005191601812839508
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([0, 2])
       y: array([5., 3., 1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 53
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = False, expected = array([5., 3., 1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([0., 2., 4., 6.])),               # Normal case with endpoint overshooting
              (0, 5, 2, False, np.array([0., 2., 4.])),                  # No endpoint
              (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])),              # Needs fractional alignment to include stop
              (-1, 2, 1.5, False, np.array([-1., 0.5])),                 # Same range but no endpoint
              (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])),       # Step overshoots
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Backward steps with overshoot
              (5, 0, -2, False, np.array([5., 3., 1.])),                 # No endpoint, backward
          ])
          def test_nice_steps_left_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:53: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae5ab700>, array([0, 2]), array([5., 3., 1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([0, 2])
      E            y: array([5., 3., 1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00031322240829467773
      

      outcome:

      passed
      

    Function: test_nice_steps_right_aligned

    • Test 230
      params: start=0, stop=5, step=2, endpoint=true, expected="[6. 4. 2. 0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: True
        expected: [6. 4. 2. 0.]
      id: 0-5-2-True-expected0
      

      📌 Setup phase

      duration:

      0.0004110909067094326
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005308701656758785
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([1, 3, 5])
       y: array([6., 4., 2., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = True
      expected = array([6., 4., 2., 0.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaed61670>, array([1, 3, 5]), array([6., 4., 2., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([1, 3, 5])
      E            y: array([6., 4., 2., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002532023936510086
      

      outcome:

      passed
      
    • Test 231
      params: start=0, stop=5, step=2, endpoint=false, expected="[4. 2. 0.]"

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 2
        endpoint: False
        expected: [4. 2. 0.]
      id: 0-5-2-False-expected1
      

      📌 Setup phase

      duration:

      0.00040918029844760895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000533238984644413
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([3, 5])
       y: array([4., 2., 0.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 0, stop = 5, step = 2, endpoint = False, expected = array([4., 2., 0.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae587d30>, array([3, 5]), array([4., 2., 0.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([3, 5])
      E            y: array([4., 2., 0.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.000254651065915823
      

      outcome:

      passed
      
    • Test 232
      params: start=-1, stop=2, step=1.5, endpoint=true, expected="[ 2. 0.5 -1. ]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: True
        expected: [ 2.   0.5 -1. ]
      id: -1-2-1.5-True-expected2
      

      📌 Setup phase

      duration:

      0.00040204310789704323
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008352263830602169
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      Mismatched elements: 2 / 3 (66.7%)
      Max absolute difference: 3.
      Max relative difference: 3.
       x: array([-1. ,  0.5,  2. ])
       y: array([ 2. ,  0.5, -1. ])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -1, stop = 2, step = 1.5, endpoint = True
      expected = array([ 2. ,  0.5, -1. ])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae5bd670>, array([-1. ,  0.5,  2. ]), array([ 2. ,  0.5, -1. ]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           Mismatched elements: 2 / 3 (66.7%)
      E           Max absolute difference: 3.
      E           Max relative difference: 3.
      E            x: array([-1. ,  0.5,  2. ])
      E            y: array([ 2. ,  0.5, -1. ])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.000244110357016325
      

      outcome:

      passed
      
    • Test 233
      params: start=-1, stop=2, step=1.5, endpoint=false, expected="[ 0.5 -1. ]"

      📌 Runtime Parameters

      params:
        start: -1
        stop: 2
        step: 1.5
        endpoint: False
        expected: [ 0.5 -1. ]
      id: -1-2-1.5-False-expected3
      

      📌 Setup phase

      duration:

      0.0003828420303761959
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008012657053768635
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      Mismatched elements: 1 / 2 (50%)
      Max absolute difference: 3.
      Max relative difference: 3.
       x: array([0.5, 2. ])
       y: array([ 0.5, -1. ])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -1, stop = 2, step = 1.5, endpoint = False
      expected = array([ 0.5, -1. ])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaf8d2d30>, array([0.5, 2. ]), array([ 0.5, -1. ]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           Mismatched elements: 1 / 2 (50%)
      E           Max absolute difference: 3.
      E           Max relative difference: 3.
      E            x: array([0.5, 2. ])
      E            y: array([ 0.5, -1. ])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.00023601436987519264
      

      outcome:

      passed
      
    • Test 234
      params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: True
        expected: [ 5.  3.  1. -1.]
      id: 5-0--2-True-expected4
      

      📌 Setup phase

      duration:

      0.000381257850676775
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004966482520103455
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (3,), (4,) mismatch)
       x: array([1, 3, 5])
       y: array([ 5.,  3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = True
      expected = array([ 5.,  3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbaed613a0>, array([1, 3, 5]), array([ 5.,  3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (3,), (4,) mismatch)
      E            x: array([1, 3, 5])
      E            y: array([ 5.,  3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002438458614051342
      

      outcome:

      passed
      
    • Test 235
      params: start=5, stop=0, step=-2, endpoint=false, expected="[ 3. 1. -1.]"

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -2
        endpoint: False
        expected: [ 3.  1. -1.]
      id: 5-0--2-False-expected5
      

      📌 Setup phase

      duration:

      0.00037202006205916405
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000475048553198576
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (2,), (3,) mismatch)
       x: array([3, 5])
       y: array([ 3.,  1., -1.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = 5, stop = 0, step = -2, endpoint = False
      expected = array([ 3.,  1., -1.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae5bd430>, array([3, 5]), array([ 3.,  1., -1.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (2,), (3,) mismatch)
      E            x: array([3, 5])
      E            y: array([ 3.,  1., -1.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002523837611079216
      

      outcome:

      passed
      
    • Test 236
      params: start=-3, stop=3, step=2, endpoint=true, expected="[ 5. 3. 1. -1. -3.]"

      📌 Runtime Parameters

      params:
        start: -3
        stop: 3
        step: 2
        endpoint: True
        expected: [ 5.  3.  1. -1. -3.]
      id: -3-3-2-True-expected6
      

      📌 Setup phase

      duration:

      0.00039187725633382797
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005129659548401833
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py
      lineno: 75
      message: AssertionError: 
      Not equal to tolerance rtol=1e-07, atol=0
      
      (shapes (4,), (5,) mismatch)
       x: array([-3, -1,  1,  3])
       y: array([ 5.,  3.,  1., -1., -3.])
      

      traceback:

      -   path: tests/test_utils_npy.py
        lineno: 67
        message: None
      -   path: .pixi/envs/default/lib/python3.8/contextlib.py
        lineno: 75
        message: AssertionError
      

      longrepr:

      start = -3, stop = 3, step = 2, endpoint = True
      expected = array([ 5.,  3.,  1., -1., -3.])
      
          @pytest.mark.parametrize("start, stop, step, endpoint, expected", [
              (0, 5, 2, True, np.array([6., 4., 2., 0.])),               # Right-aligned, overshoots left
              (0, 5, 2, False, np.array([4., 2., 0.])),                  # Right-aligned, no endpoint
              (-1, 2, 1.5, True, np.array([2., 0.5, -1.])),              # Step doesn t divide evenly, reverse it
              (-1, 2, 1.5, False, np.array([0.5, -1.])),                 # Without endpoint
              (5, 0, -2, True, np.array([5., 3., 1., -1.])),             # Negative step, includes endpoint overshoot
              (5, 0, -2, False, np.array([3., 1., -1.])),                # No endpoint, skips last one
              (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])),        # Large symmetric range, reverse
          ])
          def test_nice_steps_right_aligned(start, stop, step, endpoint, expected):
      >       np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected)
      
      tests/test_utils_npy.py:67: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      args = (<function assert_allclose.<locals>.compare at 0x7efbae5b9430>, array([-3, -1,  1,  3]), array([ 5.,  3.,  1., -1., -3.]))
      kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True}
      
          @wraps(func)
          def inner(*args, **kwds):
              with self._recreate_cm():
      >           return func(*args, **kwds)
      E           AssertionError: 
      E           Not equal to tolerance rtol=1e-07, atol=0
      E           
      E           (shapes (4,), (5,) mismatch)
      E            x: array([-3, -1,  1,  3])
      E            y: array([ 5.,  3.,  1., -1., -3.])
      
      .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError
      

      📌 Teardown phase

      duration:

      0.0002358555793762207
      

      outcome:

      passed
      
  • 📄 test_utils_pv.py

    Function: test_progress_and_repr

    • Test 309
      params: value=25.0, expected_bar="██▌ ", expected_color="\u001b[32m", expected_repr="PV \"TEST:PV\" at 25.0 units"

      📌 Runtime Parameters

      params:
        value: 25.0
        expected_bar: ██▌       
        expected_color: 
        expected_repr: PV "TEST:PV" at 25.0 units
      id: 25.0-\u2588\u2588\u258c       -\x1b[32m-PV "TEST:PV" at 25.0 units
      

      📌 Setup phase

      duration:

      0.0007699150592088699
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000605257228017
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbae5b9a60>, value = 25.0
      expected_bar = '██▌       ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 25.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = 25.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.0004081651568412781
      

      outcome:

      passed
      
    • Test 310
      params: value=50.0, expected_bar="█████ ", expected_color="\u001b[32m", expected_repr="PV \"TEST:PV\" at 50.0 units"

      📌 Runtime Parameters

      params:
        value: 50.0
        expected_bar: █████     
        expected_color: 
        expected_repr: PV "TEST:PV" at 50.0 units
      id: 50.0-\u2588\u2588\u2588\u2588\u2588     -\x1b[32m-PV "TEST:PV" at 50.0 units
      

      📌 Setup phase

      duration:

      0.0007621319964528084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000639476813376
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbae5b9dc0>, value = 50.0
      expected_bar = '█████     ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 50.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = 50.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.0004583592526614666
      

      outcome:

      passed
      
    • Test 311
      params: value=75.0, expected_bar="███████▌ ", expected_color="\u001b[32m", expected_repr="PV \"TEST:PV\" at 75.0 units"

      📌 Runtime Parameters

      params:
        value: 75.0
        expected_bar: ███████▌  
        expected_color: 
        expected_repr: PV "TEST:PV" at 75.0 units
      id: 75.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  -\x1b[32m-PV "TEST:PV" at 75.0 units
      

      📌 Setup phase

      duration:

      0.000764685682952404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000569939147681
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbae5b93a0>, value = 75.0
      expected_bar = '███████▌  ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 75.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = 75.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.0004439549520611763
      

      outcome:

      passed
      
    • Test 312
      params: value=100.0, expected_bar="██████████", expected_color="\u001b[32m", expected_repr="PV \"TEST:PV\" at 100.0 units"

      📌 Runtime Parameters

      params:
        value: 100.0
        expected_bar: ██████████
        expected_color: 
        expected_repr: PV "TEST:PV" at 100.0 units
      id: 100.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588-\x1b[32m-PV "TEST:PV" at 100.0 units
      

      📌 Setup phase

      duration:

      0.0007859957404434681
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005538850091398
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbae5c09d0>, value = 100.0
      expected_bar = '██████████', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 100.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = 100.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.00044211698696017265
      

      outcome:

      passed
      
    • Test 313
      params: value=150.0, expected_bar=">>>>>>>>>>", expected_color="\u001b[31m", expected_repr="PV \"TEST:PV\" at 150.0 units"

      📌 Runtime Parameters

      params:
        value: 150.0
        expected_bar: >>>>>>>>>>
        expected_color: 
        expected_repr: PV "TEST:PV" at 150.0 units
      id: 150.0->>>>>>>>>>-\x1b[31m-PV "TEST:PV" at 150.0 units
      

      📌 Setup phase

      duration:

      0.0007541710510849953
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005172011442482
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbaedd4820>, value = 150.0
      expected_bar = '>>>>>>>>>>', expected_color = '\x1b[31m'
      expected_repr = 'PV "TEST:PV" at 150.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = 150.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.00045868800953030586
      

      outcome:

      passed
      
    • Test 314
      params: value=-50.0, expected_bar="<<<<<<<<<<", expected_color="\u001b[31m", expected_repr="PV \"TEST:PV\" at -50.0 units"

      📌 Runtime Parameters

      params:
        value: -50.0
        expected_bar: <<<<<<<<<<
        expected_color: 
        expected_repr: PV "TEST:PV" at -50.0 units
      id: -50.0-<<<<<<<<<<-\x1b[31m-PV "TEST:PV" at -50.0 units
      

      📌 Setup phase

      duration:

      0.0008070161566138268
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005747019313276
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/rangebar.py
      lineno: 110
      message: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 19
        message: in put
      -   path: slic/utils/rangebar.py
        lineno: 31
        message: in __enter__
      -   path: slic/utils/rangebar.py
        lineno: 40
        message: in show
      -   path: slic/utils/rangebar.py
        lineno: 49
        message: in get
      -   path: slic/utils/rangebar.py
        lineno: 110
        message: TypeError
      

      longrepr:

      fake_epics_pv = PV "TEST:PV" at None None
      capture_stdout = <_io.StringIO object at 0x7efbaedd4790>, value = -50.0
      expected_bar = '<<<<<<<<<<', expected_color = '\x1b[31m'
      expected_repr = 'PV "TEST:PV" at -50.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:19: in put
          with RangeBar(start, stop) as rbar:
      slic/utils/rangebar.py:31: in __enter__
          self.show(self.start) # show initial bar (also if nothing changes)
      slic/utils/rangebar.py:40: in show
          bar = self.get(value)
      slic/utils/rangebar.py:49: in get
          part = calc_part(start, stop, value)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      start = None, stop = -50.0, value = None
      
          def calc_part(start, stop, value):
      >       total_range = stop - start
      E       TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
      
      slic/utils/rangebar.py:110: TypeError
      

      📌 Teardown phase

      duration:

      0.00047183968126773834
      

      outcome:

      passed
      
  • 📄 test_utils_readable.py

    Function: test_rounding_cases

    • Test 334
      params: seconds=59.9, expected="59 seconds"

      📌 Runtime Parameters

      params:
        seconds: 59.9
        expected: 59 seconds
      id: 59.9-59 seconds
      

      📌 Setup phase

      duration:

      0.00026227813214063644
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005731447599828243
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '60 seconds' == '59 seconds'
      
        - 59 seconds
        ? ^^
        + 60 seconds
        ? ^^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 59.9, expected = '59 seconds'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '60 seconds' == '59 seconds'
      E         
      E         - 59 seconds
      E         ? ^^
      E         + 60 seconds
      E         ? ^^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00021999096497893333
      

      outcome:

      passed
      
    • Test 337
      params: seconds=3599.4, expected="59 minutes"

      📌 Runtime Parameters

      params:
        seconds: 3599.4
        expected: 59 minutes
      id: 3599.4-59 minutes
      

      📌 Setup phase

      duration:

      0.0002391999587416649
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004978291690349579
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '60 minutes' == '59 minutes'
      
        - 59 minutes
        ? ^^
        + 60 minutes
        ? ^^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3599.4, expected = '59 minutes'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '60 minutes' == '59 minutes'
      E         
      E         - 59 minutes
      E         ? ^^
      E         + 60 minutes
      E         ? ^^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00019193487241864204
      

      outcome:

      passed
      
    • Test 339
      params: seconds=3600.1, expected="1 hour"

      📌 Runtime Parameters

      params:
        seconds: 3600.1
        expected: 1 hour
      id: 3600.1-1 hour
      

      📌 Setup phase

      duration:

      0.0002196216955780983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003908020444214344
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '60 minutes' == '1 hour'
      
        - 1 hour
        + 60 minutes
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3600.1, expected = '1 hour'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '60 minutes' == '1 hour'
      E         
      E         - 1 hour
      E         + 60 minutes
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018203910440206528
      

      outcome:

      passed
      
    • Test 340
      params: seconds=7199.9, expected="119 minutes"

      📌 Runtime Parameters

      params:
        seconds: 7199.9
        expected: 119 minutes
      id: 7199.9-119 minutes
      

      📌 Setup phase

      duration:

      0.00026249978691339493
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043759681284427643
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '120 minutes' == '119 minutes'
      
        - 119 minutes
        ?  ^^
        + 120 minutes
        ?  ^^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 7199.9, expected = '119 minutes'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '120 minutes' == '119 minutes'
      E         
      E         - 119 minutes
      E         ?  ^^
      E         + 120 minutes
      E         ?  ^^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001778346486389637
      

      outcome:

      passed
      
    • Test 345
      params: seconds=3659.9, expected="60 minutes"

      📌 Runtime Parameters

      params:
        seconds: 3659.9
        expected: 60 minutes
      id: 3659.9-60 minutes
      

      📌 Setup phase

      duration:

      0.000225151889026165
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042338902130723
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '61 minutes' == '60 minutes'
      
        - 60 minutes
        ?  ^
        + 61 minutes
        ?  ^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3659.9, expected = '60 minutes'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '61 minutes' == '60 minutes'
      E         
      E         - 60 minutes
      E         ?  ^
      E         + 61 minutes
      E         ?  ^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001771301031112671
      

      outcome:

      passed
      
    • Test 346
      params: seconds=3660.1, expected="1 hour"

      📌 Runtime Parameters

      params:
        seconds: 3660.1
        expected: 1 hour
      id: 3660.1-1 hour
      

      📌 Setup phase

      duration:

      0.0002393210306763649
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035875197499990463
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '61 minutes' == '1 hour'
      
        - 1 hour
        + 61 minutes
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3660.1, expected = '1 hour'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '61 minutes' == '1 hour'
      E         
      E         - 1 hour
      E         + 61 minutes
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00017809541895985603
      

      outcome:

      passed
      
    • Test 347
      params: seconds=1314873.0, expected="15 days"

      📌 Runtime Parameters

      params:
        seconds: 1314873.0
        expected: 15 days
      id: 1314873.0-15 days
      

      📌 Setup phase

      duration:

      0.00024564191699028015
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003736070357263088
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '2 weeks' == '15 days'
      
        - 15 days
        + 2 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 1314873.0, expected = '15 days'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '2 weeks' == '15 days'
      E         
      E         - 15 days
      E         + 2 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018264399841427803
      

      outcome:

      passed
      
    • Test 348
      params: seconds=2366771.4, expected="27 days"

      📌 Runtime Parameters

      params:
        seconds: 2366771.4
        expected: 27 days
      id: 2366771.4-27 days
      

      📌 Setup phase

      duration:

      0.00023600785061717033
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035439617931842804
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '4 weeks' == '27 days'
      
        - 27 days
        + 4 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 2366771.4, expected = '27 days'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '4 weeks' == '27 days'
      E         
      E         - 27 days
      E         + 4 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00017986679449677467
      

      outcome:

      passed
      
    • Test 349
      params: seconds=2629746.0, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 2629746.0
        expected: 1 month
      id: 2629746.0-1 month
      

      📌 Setup phase

      duration:

      0.0002640080638229847
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035533588379621506
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '4 weeks' == '1 month'
      
        - 1 month
        + 4 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 2629746.0, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '4 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 4 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00020566023886203766
      

      outcome:

      passed
      
    • Test 350
      params: seconds=2892720.6, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 2892720.6
        expected: 1 month
      id: 2892720.6-1 month
      

      📌 Setup phase

      duration:

      0.0002437438815832138
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037189433351159096
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '5 weeks' == '1 month'
      
        - 1 month
        + 5 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 2892720.6, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '5 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 5 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001804647035896778
      

      outcome:

      passed
      
    • Test 351
      params: seconds=3944619.0, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 3944619.0
        expected: 1 month
      id: 3944619.0-1 month
      

      Setup phase

      duration:

      0.0002348329871892929
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003700070083141327
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '7 weeks' == '1 month'
      
        - 1 month
        + 7 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3944619.0, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '7 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 7 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018425192683935165
      

      outcome:

      passed
      
    • Test 352
      params: seconds=4996517.399999999, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 4996517.399999999
        expected: 1 month
      id: 4996517.399999999-1 month
      

      📌 Setup phase

      duration:

      0.00024794926866889
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003567291423678398
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '8 weeks' == '1 month'
      
        - 1 month
        + 8 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 4996517.399999999, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '8 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 8 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001775273121893406
      

      outcome:

      passed
      
    • Test 355
      params: seconds=28401213.6, expected="9 months"

      📌 Runtime Parameters

      params:
        seconds: 28401213.6
        expected: 9 months
      id: 28401213.6-9 months
      

      📌 Setup phase

      duration:

      0.00021781586110591888
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004208199679851532
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '11 months' == '9 months'
      
        - 9 months
        ? ^
        + 11 months
        ? ^^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 28401213.6, expected = '9 months'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '11 months' == '9 months'
      E         
      E         - 9 months
      E         ? ^
      E         + 11 months
      E         ? ^^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018895184621214867
      

      outcome:

      passed
      
    • Test 356
      params: seconds=31556904.0, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 31556904.0
        expected: 1 year
      id: 31556904.0-1 year
      

      📌 Setup phase

      duration:

      0.00023265322670340538
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036725495010614395
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '12 months' == '1 year'
      
        - 1 year
        + 12 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 31556904.0, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '12 months' == '1 year'
      E         
      E         - 1 year
      E         + 12 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018277019262313843
      

      outcome:

      passed
      
    • Test 357
      params: seconds=34712594.400000006, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 34712594.400000006
        expected: 1 year
      id: 34712594.400000006-1 year
      

      📌 Setup phase

      duration:

      0.00027568405494093895
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003573126159608364
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '13 months' == '1 year'
      
        - 1 year
        + 13 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 34712594.400000006, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '13 months' == '1 year'
      E         
      E         - 1 year
      E         + 13 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018118275329470634
      

      outcome:

      passed
      
    • Test 358
      params: seconds=47335356.0, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 47335356.0
        expected: 1 year
      id: 47335356.0-1 year
      

      📌 Setup phase

      duration:

      0.0002559269778430462
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035663973540067673
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '18 months' == '1 year'
      
        - 1 year
        + 18 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 47335356.0, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '18 months' == '1 year'
      E         
      E         - 1 year
      E         + 18 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018073804676532745
      

      outcome:

      passed
      
    • Test 359
      params: seconds=59958117.599999994, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 59958117.599999994
        expected: 1 year
      id: 59958117.599999994-1 year
      

      📌 Setup phase

      duration:

      0.00024067098274827003
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003533107228577137
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '23 months' == '1 year'
      
        - 1 year
        + 23 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 59958117.599999994, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '23 months' == '1 year'
      E         
      E         - 1 year
      E         + 23 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00017981696873903275
      

      outcome:

      passed
      
    • Test 360
      params: seconds=63113808.0, expected="2 years"

      📌 Runtime Parameters

      params:
        seconds: 63113808.0
        expected: 2 years
      id: 63113808.0-2 years
      

      📌 Setup phase

      duration:

      0.00024073291569948196
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003653331659734249
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '24 months' == '2 years'
      
        - 2 years
        + 24 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 63113808.0, expected = '2 years'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '24 months' == '2 years'
      E         
      E         - 2 years
      E         + 24 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018374202772974968
      

      outcome:

      passed
      
    • Test 362
      params: seconds=5233194.54, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 5233194.54
        expected: 1 month
      id: 5233194.54-1 month
      

      📌 Setup phase

      duration:

      0.00022925389930605888
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003533819690346718
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '9 weeks' == '1 month'
      
        - 1 month
        + 9 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 5233194.54, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '9 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 9 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001912941224873066
      

      outcome:

      passed
      
    • Test 364
      params: seconds=62798238.96, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 62798238.96
        expected: 1 year
      id: 62798238.96-1 year
      

      📌 Setup phase

      duration:

      0.00022329017519950867
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036694062873721123
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '24 months' == '1 year'
      
        - 1 year
        + 24 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 62798238.96, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '24 months' == '1 year'
      E         
      E         - 1 year
      E         + 24 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00017869612202048302
      

      outcome:

      passed
      
    • Test 366
      params: seconds=31293977.400000002, expected="11 months"

      📌 Runtime Parameters

      params:
        seconds: 31293977.400000002
        expected: 11 months
      id: 31293977.400000002-11 months
      

      📌 Setup phase

      duration:

      0.00022963713854551315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000421890988945961
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '12 months' == '11 months'
      
        - 11 months
        ?  ^
        + 12 months
        ?  ^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 31293977.400000002, expected = '11 months'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '12 months' == '11 months'
      E         
      E         - 11 months
      E         ?  ^
      E         + 12 months
      E         ?  ^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018003489822149277
      

      outcome:

      passed
      
    • Test 367
      params: seconds=31819926.599999998, expected="1 year"

      📌 Runtime Parameters

      params:
        seconds: 31819926.599999998
        expected: 1 year
      id: 31819926.599999998-1 year
      

      📌 Setup phase

      duration:

      0.00024622632190585136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037156883627176285
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '12 months' == '1 year'
      
        - 1 year
        + 12 months
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 31819926.599999998, expected = '1 year'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '12 months' == '1 year'
      E         
      E         - 1 year
      E         + 12 months
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018792971968650818
      

      outcome:

      passed
      
    • Test 368
      params: seconds=3155690.4000000004, expected="1 month"

      📌 Runtime Parameters

      params:
        seconds: 3155690.4000000004
        expected: 1 month
      id: 3155690.4000000004-1 month
      

      📌 Setup phase

      duration:

      0.00024298671633005142
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037739984691143036
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '5 weeks' == '1 month'
      
        - 1 month
        + 5 weeks
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 3155690.4000000004, expected = '1 month'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '5 weeks' == '1 month'
      E         
      E         - 1 month
      E         + 5 weeks
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.0001827571541070938
      

      outcome:

      passed
      
    • Test 369
      params: seconds=15462882.959999999, expected="5 months"

      📌 Runtime Parameters

      params:
        seconds: 15462882.959999999
        expected: 5 months
      id: 15462882.959999999-5 months
      

      📌 Setup phase

      duration:

      0.00024943193420767784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004177442751824856
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_readable.py
      lineno: 53
      message: AssertionError: assert '6 months' == '5 months'
      
        - 5 months
        ? ^
        + 6 months
        ? ^
      

      traceback:

      -   path: tests/test_utils_readable.py
        lineno: 53
        message: AssertionError
      

      longrepr:

      seconds = 15462882.959999999, expected = '5 months'
      
          @pytest.mark.parametrize("seconds, expected", [
      
              (59.4, "59 seconds"),
              (59.9, "59 seconds"),
              (119.9, "120 seconds"),
              (120.1, "2 minutes"),
      
              (3599.4, "59 minutes"),
              (3599.9, "60 minutes"),
              (3600.1, "1 hour"),
              (7199.9, "119 minutes"),
              (7200.1, "2 hours"),
      
              (90.4, "90 seconds"),
              (90.6, "91 seconds"),
              (121.9, "2 minutes"),
              (3659.9, "60 minutes"),
              (3660.1, "1 hour"),
      
              (2629746 * 0.5, "15 days"),
              (2629746 * 0.9, "27 days"),
              (2629746 * 1.0, "1 month"),
              (2629746 * 1.1, "1 month"),
              (2629746 * 1.5, "1 month"),
              (2629746 * 1.9, "1 month"),
              (2629746 * 2.0, "2 months"),
              (2629746 * 2.1, "2 months"),
      
              (31556904 * 0.9, "9 months"),
              (31556904 * 1.0, "1 year"),
              (31556904 * 1.1, "1 year"),
              (31556904 * 1.5, "1 year"),
              (31556904 * 1.9, "1 year"),
              (31556904 * 2.0, "2 years"),
              (31556904 * 2.1, "2 years"),
      
              (2629746 * 1.99, "1 month"),
              (2629746 * 2.01, "2 months"),
              (31556904 * 1.99, "1 year"),
              (31556904 * 2.01, "2 years"),
      
              (2629746 * 11.9, "11 months"),
              (2629746 * 12.1, "1 year"),
              (31556904 * 0.1, "1 month"),
              (31556904 * 0.49, "5 months")
      
          ])
      
          def test_rounding_cases(seconds, expected):
      >       assert readable_seconds(seconds) == expected
      E       AssertionError: assert '6 months' == '5 months'
      E         
      E         - 5 months
      E         ? ^
      E         + 6 months
      E         ? ^
      
      tests/test_utils_readable.py:53: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018566707149147987
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_float_alignment_in_bar

    • Test 383

      📌 Setup phase

      duration:

      0.00012515811249613762
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012516872957348824
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_tqdm_mod.py
      lineno: 130
      message: assert 2 == 1
       +  where 2 = len({50, 65})
       +    where {50, 65} = set([50, 65, 65, 65, 65])
      

      traceback:

      -   path: tests/test_utils_tqdm_mod.py
        lineno: 130
        message: AssertionError
      

      longrepr:

      def test_float_alignment_in_bar():
              # Capture the tqdm output into a string buffer
              f = io.StringIO()
              with redirect_stdout(f):
                  bar = tqdm_mod(total=100.12, desc="AlignBar", file=f, miniters=1, mininterval=0)
                  bar.set(1.3333)
                  bar.set(12.5)
                  bar.set(99.89)
                  bar.set(100.12)
                  bar.close()
      
              # Extract lines containing the label
              lines = extract_lines(f.getvalue(), "AlignBar")
      
              # Expected formatted values using format_sizeof
              expected_values = [
                  "1.3/100.1",
                  "12.5/100.1",
                  "99.9/100.1",
                  "100.1/100.1",
              ]
      
              # Extract the actual padded float/total strings from the full lines
              values = []
              for line in lines:
                  match = re.search(r"(\d{1,3}\.\d)/100\.1", line)
                  if match:
                      values.append(match.group(0))
      
              # Ensure raw 100.12 never appears : format_sizeof must have truncated it
              assert all("100.12" not in line for line in lines), "Unrounded value '100.12' found in output!"
      
              # Check all expected values appear rounded as expected by format_sizeof
              for expected in expected_values:
                  assert expected in values, f"Missing expected value: {expected}"
      
              # Check that all values are visually aligned, output with same length, to ensure that format_sizeof add the good number avec spaces
              print("\n")
              bar_segments = []
              for line in lines:
                  match = re.search(r".*?\]", line)
                  if match:
                      bar_segments.append(match.group(0))
                      print(match.group(0))
      
              lengths = [len(seg) for seg in bar_segments]
      >       assert len(set(lengths)) == 1
      E       assert 2 == 1
      E        +  where 2 = len({50, 65})
      E        +    where {50, 65} = set([50, 65, 65, 65, 65])
      
      tests/test_utils_tqdm_mod.py:130: AssertionError
      

      📌 Teardown phase

      duration:

      0.00014977902173995972
      

      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:
      []
      
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:
    []
    
tests (34 tests)
  • tests
    • Outcome: passed
    • result:
    -   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_debug.py
      type: Module
    -   nodeid: tests/test_utils_dictext.py
      type: Module
    -   nodeid: tests/test_utils_dotdir.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_hastyepics.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_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_npy.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_rangebar.py
      type: Module
    -   nodeid: tests/test_utils_readable.py
      type: Module
    -   nodeid: tests/test_utils_sendmail.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_utils_argfwd.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst0-2-expected0]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst1-1-expected1]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst2-0-expected2]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a0-b0-expected0]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a1-b1-expected1]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a2-b2-expected2]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a0-b0-expected0]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a1-b1-expected1]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a2-b2-expected2]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos0-expected_names0]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos1-expected_names1]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos2-expected_names2]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw0-expected_keys0-expected_defaults0]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw1-expected_keys1-expected_defaults1]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw2-expected_keys2-expected_defaults2]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos0-kw0-(x, y, z=3)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos1-kw1-(a, b=1, c=2)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos2-kw2-(flag=False)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos0-expected_kw0]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos2-expected_kw2]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_all-(a, b, d=30, c=10)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_skip-(a, b, c=10, d=20)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_ignore_all-(x, y, c=10, d=20)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args0-kwargs0-36]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args1-kwargs1-11]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_skip-args2-kwargs2-10]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_ignore_all-args3-kwargs3-10]
        type: Function
        lineno: 112
      
    • 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_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_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_hastyepics.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_instantiation_fast_vs_epics
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_without_suffix_and_dot
        type: Function
        lineno: 38
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_invalid_name_raises
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_init_list_has_no_disabled
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_initializes_device_attrs
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_pv_connection_skipped_by_default
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_adds_all_extras_pvs
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_PV_method_exists_and_works
        type: Function
        lineno: 109
      
    • 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_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_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_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 123
      
    • 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:
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[25.0-\u2588\u2588\u258c       -\x1b[32m-PV "TEST:PV" at 25.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[50.0-\u2588\u2588\u2588\u2588\u2588     -\x1b[32m-PV "TEST:PV" at 50.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[75.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  -\x1b[32m-PV "TEST:PV" at 75.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[100.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588-\x1b[32m-PV "TEST:PV" at 100.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[150.0->>>>>>>>>>-\x1b[31m-PV "TEST:PV" at 150.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[-50.0-<<<<<<<<<<-\x1b[31m-PV "TEST:PV" at -50.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_use_callback_context_manager
        type: Function
        lineno: 73
      
    • tests/test_utils_rangebar.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_rangebar.py::test_full_progress_bar
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_rangebar.py::test_half_progress_bar
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_rangebar.py::test_zero_progress_bar
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_rangebar.py::test_overflow_bar
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_rangebar.py::test_underflow_bar
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_rangebar.py::test_repr
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[0-          ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[10-\u2588         ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[25-\u2588\u2588\u258c       ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[27-\u2588\u2588\u258a       ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[49-\u2588\u2588\u2588\u2588\u2589     ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[50-\u2588\u2588\u2588\u2588\u2588     ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[51-\u2588\u2588\u2588\u2588\u2588\u258f    ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e  ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588]
        type: Function
        lineno: 89
      
    • tests/test_utils_readable.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59.4-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59.9-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[119.9-120 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[120.1-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3599.4-59 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3599.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3600.1-1 hour]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[7199.9-119 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[7200.1-2 hours]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[90.4-90 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[90.6-91 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[121.9-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3659.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3660.1-1 hour]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[1314873.0-15 days]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2366771.4-27 days]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2629746.0-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2892720.6-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3944619.0-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[4996517.399999999-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5259492.0-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5522466.600000001-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[28401213.6-9 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31556904.0-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[34712594.400000006-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[47335356.0-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59958117.599999994-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[63113808.0-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[66269498.400000006-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5233194.54-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5285789.459999999-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[62798238.96-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[63429377.03999999-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31293977.400000002-11 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31819926.599999998-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3155690.4000000004-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[15462882.959999999-5 months]
        type: Function
        lineno: 3
      
    • tests/test_utils_sendmail.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_sendmail.py::test_sendmail_real_local_verbose
        type: Function
        lineno: 70
      
    • 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: 132
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_above_total
        type: Function
        lineno: 146
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_below_zero
        type: Function
        lineno: 163
      
    • 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: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

Warnings nº1
message: invalid escape sequence \-
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py
lineno: 207
Warnings nº2
message: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py
lineno: 28
Warnings nº3
message: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py
lineno: 3154
Warnings nº4
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