Clone
1
run 1562 TEST commit 7051d58
ci-bot edited this page 2025-08-04 12:14:35 +00:00

Test Report

View CI Run 1562 | Commit 7051d58

🧪 Test Report

Generated on 2025-08-04 14:14:30 CEST

🧾 General Info

  • duration: 57.95630168914795
  • 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.0006459350697696209
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017997855320572853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002674008719623089
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015091383829712868
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016111601144075394
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016451627016067505
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015885615721344948
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014996714890003204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001556091010570526
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013554096221923828
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017002271488308907
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000136692076921463
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014795083552598953
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001611257903277874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015199603512883186
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001422627829015255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015096599236130714
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013704178854823112
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015626102685928345
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016363384202122688
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013366015627980232
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001579970121383667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015180697664618492
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021145306527614594
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014236290007829666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015327800065279007
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001547359861433506
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015832483768463135
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001654280349612236
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001480868086218834
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014109909534454346
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014961091801524162
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001822086051106453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001568780280649662
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001739892177283764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001469496637582779
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016361894086003304
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016232533380389214
      

      outcome:

      passed
      

    Function: test_get_args_parametrized

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002601742744445801
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019935518503189087
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001608557067811489
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004966678097844124
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020667491480708122
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015715928748250008
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000264572910964489
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001777932047843933
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017169397324323654
      

      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 0x7fa65b0f4ee0>
        expected_sig: (a, b, d=30, c=10)
      id: wrap_all-(a, b, d=30, c=10)
      

      📌 Setup phase

      duration:

      0.0002213427796959877
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001601218245923519
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013742782175540924
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022502290084958076
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001714080572128296
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013765506446361542
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002104337327182293
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001602116972208023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013343803584575653
      

      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 0x7fa65b0f4ee0>
        args:
          - 1
          - 2
          - 3
        kwargs:
      {}
        expected_result: 36
      id: wrap_all-args0-kwargs0-36
      

      📌 Setup phase

      duration:

      0.0003082668408751488
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013959966599941254
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001635211519896984
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003139181062579155
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001382916234433651
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016145594418048859
      

      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 0x7fa65b0f4f70>
        args:
          - (vide)
          - (vide)
        kwargs:
          c: 3
          d: 4
        expected_result: 10
      id: wrap_skip-args2-kwargs2-10
      

      📌 Setup phase

      duration:

      0.00029352400451898575
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013523828238248825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017609912902116776
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00030164793133735657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013759126886725426
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017335498705506325
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007523312233388424
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018912320956587791
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006288117729127407
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019313208758831024
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005327318795025349
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018262723460793495
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005152258090674877
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018801679834723473
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005299737676978111
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001959512010216713
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000620122067630291
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018573319539427757
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005557071417570114
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018275994807481766
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00050320103764534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017961906269192696
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004994161427021027
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017438875511288643
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005936650559306145
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017900625243782997
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000501624308526516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001844167709350586
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004914351738989353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019563408568501472
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005186791531741619
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002725641243159771
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004996047355234623
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017749005928635597
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000494576059281826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020071910694241524
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005078846588730812
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019034510478377342
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00061055738478899
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019051600247621536
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004898309707641602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017637480050325394
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005469960160553455
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001771189272403717
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005622338503599167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018537510186433792
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006548943929374218
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018343469128012657
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005319016054272652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018831808120012283
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005553178489208221
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001845373772084713
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006033782847225666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018324702978134155
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000499185174703598
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018478604033589363
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004933099262416363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018323492258787155
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005155568942427635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018289778381586075
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006040581502020359
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018336297944188118
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005096020177006721
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019392697140574455
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005315388552844524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019160425290465355
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005546971224248409
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001859636977314949
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005905469879508018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018112175166606903
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005520549602806568
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018907291814684868
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005155950784683228
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001900186762213707
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006432081572711468
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017681904137134552
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005279830656945705
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000192894134670496
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005307309329509735
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017772382125258446
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005929409526288509
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020417245104908943
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005657710134983063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021314388141036034
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005807853303849697
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019896496087312698
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 69

      📌 Setup phase

      duration:

      0.00012355484068393707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009727892465889454
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012315809726715088
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 70

      📌 Setup phase

      duration:

      0.00012594787403941154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005685198120772839
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011577783152461052
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 71

      📌 Setup phase

      duration:

      0.00011351006105542183
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007399106398224831
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011872127652168274
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016124127432703972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001598442904651165
      

      outcome:

      passed
      
    • Test 73
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00018070125952363014
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015635276213288307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001266002655029297
      

      outcome:

      passed
      
    • Test 74
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.00017724325880408287
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015453295782208443
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001297602429986
      

      outcome:

      passed
      
    • Test 75
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.00017273519188165665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014923885464668274
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012816116213798523
      

      outcome:

      passed
      
    • Test 76
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.00017038220539689064
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025295699015259743
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001212279312312603
      

      outcome:

      passed
      
    • Test 77
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.00017802882939577103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015222281217575073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001209210604429245
      

      outcome:

      passed
      
    • Test 78
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.00016667088493704796
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001505720429122448
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011834688484668732
      

      outcome:

      passed
      
    • Test 79
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.00017185229808092117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014891615137457848
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012284331023693085
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023982301354408264
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026150280609726906
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023077009245753288
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002424563281238079
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021184608340263367
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002481010742485523
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021931901574134827
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024655694141983986
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022962875664234161
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024453969672322273
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021355273202061653
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002493257634341717
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023259269073605537
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023284414783120155
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002149227075278759
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002565369941294193
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021548476070165634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002355719916522503
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021177763119339943
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023503322154283524
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021188706159591675
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002352651208639145
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020823627710342407
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002387971617281437
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023630401119589806
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002346280962228775
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023674080148339272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002374490723013878
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022198446094989777
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002491152845323086
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023775314912199974
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024848291650414467
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009289821609854698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017400924116373062
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007725073955953121
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017172610387206078
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008410383015871048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001781540922820568
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007681502029299736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017143692821264267
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008529159240424633
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017519807443022728
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015048403292894363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015718210488557816
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015962636098265648
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015836581587791443
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001523164100944996
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001665530726313591
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001363907940685749
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016272300854325294
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015587499365210533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000154844019562006
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015637697651982307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015146471560001373
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014447467401623726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015245890244841576
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013912096619606018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001550726592540741
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013861292973160744
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014806678518652916
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018153991550207138
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016278401017189026
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016597984358668327
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015203328803181648
      

      outcome:

      passed
      

    Function: test_attrdict_dir

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022601895034313202
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015561236068606377
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001416192390024662
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022166315466165543
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016256188973784447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001342426985502243
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013899104669690132
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001620831899344921
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001599639654159546
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017182203009724617
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014612684026360512
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016550114378333092
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017412612214684486
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016148900613188744
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014591263607144356
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016679568216204643
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013943901285529137
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017293496057391167
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014495011419057846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001705666072666645
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002732081338763237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001719207502901554
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 124

      📌 Setup phase

      duration:

      0.0013389289379119873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027090078219771385
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022545363754034042
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 125

      📌 Setup phase

      duration:

      0.0005756416358053684
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000228008721023798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002019503153860569
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 126

      📌 Setup phase

      duration:

      0.0006332932971417904
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002361559309065342
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020490586757659912
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017943419516086578
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014602020382881165
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015711085870862007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001751091331243515
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015854835510253906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015710573643445969
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015247706323862076
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001469617709517479
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001566559076309204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000135072972625494
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022270623594522476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017277291044592857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013894680887460709
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021342607215046883
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014871591702103615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001410958357155323
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016082683578133583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013398891314864159
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016807205975055695
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013710884377360344
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002453010529279709
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016266386955976486
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001366068609058857
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001659868285059929
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014251191169023514
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001687072217464447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001450181007385254
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021868012845516205
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015271268784999847
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001389002427458763
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021521979942917824
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015516998246312141
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014650123193860054
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017127394676208496
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014181295409798622
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000161697156727314
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013358518481254578
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001560719683766365
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001407349482178688
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023597897961735725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014850404113531113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013636890798807144
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016182893887162209
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014626514166593552
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015404634177684784
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013259565457701683
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036594783887267113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001402958296239376
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000365688931196928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001478157937526703
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003636251203715801
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014713406562805176
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003307298757135868
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013982271775603294
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034500984475016594
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001407889649271965
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018165120854973793
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001347297802567482
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003443523310124874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016266806051135063
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034037791192531586
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015467684715986252
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018074223771691322
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014103204011917114
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017511798068881035
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013771001249551773
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016052881255745888
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013720430433750153
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001594163477420807
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015452317893505096
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015650596469640732
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014383578673005104
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016823597252368927
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014858273789286613
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015829317271709442
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015180232003331184
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001780930906534195
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001507173292338848
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015885243192315102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001554572954773903
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015231594443321228
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015984009951353073
      

      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 0x7fa65b1ee4c0>
        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.00023623276501893997
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001595369540154934
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001468658447265625
      

      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 0x7fa65b1ee5e0>
        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.00022469600662589073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001460779458284378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013934029266238213
      

      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 0x7fa65b1ee670>
        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.00021795881912112236
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014896271750330925
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014223484322428703
      

      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 0x7fa65b1ee700>
        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.00021801376715302467
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015492411330342293
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014213798567652702
      

      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 0x7fa65b1ee790>
        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.00022138189524412155
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001579481177031994
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013730488717556
      

      outcome:

      passed
      

    Function: test_printed_exception

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000707860104739666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.007398237939924002
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000429350882768631
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005910890176892281
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005937208887189627
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004510306753218174
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005674520507454872
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.012713231146335602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00042434781789779663
      

      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 0x7fa65b1ee700>
        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.0005645928904414177
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014986377209424973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00040481705218553543
      

      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 0x7fa65b1ee790>
        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.0005424558185040951
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013624588027596474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0005145808681845665
      

      outcome:

      passed
      
  • 📄 test_utils_get_adj.py

    Function: test_get_adj_success

    • Test 175

      📌 Setup phase

      duration:

      0.00012946594506502151
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000668209046125412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012740399688482285
      

      outcome:

      passed
      

    Function: test_get_adj_not_found

    • Test 176

      📌 Setup phase

      duration:

      0.0005305758677423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000952940434217453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004018540494143963
      

      outcome:

      passed
      

    Function: test_ensure_adjs_mixed

    • Test 177

      📌 Setup phase

      duration:

      0.00013155117630958557
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007480969652533531
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012128474190831184
      

      outcome:

      passed
      

    Function: test_get_adjs_filter

    • Test 178

      📌 Setup phase

      duration:

      0.00011277478188276291
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009651710279285908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012552691623568535
      

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_invalid_name_raises

    • Test 181

      📌 Setup phase

      duration:

      0.00013755075633525848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002467022277414799
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011869007721543312
      

      outcome:

      passed
      

    Function: test_motor_init_list_has_no_disabled

    • Test 182

      📌 Setup phase

      duration:

      0.00011276500299572945
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001446455717086792
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010590208694338799
      

      outcome:

      passed
      

    Function: test_motor_pv_connection_skipped_by_default

    • Test 184

      📌 Setup phase

      duration:

      0.00011777877807617188
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036302441731095314
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012695183977484703
      

      outcome:

      passed
      

    Function: test_motor_adds_all_extras_pvs

    • Test 185

      📌 Setup phase

      duration:

      0.00011484604328870773
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034316210076212883
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010649207979440689
      

      outcome:

      passed
      

    Function: test_motor_PV_method_exists_and_works

    • Test 186

      📌 Setup phase

      duration:

      0.00011039804667234421
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002996749244630337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012199021875858307
      

      outcome:

      passed
      
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 187

      📌 Setup phase

      duration:

      0.0007187770679593086
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007849801331758499
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026922812685370445
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006196540780365467
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018501514568924904
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042288657277822495
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017377594485878944
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00047105317935347557
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017706211656332016
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036331498995423317
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017800088971853256
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038987817242741585
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000176331028342247
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003893929533660412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018319487571716309
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005053901113569736
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017408514395356178
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005896510556340218
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019155023619532585
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 196

      📌 Setup phase

      duration:

      0.0001334836706519127
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027960631996393204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001182379201054573
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0014027939178049564
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000730111263692379
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023883208632469177
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003902069292962551
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041129300370812416
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021629920229315758
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008978047408163548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026846304535865784
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004841550253331661
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024176202714443207
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 202

      📌 Setup phase

      duration:

      0.0002487027086317539
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004101353697478771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016821874305605888
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 203

      📌 Setup phase

      duration:

      0.00028048083186149597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038212118670344353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017960090190172195
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 204

      📌 Setup phase

      duration:

      0.00023415498435497284
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043049920350313187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017825281247496605
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 205

      📌 Setup phase

      duration:

      0.00014693103730678558
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002103140577673912
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010665040463209152
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 206

      📌 Setup phase

      duration:

      0.0001173526979982853
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005602750927209854
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014108000323176384
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.020408252254128456
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022582104429602623
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039461394771933556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019635958597064018
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040029920637607574
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001935260370373726
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003322320990264416
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019834702834486961
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003341720439493656
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002056863158941269
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003503849729895592
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019075907766819
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003474312834441662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001921732909977436
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003418796695768833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002587302587926388
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003442689776420593
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019777286797761917
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038617197424173355
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021741772070527077
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035645393654704094
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019635632634162903
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003482941538095474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019990094006061554
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003423909656703472
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020946376025676727
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004498460330069065
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020578410476446152
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036059506237506866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019839033484458923
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014843279495835304
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017036031931638718
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014616502448916435
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017825840041041374
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015033269301056862
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017335126176476479
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001393272541463375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016437983140349388
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014029955491423607
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017981184646487236
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003149108961224556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001760539598762989
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002526119351387024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017350492998957634
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002400428056716919
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018327031284570694
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024741608649492264
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017914175987243652
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001448742114007473
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015557603910565376
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014171330258250237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015064794570207596
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014634709805250168
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016784993931651115
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001597353257238865
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000151083804666996
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015925103798508644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000141895841807127
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013966811820864677
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013353722169995308
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013862689957022667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015662983059883118
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020074797794222832
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015194574370980263
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022640032693743706
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014160014688968658
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014025717973709106
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015310384333133698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014919182285666466
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013735424727201462
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014418410137295723
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022426573559641838
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013708323240280151
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013861805200576782
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 258

      📌 Setup phase

      duration:

      0.00012632273137569427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006817290559411049
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011761905625462532
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 259

      📌 Setup phase

      duration:

      0.00012651784345507622
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004223128780722618
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011030584573745728
      

      outcome:

      passed
      

    Function: test_make_missing_dir_creates_folder

    • Test 260

      📌 Setup phase

      duration:

      0.00012547196820378304
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005036750808358192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013876473531126976
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 261

      📌 Setup phase

      duration:

      0.00011371728032827377
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010909736156463623
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012786732986569405
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 262

      📌 Setup phase

      duration:

      0.0001146271824836731
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007630721665918827
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012367917224764824
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003895210102200508
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001634480431675911
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003255610354244709
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001628343015909195
      

      outcome:

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

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005286149680614471
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000272905919700861
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017623882740736008
      

      outcome:

      passed
      
    • Test 266
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.0005787699483335018
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029572704806923866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015307916328310966
      

      outcome:

      passed
      
    • Test 267
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.0005427920259535313
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033683283254504204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015640072524547577
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028308434411883354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016914540901780128
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003048521466553211
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001748497597873211
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019624130800366402
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001482130028307438
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022310391068458557
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001749582588672638
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021831505000591278
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001478111371397972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001483820378780365
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000148736871778965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001438758336007595
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013842713087797165
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014149630442261696
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021648826077580452
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001467759720981121
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013470696285367012
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002195201814174652
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015299813821911812
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013771513476967812
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002370346337556839
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014817900955677032
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001409691758453846
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001367819495499134
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001327977515757084
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000140500720590353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013779709115624428
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001344350166618824
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014075683429837227
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022841710597276688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013710325583815575
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001316126435995102
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015598395839333534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022367900237441063
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015866709873080254
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014784559607505798
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014730123803019524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001409389078617096
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001497305929660797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014316337183117867
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015089614316821098
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013604015111923218
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001483159139752388
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001380443572998047
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015019206330180168
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013732491061091423
      

      outcome:

      passed
      
    • Test 289

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002476968802511692
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014078011736273766
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015487615019083023
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001370641402900219
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001367270015180111
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014937901869416237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015801377594470978
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013653701171278954
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015928177163004875
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014991499483585358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014815479516983032
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023889029398560524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002708439715206623
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015815114602446556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016249995678663254
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014683697372674942
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015046307817101479
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014854595065116882
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016356166452169418
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015874532982707024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016718031838536263
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001569800078868866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016195420175790787
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019472604617476463
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016175583004951477
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001469990238547325
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017553195357322693
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015488313511013985
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001598321832716465
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015586894005537033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001593269407749176
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00025387993082404137
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014690682291984558
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015075597912073135
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002761278301477432
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014455197378993034
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001505240797996521
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022778380662202835
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017746398225426674
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 307

      📌 Setup phase

      duration:

      0.00011109095066785812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022058701142668724
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010103266686201096
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003240741789340973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016316771507263184
      

      outcome:

      passed
      
  • 📄 test_utils_pv.py

    Function: test_use_callback_context_manager

    • Test 315

      📌 Setup phase

      duration:

      0.00048801442608237267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016993703320622444
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001699109561741352
      

      outcome:

      passed
      
  • 📄 test_utils_rangebar.py

    Function: test_full_progress_bar

    • Test 316

      📌 Setup phase

      duration:

      0.00030682794749736786
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021569477394223213
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017082085832953453
      

      outcome:

      passed
      

    Function: test_half_progress_bar

    • Test 317

      📌 Setup phase

      duration:

      0.0002622888423502445
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000193839892745018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016510114073753357
      

      outcome:

      passed
      

    Function: test_zero_progress_bar

    • Test 318

      📌 Setup phase

      duration:

      0.0002621258608996868
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019510602578520775
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015703774988651276
      

      outcome:

      passed
      

    Function: test_overflow_bar

    • Test 319

      📌 Setup phase

      duration:

      0.00026985304430127144
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018458906561136246
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016255304217338562
      

      outcome:

      passed
      

    Function: test_underflow_bar

    • Test 320

      📌 Setup phase

      duration:

      0.0002580080181360245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017632171511650085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001607281155884266
      

      outcome:

      passed
      

    Function: test_repr

    • Test 321

      📌 Setup phase

      duration:

      0.00011266162618994713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014223111793398857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.646406397223473e-05
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020682625472545624
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020028883591294289
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019951583817601204
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019511301070451736
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018322421237826347
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019094767048954964
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018732156604528427
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020049279555678368
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019463477656245232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001836107112467289
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001893802545964718
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001855660229921341
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018769176676869392
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001977561041712761
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019795680418610573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018562283366918564
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019082287326455116
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001851879060268402
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019419612362980843
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019640382379293442
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019034184515476227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001925090327858925
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001595369540154934
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014983303844928741
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016040215268731117
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014064926654100418
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001392182894051075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013724900782108307
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001462460495531559
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001376899890601635
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014619389548897743
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013902690261602402
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016093207523226738
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001375279389321804
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014560390263795853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013235071673989296
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014046207070350647
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013531791046261787
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014773616567254066
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001375088468194008
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014429399743676186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014898600056767464
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000150325708091259
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001390799880027771
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015572737902402878
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013826088979840279
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014885002747178078
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000138875562697649
      

      outcome:

      passed
      
  • 📄 test_utils_sendmail.py

    Function: test_sendmail_real_local_verbose

    • Test 370

      📌 Setup phase

      duration:

      0.00012355763465166092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.6196766630746424
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002480698749423027
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008723177015781403
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019928067922592163
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046703824773430824
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016146432608366013
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027897581458091736
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014209188520908356
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015375996008515358
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005809012800455093
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016954774037003517
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00028128596022725105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005538943223655224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016553513705730438
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027467915788292885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005579860880970955
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016948534175753593
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002751266583800316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005588228814303875
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016508577391505241
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002810051664710045
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005761547945439816
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017128325998783112
      

      outcome:

      passed
      
  • 📄 test_utils_termtitle.py

    Function: test_terminal_title_with_tmux

    • Test 379

      📌 Setup phase

      duration:

      0.00012853415682911873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01680160267278552
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021203001961112022
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_complete_progress_bar

    • Test 380

      📌 Setup phase

      duration:

      0.00015524309128522873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.007997524924576283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001360587775707245
      

      outcome:

      passed
      

    Function: test_set_progress_multiple_points

    • Test 381

      📌 Setup phase

      duration:

      0.00013268180191516876
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001384309958666563
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012549711391329765
      

      outcome:

      passed
      

    Function: test_format_sizeof_alignment

    • Test 382

      📌 Setup phase

      duration:

      0.00011689634993672371
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001529310829937458
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.922916069626808e-05
      

      outcome:

      passed
      

    Function: test_custom_unit

    • Test 384

      📌 Setup phase

      duration:

      0.00013147713616490364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004721337929368019
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011277291923761368
      

      outcome:

      passed
      

    Function: test_clamp_above_total

    • Test 385

      📌 Setup phase

      duration:

      0.00011487491428852081
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004313862882554531
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011025136336684227
      

      outcome:

      passed
      

    Function: test_clamp_below_zero

    • Test 386

      📌 Setup phase

      duration:

      0.00011383974924683571
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000535700935870409
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011972477659583092
      

      outcome:

      passed
      
  • 📄 test_utils_trinary.py

    Function: test_check_trinary_valid_values

    • Test 387

      📌 Setup phase

      duration:

      0.00012161675840616226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001650489866733551
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010011391714215279
      

      outcome:

      passed
      

    Function: test_check_trinary_invalid_value

    • Test 388

      📌 Setup phase

      duration:

      0.00011232122778892517
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003827819600701332
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010730605572462082
      

      outcome:

      passed
      

    Function: test_check_trinary_with_custom_allowed_values

    • Test 389

      📌 Setup phase

      duration:

      0.00010560592636466026
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015524821355938911
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011088000610470772
      

      outcome:

      passed
      
  • 📄 test_utils_typecast.py

    Function: test_downcast_success

    • Test 390

      📌 Setup phase

      duration:

      0.00012395810335874557
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016908394172787666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011281808838248253
      

      outcome:

      passed
      

    Function: test_upcast_success

    • Test 391

      📌 Setup phase

      duration:

      0.0001053190790116787
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014685280621051788
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010524969547986984
      

      outcome:

      passed
      

    Function: test_downcast_invalid

    • Test 392

      📌 Setup phase

      duration:

      0.00010614609345793724
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031029386445879936
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011397991329431534
      

      outcome:

      passed
      

    Function: test_upcast_invalid

    • Test 393

      📌 Setup phase

      duration:

      0.00010361196473240852
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015922682359814644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.835092350840569e-05
      

      outcome:

      passed
      

    Function: test_object_identity_preserved

    • Test 394

      📌 Setup phase

      duration:

      0.0001057162880897522
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013709533959627151
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.759608656167984e-05
      

      outcome:

      passed
      

    Function: test_ensure_subclass_valid

    • Test 395

      📌 Setup phase

      duration:

      0.00010100007057189941
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012668920680880547
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.484868496656418e-05
      

      outcome:

      passed
      

    Function: test_ensure_subclass_invalid

    • Test 396

      📌 Setup phase

      duration:

      0.00011147791519761086
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001595187932252884
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.74070280790329e-05
      

      outcome:

      passed
      

    Function: test_cast_changes_class

    • Test 397

      📌 Setup phase

      duration:

      0.0001104520633816719
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001489291898906231
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.555323049426079e-05
      

      outcome:

      passed
      

    Function: test_cast_preserves_identity

    • Test 398

      📌 Setup phase

      duration:

      0.00010140519589185715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012943614274263382
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.62158665060997e-05
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 399

      📌 Setup phase

      duration:

      0.00010824110358953476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015386007726192474
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.89176332950592e-05
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 400

      📌 Setup phase

      duration:

      0.00010109227150678635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012329313904047012
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.525008499622345e-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.0002910434268414974
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016145594418048859
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000144303310662508
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022051576524972916
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001342780888080597
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001452229917049408
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023360410705208778
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001377440057694912
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001332620158791542
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013925926759839058
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013572396710515022
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002191290259361267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013163406401872635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001337011344730854
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013278890401124954
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013197027146816254
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013267388567328453
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013144081458449364
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001322091557085514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013700313866138458
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001328950747847557
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001379069872200489
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00020880158990621567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021290499716997147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015176599845290184
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022141123190522194
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014182087033987045
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013655005022883415
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002151457592844963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001464388333261013
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013838289305567741
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001422148197889328
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014012865722179413
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013550417497754097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013191578909754753
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013746879994869232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014015892520546913
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013342499732971191
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013955775648355484
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022713886573910713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013332488015294075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013136118650436401
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022503314539790154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013343198224902153
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001344294287264347
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00020623765885829926
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012869806960225105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013761688023805618
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013905391097068787
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001335139386355877
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013277633115649223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001314091496169567
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022064708173274994
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000134320929646492
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014244811609387398
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014074891805648804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015079276636242867
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014698784798383713
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015087611973285675
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013197492808103561
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001461310312151909
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013972586020827293
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013684388250112534
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013727229088544846
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000132828950881958
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001387437805533409
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013578403741121292
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013549672439694405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000134345144033432
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016806414350867271
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014550099149346352
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015798769891262054
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001308736391365528
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001549231819808483
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015274668112397194
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001681712456047535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015318812802433968
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006819884292781353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018275203183293343
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015822798013687134
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015589594841003418
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001388341188430786
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014839880168437958
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015652785077691078
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015210499987006187
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014973804354667664
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015417393296957016
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004186131991446018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0006213546730577946
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009121489711105824
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005791238509118557
      

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

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_instantiation_fast_vs_epics

    • Test 179

      📌 Setup phase

      duration:

      0.0001311618834733963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.10124102979898453
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py
      lineno: 37
      message: AssertionError: Fast version (0.009561s) should be faster than EPICS (0.000259s)
      assert 0.009560896502807736 < 0.00025905431248247625
      

      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.009561s) should be faster than EPICS (0.000259s)
      E       assert 0.009560896502807736 < 0.00025905431248247625
      
      tests/test_utils_hastyepics.py:37: AssertionError
      

      📌 Teardown phase

      duration:

      0.0003978768363595009
      

      outcome:

      passed
      

    Function: test_motor_without_suffix_and_dot

    • Test 180

      📌 Setup phase

      duration:

      0.00019460404291749
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0017880918458104134
      

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

      outcome:

      passed
      

    Function: test_motor_initializes_device_attrs

    • Test 183

      📌 Setup phase

      duration:

      0.00011393893510103226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013553728349506855
      

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

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 199

      📌 Setup phase

      duration:

      0.00013571465387940407
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.7682466129772365
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010671308264136314
      

      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 0x7fa65acd83a0>, 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.00025896308943629265
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005464409478008747
      

      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 0x7fa65ad80ee0>, 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.00022105220705270767
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008357432670891285
      

      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 0x7fa65adb9d30>, 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.0002256268635392189
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000491368118673563
      

      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 0x7fa6599ab160>, 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.00036334898322820663
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005814516916871071
      

      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 0x7fa65ad80e50>, 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.0002619810402393341
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005325539968907833
      

      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 0x7fa65a12b670>, 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.0002349461428821087
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004980051890015602
      

      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 0x7fa65b756ca0>, 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.0002466612495481968
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00048553338274359703
      

      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 0x7fa6599ab700>, 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.00023889681324362755
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005618887953460217
      

      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 0x7fa65a12b670>, 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.0002806270495057106
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005426551215350628
      

      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 0x7fa65998cd30>, 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.0002458388917148113
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009719491936266422
      

      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 0x7fa6599b6670>, 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.00022902199998497963
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007990840822458267
      

      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 0x7fa65acd8d30>, 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.00022706063464283943
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005025747232139111
      

      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 0x7fa65a12b3a0>, 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.00024282978847622871
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00049221096560359
      

      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 0x7fa6599b6430>, 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.0002823369577527046
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005313879810273647
      

      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 0x7fa6599c2430>, 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.0002221851609647274
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005977591499686
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa6599c2a60>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.00047684693709015846
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005335360765457
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa6599c2dc0>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.00045934179797768593
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005759289488196
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa6599c23a0>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.0004419749602675438
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000524243339896
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa6599ff9d0>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.000528216827660799
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000533048994839
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa65a1d3820>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.0004740101285278797
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000589585863054
      

      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: 57
        message: None
      -   path: slic/utils/pv.py
        lineno: 18
        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 0x7fa65a1d3790>, 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:57: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py:18: 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.0004728119820356369
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005296440795063972
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041395099833607674
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034974096342921257
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042590871453285217
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040756165981292725
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000345699954777956
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035258522257208824
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035825418308377266
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036326609551906586
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035481108352541924
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035561760887503624
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035073794424533844
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004021031782031059
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003530108369886875
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035815779119729996
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035098474472761154
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035293586552143097
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035467278212308884
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003502592444419861
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003441818989813328
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041869888082146645
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035072071477770805
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003644176758825779
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041955336928367615
      

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

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_float_alignment_in_bar

    • Test 383

      📌 Setup phase

      duration:

      0.00011180294677615166
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012243823148310184
      

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

      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: 42
      -   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: 42
      -   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: 42
      -   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: 42
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[150.0->>>>>>>>>>-\x1b[31m-PV "TEST:PV" at 150.0 units]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[-50.0-<<<<<<<<<<-\x1b[31m-PV "TEST:PV" at -50.0 units]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_pv.py::test_use_callback_context_manager
        type: Function
        lineno: 72
      
    • 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