Clone
1
run 1563 TEST commit 82ba041
ci-bot edited this page 2025-08-04 12:16:25 +00:00

Test Report

View CI Run 1563 | Commit 82ba041

🧪 Test Report

Generated on 2025-08-04 14:16:19 CEST

🧾 General Info

  • duration: 57.75407290458679
  • 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.0006729126907885075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018690386787056923
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002695019356906414
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014484161511063576
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001645428128540516
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013834098353981972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016911188140511513
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014372821897268295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015742704272270203
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013476377353072166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001602168194949627
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014184881001710892
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015664193779230118
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014361320063471794
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001493808813393116
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014811893925070763
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001621120609343052
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013915123417973518
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001682685688138008
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016411207616329193
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013807369396090508
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015730736777186394
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014512613415718079
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021885288879275322
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016322219744324684
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013977289199829102
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016340473666787148
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015343492850661278
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015125982463359833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015576882287859917
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013674702495336533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014700321480631828
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018991529941558838
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001652110368013382
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017385417595505714
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015453482046723366
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001709689386188984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015801610425114632
      

      outcome:

      passed
      

    Function: test_get_args_parametrized

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000279734842479229
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001955907791852951
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001630028709769249
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004877881146967411
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002011801116168499
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016637006774544716
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026742229238152504
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018505286425352097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001606978476047516
      

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

      📌 Setup phase

      duration:

      0.00022334512323141098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000157979317009449
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013714516535401344
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022917287424206734
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001583821140229702
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013861386105418205
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022359704598784447
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014948612079024315
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001353132538497448
      

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

      📌 Setup phase

      duration:

      0.00031382404267787933
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001375149004161358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017565814778208733
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003074607811868191
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013573374599218369
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001724199391901493
      

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

      📌 Setup phase

      duration:

      0.00030597392469644547
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001513427123427391
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016515003517270088
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032013561576604843
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013505108654499054
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016876263543963432
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007636528462171555
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019203685224056244
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006325650028884411
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018753763288259506
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005100797861814499
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001813299022614956
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005269632674753666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017994316294789314
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005480428226292133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018042698502540588
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006304867565631866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018703518435359
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005308869294822216
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001979852095246315
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005104630254209042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001781471073627472
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000524275004863739
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017826678231358528
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005824929103255272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001860959455370903
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005051060579717159
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018552271649241447
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004968550056219101
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018197298049926758
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000507695134729147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00028308387845754623
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005084001459181309
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001808363012969494
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005063079297542572
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017907610163092613
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000497929286211729
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018593808636069298
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005937539972364902
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019197817891836166
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005069100297987461
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017897412180900574
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005447831936180592
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018734578043222427
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000551020260900259
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019880710169672966
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006697820499539375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019918428733944893
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005486439913511276
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018044188618659973
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000550141092389822
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001869751140475273
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006054621189832687
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018606800585985184
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005233176052570343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018069427460432053
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005147862248122692
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018592504784464836
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005121021531522274
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019021565094590187
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005988995544612408
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001934240572154522
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000522376038134098
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018130894750356674
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005339100025594234
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001822030171751976
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005729212425649166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001880447380244732
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006089038215577602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019914470613002777
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005713277496397495
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001824982464313507
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005137627013027668
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019473489373922348
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006294981576502323
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018767314031720161
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005357349291443825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001890501007437706
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005507320165634155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018147798255085945
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005917521193623543
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020293612033128738
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005930541083216667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000200578011572361
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006037256680428982
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019820965826511383
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 69

      📌 Setup phase

      duration:

      0.0001284419558942318
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009659929201006889
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001167692244052887
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 70

      📌 Setup phase

      duration:

      0.00013135280460119247
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005382602103054523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011487305164337158
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 71

      📌 Setup phase

      duration:

      0.00011176289990544319
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007659848779439926
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012163305655121803
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016531208530068398
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001659085974097252
      

      outcome:

      passed
      
    • Test 73
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00018978025764226913
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001550121232867241
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012687314301729202
      

      outcome:

      passed
      
    • Test 74
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.00017599761486053467
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015601608902215958
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013050111010670662
      

      outcome:

      passed
      
    • Test 75
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.0001706327311694622
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001453729346394539
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013781804591417313
      

      outcome:

      passed
      
    • Test 76
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.00017972569912672043
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027402816340327263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013228785246610641
      

      outcome:

      passed
      
    • Test 77
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.0001759626902639866
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001500300131738186
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011918274685740471
      

      outcome:

      passed
      
    • Test 78
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.00016632210463285446
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015034107491374016
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011542532593011856
      

      outcome:

      passed
      
    • Test 79
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.000172498170286417
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001490921713411808
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012472784146666527
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000245898962020874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002593151293694973
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002219812013208866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023632310330867767
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021688221022486687
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024224398657679558
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021612178534269333
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024516088888049126
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023915106430649757
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024029100313782692
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021765287965536118
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024815509095788
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022983411327004433
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000244783703237772
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002181529998779297
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023849215358495712
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021859817206859589
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002415296621620655
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020743999630212784
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023964978754520416
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020910287275910378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023625697940587997
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021107681095600128
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024318695068359375
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024383282288908958
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002488759346306324
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002405792474746704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002389000728726387
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022878777235746384
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002634860575199127
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002318308688700199
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002441960386931896
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010268627665936947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018597673624753952
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008095046505331993
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001734369434416294
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008766199462115765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001935139298439026
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007903212681412697
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017044693231582642
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008558221161365509
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017781229689717293
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014098268002271652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015410780906677246
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016869092360138893
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016632536426186562
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015614507719874382
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001569748856127262
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001369798555970192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001511671580374241
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015949923545122147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015792669728398323
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013710884377360344
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016204919666051865
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013780035078525543
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015132827684283257
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015323003754019737
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015862099826335907
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001363242045044899
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014769099652767181
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017831893637776375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015042908489704132
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017541507259011269
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001544044353067875
      

      outcome:

      passed
      

    Function: test_attrdict_dir

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021431827917695045
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014624185860157013
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001492546871304512
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002189171500504017
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015746010467410088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015370594337582588
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013778218999505043
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016457214951515198
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016614003106951714
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017418386414647102
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014720484614372253
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016276631504297256
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015871785581111908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001772879622876644
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001506260596215725
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017595896497368813
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001426232047379017
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016188016161322594
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000146438367664814
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016343407332897186
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027257995679974556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001852228306233883
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 124

      📌 Setup phase

      duration:

      0.001341956201940775
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026563508436083794
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021573388949036598
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 125

      📌 Setup phase

      duration:

      0.0006311549805104733
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023016100749373436
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021340185776352882
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 126

      📌 Setup phase

      duration:

      0.0006271637976169586
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023277290165424347
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021847710013389587
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019883504137396812
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001506982371211052
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016864296048879623
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014193076640367508
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015505170449614525
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014608586207032204
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016184011474251747
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014528073370456696
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015494879335165024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001538451761007309
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021674064919352531
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001649581827223301
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014700787141919136
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021500000730156898
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014938274398446083
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001409808173775673
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017032818868756294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014079082757234573
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017094286158680916
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014363229274749756
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002235141582787037
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001545678824186325
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001406497322022915
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017799204215407372
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015006307512521744
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001660902053117752
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001361491158604622
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023094099014997482
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015504518523812294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001626848243176937
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022263824939727783
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016387132927775383
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001437608152627945
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016025360673666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014600716531276703
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017727818340063095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014621997252106667
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001557040959596634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013346783816814423
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002249768003821373
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001550489105284214
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001437370665371418
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001528169959783554
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013678986579179764
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015652598813176155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013687321916222572
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038561969995498657
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015079788863658905
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003704242408275604
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015129894018173218
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003590257838368416
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015624240040779114
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000359139870852232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015114108100533485
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003229859285056591
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001368480734527111
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018659699708223343
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001381360925734043
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003367229364812374
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001535988412797451
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003449651412665844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014903303235769272
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018773088231682777
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013617007061839104
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017784303054213524
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013772491365671158
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016326084733009338
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000139633659273386
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015628337860107422
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015815207734704018
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015564681962132454
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000149622093886137
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001602410338819027
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013741618022322655
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016709230840206146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015818793326616287
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001606978476047516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001584310084581375
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015333900228142738
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001562279649078846
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016020517796278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015064002946019173
      

      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 0x7fe4b2a8f4c0>
        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.00024366704747080803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001598321832716465
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014209607616066933
      

      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 0x7fe4b2a8f5e0>
        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.00021387310698628426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014495989307761192
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000151017215102911
      

      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 0x7fe4b2a8f670>
        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.00022336933761835098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016601476818323135
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001354152336716652
      

      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 0x7fe4b2a8f700>
        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.0002299160696566105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015330873429775238
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014285696670413017
      

      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 0x7fe4b2a8f790>
        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.00023568607866764069
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015576602891087532
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013715634122490883
      

      outcome:

      passed
      

    Function: test_printed_exception

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0007176962681114674
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015505710616707802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004536719061434269
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005812100134789944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0020445920526981354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00043730298057198524
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000533882062882185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.008077788166701794
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004280749708414078
      

      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 0x7fe4b2a8f700>
        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.0005762609653174877
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0019284719601273537
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004341308958828449
      

      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 0x7fe4b2a8f790>
        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.0005649328231811523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001186311710625887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00045329704880714417
      

      outcome:

      passed
      
  • 📄 test_utils_get_adj.py

    Function: test_get_adj_success

    • Test 175

      📌 Setup phase

      duration:

      0.00012684613466262817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006906967610120773
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011785700917243958
      

      outcome:

      passed
      

    Function: test_get_adj_not_found

    • Test 176

      📌 Setup phase

      duration:

      0.0004665488377213478
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009598536416888237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00039999978616833687
      

      outcome:

      passed
      

    Function: test_ensure_adjs_mixed

    • Test 177

      📌 Setup phase

      duration:

      0.00013191299512982368
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007092412561178207
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001217336393892765
      

      outcome:

      passed
      

    Function: test_get_adjs_filter

    • Test 178

      📌 Setup phase

      duration:

      0.00011536385864019394
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008827289566397667
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011724885553121567
      

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_invalid_name_raises

    • Test 181

      📌 Setup phase

      duration:

      0.00012757210060954094
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002521248534321785
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011106627061963081
      

      outcome:

      passed
      

    Function: test_motor_init_list_has_no_disabled

    • Test 182

      📌 Setup phase

      duration:

      0.00012946315109729767
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001628100872039795
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010513421148061752
      

      outcome:

      passed
      

    Function: test_motor_pv_connection_skipped_by_default

    • Test 184

      📌 Setup phase

      duration:

      0.00012084841728210449
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035877199843525887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010916590690612793
      

      outcome:

      passed
      

    Function: test_motor_adds_all_extras_pvs

    • Test 185

      📌 Setup phase

      duration:

      0.00011421088129281998
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003498340956866741
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011468818411231041
      

      outcome:

      passed
      

    Function: test_motor_PV_method_exists_and_works

    • Test 186

      📌 Setup phase

      duration:

      0.00010908907279372215
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034649623557925224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001224367879331112
      

      outcome:

      passed
      
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 187

      📌 Setup phase

      duration:

      0.0007048137485980988
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008027511648833752
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002667461521923542
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006390269845724106
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018818583339452744
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039983121678233147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018520699813961983
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042422302067279816
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001752949319779873
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038720713928341866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001741647720336914
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038795219734311104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017526699230074883
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000371681060642004
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001827739179134369
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000524208415299654
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018030591309070587
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005927071906626225
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001928294077515602
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 196

      📌 Setup phase

      duration:

      0.0001340382732450962
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003513488918542862
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011611264199018478
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0013985470868647099
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006950111128389835
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002276850864291191
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00039912108331918716
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039087701588869095
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021702516824007034
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008296589367091656
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002525150775909424
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00045228004455566406
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002298559993505478
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 202

      📌 Setup phase

      duration:

      0.00024261698126792908
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037218304350972176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018104026094079018
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 203

      📌 Setup phase

      duration:

      0.00025748880580067635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003795982338488102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019122520461678505
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 204

      📌 Setup phase

      duration:

      0.00022862711921334267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036160508170723915
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019409600645303726
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 205

      📌 Setup phase

      duration:

      0.00013536307960748672
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002051210030913353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010233139619231224
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 206

      📌 Setup phase

      duration:

      0.00011702999472618103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005124590825289488
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012692436575889587
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.019118523225188255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026065437123179436
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004136371426284313
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022128503769636154
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042190682142972946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019454490393400192
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036305421963334084
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018323492258787155
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003411509096622467
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019187573343515396
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033721886575222015
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018291687592864037
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034854933619499207
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018990784883499146
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003285622224211693
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019445596262812614
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003337017260491848
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018885266035795212
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038495007902383804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002000788226723671
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003471267409622669
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019631395116448402
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000353050883859396
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002104155719280243
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034433789551258087
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020375335589051247
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042987195774912834
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003523901104927063
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004789019003510475
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002076779492199421
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001630927436053753
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017123017460107803
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014643091708421707
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017307698726654053
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014048628509044647
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016450835391879082
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001386459916830063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017606792971491814
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013723503798246384
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001653609797358513
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028785504400730133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018099742010235786
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024345982819795609
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017887726426124573
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023942487314343452
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000170078594237566
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002285260707139969
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016888603568077087
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001406380906701088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015966594219207764
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013850675895810127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016132229939103127
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013795169070363045
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015120301395654678
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014603417366743088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001488877460360527
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000142781063914299
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014115497469902039
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013742689043283463
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001360722817480564
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013252021744847298
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000154073815792799
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014118710532784462
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014530308544635773
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022009434178471565
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001377630978822708
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013768300414085388
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001295190304517746
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015029637143015862
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014846492558717728
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013494491577148438
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002087620086967945
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013108784332871437
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013966113328933716
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 258

      📌 Setup phase

      duration:

      0.00011904770508408546
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006166109815239906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013776915147900581
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 259

      📌 Setup phase

      duration:

      0.00011178292334079742
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004036528989672661
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010788720101118088
      

      outcome:

      passed
      

    Function: test_make_missing_dir_creates_folder

    • Test 260

      📌 Setup phase

      duration:

      0.00010876217857003212
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005040899850428104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011631380766630173
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 261

      📌 Setup phase

      duration:

      0.00010635005310177803
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008987230248749256
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012079207226634026
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 262

      📌 Setup phase

      duration:

      0.0001183398999273777
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007554646581411362
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001205061562359333
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036236923187971115
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016707461327314377
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000308420043438673
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016488274559378624
      

      outcome:

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

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005102152936160564
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027107633650302887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017204880714416504
      

      outcome:

      passed
      
    • Test 266
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.0005242577753961086
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027350010350346565
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015211012214422226
      

      outcome:

      passed
      
    • Test 267
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.0005031749606132507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002886718139052391
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015407195314764977
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002743452787399292
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016594817861914635
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029397616162896156
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015940796583890915
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016421079635620117
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014146743342280388
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023721717298030853
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013942504301667213
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013881362974643707
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000135800801217556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013712886720895767
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014968682080507278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001350194215774536
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001620589755475521
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014089606702327728
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000215121079236269
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000133381225168705
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001414571888744831
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023660808801651
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013615423813462257
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013348925858736038
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022188900038599968
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013603875413537025
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001354278065264225
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013188878074288368
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012954557314515114
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013506272807717323
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013585016131401062
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013283919543027878
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013751303777098656
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021607987582683563
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013019796460866928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013668695464730263
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013419799506664276
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023682694882154465
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015070196241140366
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014003925025463104
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013983575627207756
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001439172774553299
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015103211626410484
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001334119588136673
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001562829129397869
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013787159696221352
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013881409540772438
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013336306437849998
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015143491327762604
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014099618420004845
      

      outcome:

      passed
      
    • Test 289

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022134371101856232
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013197632506489754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013833679258823395
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013381103053689003
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001332550309598446
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014182087033987045
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014531658962368965
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001359269954264164
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001605898141860962
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013864506036043167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015125703066587448
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013143010437488556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015576090663671494
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015374599024653435
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015454599633812904
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014069769531488419
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015390198677778244
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014227908104658127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014984700828790665
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014430517330765724
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014981301501393318
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000139657873660326
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001609516330063343
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013882294297218323
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014951499179005623
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001505836844444275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001487797126173973
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014476384967565536
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001492602750658989
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014330679550766945
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015065213665366173
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002611498348414898
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014044670388102531
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014842022210359573
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002566329203546047
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013426970690488815
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014587491750717163
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020948005840182304
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016124499961733818
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 307

      📌 Setup phase

      duration:

      0.00011219503358006477
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002347850240767002
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001019318588078022
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002994849346578121
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015967199578881264
      

      outcome:

      passed
      
  • 📄 test_utils_pv.py

    Function: test_use_callback_context_manager

    • Test 315

      📌 Setup phase

      duration:

      0.00044132303446531296
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015756301581859589
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001747780479490757
      

      outcome:

      passed
      
  • 📄 test_utils_rangebar.py

    Function: test_full_progress_bar

    • Test 316

      📌 Setup phase

      duration:

      0.00029996689409017563
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002633179537951946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016330182552337646
      

      outcome:

      passed
      

    Function: test_half_progress_bar

    • Test 317

      📌 Setup phase

      duration:

      0.00026729702949523926
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020125322043895721
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022367993369698524
      

      outcome:

      passed
      

    Function: test_zero_progress_bar

    • Test 318

      📌 Setup phase

      duration:

      0.0003675706684589386
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021345168352127075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017290795221924782
      

      outcome:

      passed
      

    Function: test_overflow_bar

    • Test 319

      📌 Setup phase

      duration:

      0.000268744770437479
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019921129569411278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015582889318466187
      

      outcome:

      passed
      

    Function: test_underflow_bar

    • Test 320

      📌 Setup phase

      duration:

      0.0002545909956097603
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018938584253191948
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016889628022909164
      

      outcome:

      passed
      

    Function: test_repr

    • Test 321

      📌 Setup phase

      duration:

      0.0001264568418264389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014306185767054558
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.784521535038948e-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.00037102168425917625
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018854206427931786
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001857527531683445
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019052019342780113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018650805577635765
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001893080770969391
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018714508041739464
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018420303240418434
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001990017481148243
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017968425527215004
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001808740198612213
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019476795569062233
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018384074792265892
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001853429712355137
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019754795357584953
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018786033615469933
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001864321529865265
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018014665693044662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017872918397188187
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001832009293138981
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018858164548873901
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018238602206110954
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019412394613027573
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015891622751951218
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001385016366839409
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015926314517855644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014201924204826355
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013922573998570442
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001355721615254879
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014620181173086166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013725413009524345
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014661718159914017
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014383113011717796
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014813430607318878
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013696122914552689
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001407829113304615
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013597775250673294
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013465015217661858
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013151532039046288
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014863023534417152
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013697100803256035
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013822969049215317
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014031771570444107
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014651799574494362
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013791164383292198
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001544710248708725
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013650301843881607
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001477980986237526
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001370338723063469
      

      outcome:

      passed
      
  • 📄 test_utils_sendmail.py

    Function: test_sendmail_real_local_verbose

    • Test 370

      📌 Setup phase

      duration:

      0.00013923784717917442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.6136335269548
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002452717162668705
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007993271574378014
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018807314336299896
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004444499500095844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016780896112322807
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002815187908709049
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013815797865390778
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015883613377809525
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00056127505376935
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001688459888100624
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00028558215126395226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005451212637126446
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016654282808303833
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027706287801265717
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005482472479343414
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015943031758069992
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027229590341448784
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005453159101307392
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016716495156288147
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002811327576637268
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005537276156246662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001705777831375599
      

      outcome:

      passed
      
  • 📄 test_utils_termtitle.py

    Function: test_terminal_title_with_tmux

    • Test 379

      📌 Setup phase

      duration:

      0.00014018919318914413
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.015041620936244726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002247188240289688
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_complete_progress_bar

    • Test 380

      📌 Setup phase

      duration:

      0.0001491950824856758
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00810418464243412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015543075278401375
      

      outcome:

      passed
      

    Function: test_set_progress_multiple_points

    • Test 381

      📌 Setup phase

      duration:

      0.0001285690814256668
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013887658715248108
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012964801862835884
      

      outcome:

      passed
      

    Function: test_format_sizeof_alignment

    • Test 382

      📌 Setup phase

      duration:

      0.00012024492025375366
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015995418652892113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010966276749968529
      

      outcome:

      passed
      

    Function: test_custom_unit

    • Test 384

      📌 Setup phase

      duration:

      0.0001224437728524208
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00471970671787858
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011259131133556366
      

      outcome:

      passed
      

    Function: test_clamp_above_total

    • Test 385

      📌 Setup phase

      duration:

      0.00011106301099061966
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004130052402615547
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011405395343899727
      

      outcome:

      passed
      

    Function: test_clamp_below_zero

    • Test 386

      📌 Setup phase

      duration:

      0.00011025182902812958
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005422011017799377
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001175212673842907
      

      outcome:

      passed
      
  • 📄 test_utils_trinary.py

    Function: test_check_trinary_valid_values

    • Test 387

      📌 Setup phase

      duration:

      0.00011986028403043747
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015968270599842072
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010042311623692513
      

      outcome:

      passed
      

    Function: test_check_trinary_invalid_value

    • Test 388

      📌 Setup phase

      duration:

      0.00011087395250797272
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037647970020771027
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010536285117268562
      

      outcome:

      passed
      

    Function: test_check_trinary_with_custom_allowed_values

    • Test 389

      📌 Setup phase

      duration:

      0.00011638272553682327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016557099297642708
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010629184544086456
      

      outcome:

      passed
      
  • 📄 test_utils_typecast.py

    Function: test_downcast_success

    • Test 390

      📌 Setup phase

      duration:

      0.00012573180720210075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016245897859334946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.807385504245758e-05
      

      outcome:

      passed
      

    Function: test_upcast_success

    • Test 391

      📌 Setup phase

      duration:

      0.00011162599548697472
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014548096805810928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001157829537987709
      

      outcome:

      passed
      

    Function: test_downcast_invalid

    • Test 392

      📌 Setup phase

      duration:

      0.00010572792962193489
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031873397529125214
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.971018880605698e-05
      

      outcome:

      passed
      

    Function: test_upcast_invalid

    • Test 393

      📌 Setup phase

      duration:

      0.00011371076107025146
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016483478248119354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010201428085565567
      

      outcome:

      passed
      

    Function: test_object_identity_preserved

    • Test 394

      📌 Setup phase

      duration:

      0.00010578008368611336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001353072002530098
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.538279846310616e-05
      

      outcome:

      passed
      

    Function: test_ensure_subclass_valid

    • Test 395

      📌 Setup phase

      duration:

      0.0001008789986371994
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013686902821063995
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010014232248067856
      

      outcome:

      passed
      

    Function: test_ensure_subclass_invalid

    • Test 396

      📌 Setup phase

      duration:

      0.00010085385292768478
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015972880646586418
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.858375415205956e-05
      

      outcome:

      passed
      

    Function: test_cast_changes_class

    • Test 397

      📌 Setup phase

      duration:

      0.00010429369285702705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014654593542218208
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010275188833475113
      

      outcome:

      passed
      

    Function: test_cast_preserves_identity

    • Test 398

      📌 Setup phase

      duration:

      0.00010613072663545609
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013164104893803596
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011166417971253395
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 399

      📌 Setup phase

      duration:

      0.0001227022148668766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001503550447523594
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011132191866636276
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 400

      📌 Setup phase

      duration:

      0.00010498380288481712
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012585381045937538
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.768176823854446e-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.0002835150808095932
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014466512948274612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015860889106988907
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022655026987195015
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013127131387591362
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001336704008281231
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021829130128026009
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001337733119726181
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001363609917461872
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013940967619419098
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013325689360499382
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022123707458376884
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014433404430747032
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014078011736273766
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014087418094277382
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014039408415555954
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013598566874861717
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001345011405646801
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013460591435432434
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013221241533756256
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013668369501829147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013715960085391998
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022269226610660553
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021457485854625702
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001491047441959381
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002196463756263256
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013311905786395073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013773702085018158
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002216501161456108
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013254908844828606
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013197585940361023
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013042893260717392
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014766817912459373
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013033533468842506
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013922294601798058
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013239122927188873
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014132726937532425
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012971041724085808
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013305898755788803
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022203801199793816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014277175068855286
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014401087537407875
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002065827138721943
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001449771225452423
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013667624443769455
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021013198420405388
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012878095731139183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013249879702925682
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013895099982619286
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013787392526865005
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013621104881167412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013388833031058311
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023226486518979073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001352350227534771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013733608648180962
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001326841302216053
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014534778892993927
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013676518574357033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015474110841751099
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013450393453240395
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001566610299050808
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013832654803991318
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013623805716633797
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013842899352312088
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013757729902863503
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013960618525743484
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014695292338728905
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013853982090950012
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013677123934030533
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001715589314699173
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013470184057950974
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016914727166295052
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013743294402956963
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001484127715229988
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014210864901542664
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001528700813651085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016088224947452545
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007123397663235664
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001769140362739563
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014747073873877525
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001669386401772499
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000137984286993742
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015092873945832253
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001629428006708622
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015207426622509956
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015195412561297417
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015253201127052307
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042374199256300926
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0006183297373354435
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009413999505341053
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005735922604799271
      

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

      outcome:

      passed
      
  • 📄 test_utils_hastyepics.py

    Function: test_motor_instantiation_fast_vs_epics

    • Test 179

      📌 Setup phase

      duration:

      0.00012359395623207092
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.09779086615890265
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py
      lineno: 37
      message: AssertionError: Fast version (0.009313s) should be faster than EPICS (0.000255s)
      assert 0.009313135547563434 < 0.0002549904864281416
      

      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.009313s) should be faster than EPICS (0.000255s)
      E       assert 0.009313135547563434 < 0.0002549904864281416
      
      tests/test_utils_hastyepics.py:37: AssertionError
      

      📌 Teardown phase

      duration:

      0.0004060901701450348
      

      outcome:

      passed
      

    Function: test_motor_without_suffix_and_dot

    • Test 180

      📌 Setup phase

      duration:

      0.00019929232075810432
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0017482489347457886
      

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

      outcome:

      passed
      

    Function: test_motor_initializes_device_attrs

    • Test 183

      📌 Setup phase

      duration:

      0.00010973401367664337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0013278401456773281
      

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

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 199

      📌 Setup phase

      duration:

      0.00013681501150131226
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.7142596067860723
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010308027267456055
      

      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 0x7fe4b23143a0>, 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.00026973895728588104
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005558826960623264
      

      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 0x7fe4b23c1ee0>, 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.0002561579458415508
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009047249332070351
      

      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 0x7fe4b23fcd30>, 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.0002528158947825432
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005187597125768661
      

      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 0x7fe4b0fec160>, 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.00030935928225517273
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006476719863712788
      

      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 0x7fe4b23c1e50>, 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.00030560512095689774
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000543511938303709
      

      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 0x7fe4b1769670>, 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.0002684621140360832
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005645649507641792
      

      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 0x7fe4b2ccdca0>, 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.00030679674819111824
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005532200448215008
      

      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 0x7fe4b0fec700>, 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.0002888869494199753
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000548959244042635
      

      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 0x7fe4b1769670>, 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.00027346424758434296
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005168262869119644
      

      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 0x7fe4b0fc7d30>, 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.000295890960842371
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008828649297356606
      

      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 0x7fe4b0ff9670>, 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.00034473976120352745
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008550100028514862
      

      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 0x7fe4b2314d30>, 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.00029385415837168694
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005269963294267654
      

      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 0x7fe4b17693a0>, 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.00025349436327815056
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000506517942994833
      

      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 0x7fe4b0ff9430>, 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.00024534203112125397
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004975567571818829
      

      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 0x7fe4b12af430>, 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.00026939576491713524
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0004559536464512
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b12afa60>, value = 25.0
      expected_bar = '██▌       ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 25.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.0004505501128733158
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000587800052017
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b12afdc0>, value = 50.0
      expected_bar = '█████     ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 50.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.0004782439209520817
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.000559524167329
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b12af3a0>, value = 75.0
      expected_bar = '███████▌  ', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 75.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.0004598628729581833
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.00056307669729
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b12909d0>, value = 100.0
      expected_bar = '██████████', expected_color = '\x1b[32m'
      expected_repr = 'PV "TEST:PV" at 100.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.00047362037003040314
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0005229227244854
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b2097820>, value = 150.0
      expected_bar = '>>>>>>>>>>', expected_color = '\x1b[31m'
      expected_repr = 'PV "TEST:PV" at 150.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.00046956073492765427
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      2.0004615071229637
      

      outcome:

      failed
      

      crash:

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

      traceback:

      -   path: tests/test_utils_pv.py
        lineno: 58
        message: None
      -   path: slic/utils/pv.py
        lineno: 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 0x7fe4b2097790>, value = -50.0
      expected_bar = '<<<<<<<<<<', expected_color = '\x1b[31m'
      expected_repr = 'PV "TEST:PV" at -50.0 units'
      
          @pytest.mark.parametrize("value, expected_bar, expected_color, expected_repr", [
              (25.0,  "██▌       ", colorama.Fore.GREEN, 'PV "TEST:PV" at 25.0 units'),
              (50.0,  "█████     ", colorama.Fore.GREEN, 'PV "TEST:PV" at 50.0 units'),
              (75.0,  "███████▌  ", colorama.Fore.GREEN, 'PV "TEST:PV" at 75.0 units'),
              (100.0, "██████████", colorama.Fore.GREEN, 'PV "TEST:PV" at 100.0 units'),
              (150.0, ">>>>>>>>>>", colorama.Fore.RED,   'PV "TEST:PV" at 150.0 units'),
              (-50.0, "<<<<<<<<<<", colorama.Fore.RED,   'PV "TEST:PV" at -50.0 units')
          ])
      
          def test_progress_and_repr(fake_epics_pv, capture_stdout, value, expected_bar, expected_color, expected_repr):
      
              pv = fake_epics_pv
      
              # Test put() and progress bar
      >       pv.put(value, show_progress=True)
      
      tests/test_utils_pv.py:58: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/pv.py: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.00038531096652150154
      

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005008410662412643
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004334435798227787
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003523649647831917
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043007778003811836
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039819907397031784
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035589514300227165
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003594169393181801
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000346343033015728
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034283194690942764
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035660434514284134
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003563142381608486
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003569819964468479
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003900369629263878
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033996300771832466
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003432012163102627
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003554350696504116
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003631371073424816
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003534187562763691
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034398678690195084
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035505788400769234
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040860800072550774
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034880684688687325
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036669569090008736
      

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

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004225107841193676
      

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

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_float_alignment_in_bar

    • Test 383

      📌 Setup phase

      duration:

      0.00011168140918016434
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001215578056871891
      

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

      outcome:

      passed
      

📚 Collected files

(1 tests)
    • Outcome: passed
    • result:
    -   nodeid: .
      type: Dir
    
ci-reports (13 tests)
  • ci-reports
    • Outcome: passed
    • result:
    -   nodeid: ci-reports/allure
      type: Dir
    -   nodeid: ci-reports/junit
      type: Dir
    -   nodeid: ci-reports/markdown
      type: Dir
    
    • ci-reports/allure
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data
        type: Dir
      -   nodeid: ci-reports/allure/export
        type: Dir
      -   nodeid: ci-reports/allure/history
        type: Dir
      -   nodeid: ci-reports/allure/plugin
        type: Dir
      -   nodeid: ci-reports/allure/widgets
        type: Dir
      
    • ci-reports/allure/data
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/data/test-cases
        type: Dir
      
    • ci-reports/allure/data/test-cases
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/export
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/history
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin
      • Outcome: passed
      • result:
      -   nodeid: ci-reports/allure/plugin/behaviors
        type: Dir
      -   nodeid: ci-reports/allure/plugin/packages
        type: Dir
      -   nodeid: ci-reports/allure/plugin/screen-diff
        type: Dir
      
    • ci-reports/allure/plugin/behaviors
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/packages
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/plugin/screen-diff
      • Outcome: passed
      • result:
      []
      
    • ci-reports/allure/widgets
      • Outcome: passed
      • result:
      []
      
    • ci-reports/junit
      • Outcome: passed
      • result:
      []
      
    • ci-reports/markdown
      • Outcome: passed
      • result:
      []
      
outputs (1 tests)
  • outputs
    • Outcome: passed
    • result:
    []
    
slic (30 tests)
  • slic
    • Outcome: passed
    • result:
    -   nodeid: slic/core
      type: Package
    -   nodeid: slic/devices
      type: Package
    -   nodeid: slic/gui
      type: Package
    -   nodeid: slic/utils
      type: Package
    
    • slic/core
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition
        type: Package
      -   nodeid: slic/core/adjustable
        type: Package
      -   nodeid: slic/core/condition
        type: Package
      -   nodeid: slic/core/device
        type: Package
      -   nodeid: slic/core/scanner
        type: Package
      -   nodeid: slic/core/sensor
        type: Package
      -   nodeid: slic/core/task
        type: Package
      
    • slic/core/acquisition
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition/broker
        type: Package
      
    • slic/core/acquisition/broker
      • Outcome: passed
      • result:
      []
      
    • slic/core/adjustable
      • Outcome: passed
      • result:
      []
      
    • slic/core/condition
      • Outcome: passed
      • result:
      []
      
    • slic/core/device
      • Outcome: passed
      • result:
      []
      
    • slic/core/scanner
      • Outcome: passed
      • result:
      []
      
    • slic/core/sensor
      • Outcome: passed
      • result:
      []
      
    • slic/core/task
      • Outcome: passed
      • result:
      []
      
    • slic/devices
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/cameras
        type: Package
      -   nodeid: slic/devices/endstations
        type: Package
      -   nodeid: slic/devices/general
        type: Package
      -   nodeid: slic/devices/loptics
        type: Package
      -   nodeid: slic/devices/timing
        type: Package
      -   nodeid: slic/devices/xdiagnostics
        type: Package
      -   nodeid: slic/devices/xoptics
        type: Package
      
    • slic/devices/cameras
      • Outcome: passed
      • result:
      []
      
    • slic/devices/endstations
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/general/detectors
        type: Package
      -   nodeid: slic/devices/general/unused
        type: Dir
      
    • slic/devices/general/detectors
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general/unused
      • Outcome: passed
      • result:
      []
      
    • slic/devices/loptics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/timing
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/timing/events
        type: Package
      
    • slic/devices/timing/events
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xdiagnostics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/xoptics/slits
        type: Package
      -   nodeid: slic/devices/xoptics/unused
        type: Dir
      
    • slic/devices/xoptics/slits
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics/unused
      • Outcome: passed
      • result:
      []
      
    • slic/gui
      • Outcome: passed
      • result:
      -   nodeid: slic/gui/daqpanels
        type: Package
      -   nodeid: slic/gui/widgets
        type: Package
      
    • slic/gui/daqpanels
      • Outcome: passed
      • result:
      []
      
    • slic/gui/widgets
      • Outcome: passed
      • result:
      []
      
    • slic/utils
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/ioc
        type: Package
      -   nodeid: slic/utils/unused
        type: Dir
      
    • slic/utils/ioc
      • Outcome: passed
      • result:
      []
      
    • slic/utils/unused
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/unused/xsim
        type: Package
      
    • slic/utils/unused/xsim
      • Outcome: passed
      • result:
      []
      
temp-ci (1 tests)
  • temp-ci
    • Outcome: passed
    • result:
    []
    
tests (34 tests)
  • tests
    • Outcome: passed
    • result:
    -   nodeid: tests/test_utils_argfwd.py
      type: Module
    -   nodeid: tests/test_utils_ask_yes_no.py
      type: Module
    -   nodeid: tests/test_utils_channels.py
      type: Module
    -   nodeid: tests/test_utils_config.py
      type: Module
    -   nodeid: tests/test_utils_cpint.py
      type: Module
    -   nodeid: tests/test_utils_debug.py
      type: Module
    -   nodeid: tests/test_utils_dictext.py
      type: Module
    -   nodeid: tests/test_utils_dotdir.py
      type: Module
    -   nodeid: tests/test_utils_eval.py
      type: Module
    -   nodeid: tests/test_utils_exceptions.py
      type: Module
    -   nodeid: tests/test_utils_get_adj.py
      type: Module
    -   nodeid: tests/test_utils_hastyepics.py
      type: Module
    -   nodeid: tests/test_utils_ipy.py
      type: Module
    -   nodeid: tests/test_utils_jsonext.py
      type: Module
    -   nodeid: tests/test_utils_lazypv.py
      type: Module
    -   nodeid: tests/test_utils_logcfg.py
      type: Module
    -   nodeid: tests/test_utils_logign.py
      type: Module
    -   nodeid: tests/test_utils_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_npy.py
      type: Module
    -   nodeid: tests/test_utils_path.py
      type: Module
    -   nodeid: tests/test_utils_picklio.py
      type: Module
    -   nodeid: tests/test_utils_printing.py
      type: Module
    -   nodeid: tests/test_utils_pv.py
      type: Module
    -   nodeid: tests/test_utils_rangebar.py
      type: Module
    -   nodeid: tests/test_utils_readable.py
      type: Module
    -   nodeid: tests/test_utils_sendmail.py
      type: Module
    -   nodeid: tests/test_utils_snapshot.py
      type: Module
    -   nodeid: tests/test_utils_termtitle.py
      type: Module
    -   nodeid: tests/test_utils_tqdm_mod.py
      type: Module
    -   nodeid: tests/test_utils_trinary.py
      type: Module
    -   nodeid: tests/test_utils_typecast.py
      type: Module
    -   nodeid: tests/test_utils_utils.py
      type: Module
    -   nodeid: tests/test_utils_xrange.py
      type: Module
    
    • tests/test_utils_argfwd.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst0-2-expected0]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst1-1-expected1]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_split_at[lst2-0-expected2]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a0-b0-expected0]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a1-b1-expected1]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a2-b2-expected2]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a0-b0-expected0]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a1-b1-expected1]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a2-b2-expected2]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos0-expected_names0]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos1-expected_names1]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos2-expected_names2]
        type: Function
        lineno: 35
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw0-expected_keys0-expected_defaults0]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw1-expected_keys1-expected_defaults1]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw2-expected_keys2-expected_defaults2]
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos0-kw0-(x, y, z=3)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos1-kw1-(a, b=1, c=2)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos2-kw2-(flag=False)]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos0-expected_kw0]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos2-expected_kw2]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_all-(a, b, d=30, c=10)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_skip-(a, b, c=10, d=20)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_ignore_all-(x, y, c=10, d=20)]
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args0-kwargs0-36]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args1-kwargs1-11]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_skip-args2-kwargs2-10]
        type: Function
        lineno: 112
      -   nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_ignore_all-args3-kwargs3-10]
        type: Function
        lineno: 112
      
    • tests/test_utils_ask_yes_no.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-y-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-yes-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-n-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-no-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input4-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input5-False-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input6-True-Question? [y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-y-True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-n-False-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y--True-Question? [Y/n] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-y-True-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-n-False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n--False-Question? [y/N] ]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-KeyboardInterrupt-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input5-False-n]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input6-True-y]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input7-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input8-False-None]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input9-False-Invalid]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input5-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input6-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input9-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-user_input10-False-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input11-True-None]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input12-False-n]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input13-True-y]
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-invalid-None-user_input0-False]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-None-notananswer-user_input1-True]
        type: Function
        lineno: 117
      -   nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-n-nop-user_input2-False]
        type: Function
        lineno: 117
      
    • tests/test_utils_channels.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_channels.py::test_load_channels_and_channels_class_with_professional_names
        type: Function
        lineno: 42
      
    • tests/test_utils_config.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_config.py::test_config_with_nested_and_list_data
        type: Function
        lineno: 15
      -   nodeid: tests/test_utils_config.py::test_config_with_strange_and_edge_keys
        type: Function
        lineno: 73
      
    • tests/test_utils_cpint.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[red]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[blue]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[yellow]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[green]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[cyan]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[magenta]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[white]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[black]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects2-color_spec2- / -[] / {} / End-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects3-color_spec3-;-['', [3, 4]];done;0-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects7-color_spec7-==-['A', ['B']]==string==C-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects9-None-;-['no', 'color'];plain-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects10-None- | -['simple'] |  | 12-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects11-None- : -[['very', 'deep']] : {'ok': True}-None]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects12-color_spec12-|-['fail', 'color']|123-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects13-color_spec13- * -['error'] * {}-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects14-color_spec14-//-['nope']//['bad']-ValueError]
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects15-color_spec15----wrong--base-ValueError]
        type: Function
        lineno: 24
      
    • tests/test_utils_debug.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry0-creating: A(10, 20)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry1-creating: A(10, 20, e=100)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_traceable[A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_debug.py::test_short_repr[abc-10-'abc']
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[12345-10-12345]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value3-15-[0, 0, 0, 0, 0,...]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[None-10-None]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...]
        type: Function
        lineno: 52
      
    • tests/test_utils_dictext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data0-x-1]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data1-world-ok]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data2-outer-expected2]
        type: Function
        lineno: 12
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial0-nouveau-123]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial1-b-valeur]
        type: Function
        lineno: 26
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial0-a-expected_keys0]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial1-k-expected_keys1]
        type: Function
        lineno: 40
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data0-expected_keys0]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data1-expected_keys1]
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data0-x-1-None]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'MyDict' object has no attribute 'missing']
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs0-None-kwargs0-expected0]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs1-other1-kwargs1-expected1]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs2-other2-kwargs2-expected2]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs3-None-kwargs3-expected3]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs4-other4-kwargs4-expected4]
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs5-other5-kwargs5-expected5]
        type: Function
        lineno: 90
      
    • tests/test_utils_dotdir.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_creation_and_base_exists
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_repr_returns_path_str
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_dotdir.py::test_dotdir_call
        type: Function
        lineno: 35
      
    • tests/test_utils_eval.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[4 - 2-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 * 5-15]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 / 2-5.0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 % 3-1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-5--5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[+7-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2 * 3-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(1 + 2) * 3-9]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-3)-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-2 + 4 * 2-6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(4 + 5) * (6 - 1)-45]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(((3)))-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-(-2))--2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + +4-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + -4--1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[True + 1-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['string'-string]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1e1000 * 1e1000-inf]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['a' + 'b'-ab]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[2 ** 3-Unsupported BinOp Pow]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[3 << 1-Unsupported BinOp LShift]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[1 < 2-Unsupported node type Compare]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[abs(3)-Unsupported node type Call]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[a + 2-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[string-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[[1, 2] + [3]-Unsupported node type List]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[{1: 2}-Unsupported node type Dict]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[1 / 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[10 % 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 + 2-3]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[bad + 2-bad + 2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 / 0-1 / 0]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[2 ** 10-2 ** 10]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[3 * 4-0-12]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[invalid + 1-99-99]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[1 / 0--1--1]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[2 ** 10-42-42]
        type: Function
        lineno: 71
      
    • tests/test_utils_exceptions.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_key_error-High-level task failed\ncaused by KeyError: 'missing']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_index_error-High-level task failed\ncaused by IndexError: list index out of range]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_value_error-High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_type_error-High-level task failed\ncaused by TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_key_error-KeyError: 'missing']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_index_error-IndexError: list index out of range]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_zero_division-ZeroDivisionError: division by zero]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_type_error-TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 60
      
    • tests/test_utils_get_adj.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_success
        type: Function
        lineno: 23
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_not_found
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_get_adj.py::test_ensure_adjs_mixed
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_get_adj.py::test_get_adjs_filter
        type: Function
        lineno: 37
      
    • tests/test_utils_hastyepics.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_instantiation_fast_vs_epics
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_without_suffix_and_dot
        type: Function
        lineno: 38
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_invalid_name_raises
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_init_list_has_no_disabled
        type: Function
        lineno: 55
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_initializes_device_attrs
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_pv_connection_skipped_by_default
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_adds_all_extras_pvs
        type: Function
        lineno: 90
      -   nodeid: tests/test_utils_hastyepics.py::test_motor_PV_method_exists_and_works
        type: Function
        lineno: 109
      
    • tests/test_utils_ipy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ipy.py::test_devices_repr_fallback_and_ignore
        type: Function
        lineno: 19
      
    • tests/test_utils_jsonext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj0-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj1-42]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[(1-1j)-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj3-/tmp/file.txt]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj5-expected5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj6-expected6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj7-expected7]
        type: Function
        lineno: 7
      
    • tests/test_utils_lazypv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_lazypv.py::test_getattr
        type: Function
        lineno: 7
      
    • tests/test_utils_logcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[LONG-<lambda>-This is a LONG message]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[ENLARGE-<lambda>-Please ENLARGE this!]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_import_logging_once_per_module
        type: Function
        lineno: 51
      
    • tests/test_utils_logign.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[WARNING-This should be ignored-This should appear]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[ENLARGE-ENLARGE this-Keep this ENLARGE]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_level
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_msg
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_logign.py::test_filter_removed_after_context
        type: Function
        lineno: 86
      
    • tests/test_utils_metaclasses.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_metaclasses.py::test_combine_classes_combines_methods
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_metaclasses.py::test_registryabc_combines_registrymeta_and_abcmeta
        type: Function
        lineno: 25
      
    • tests/test_utils_npy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[0-5-1-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[5-0--1-expected1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[1-2-0.3-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[-2-2-1.5-expected3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[2.5-0.5--0.4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-10-4-expected0]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[5-15-2-expected1]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-5-5-4-expected2]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-3-expected3]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[2-2-3-expected4]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[3-0-3-expected5]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-0-expected6]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 123
      
    • tests/test_utils_path.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_yes
        type: Function
        lineno: 10
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_no
        type: Function
        lineno: 36
      -   nodeid: tests/test_utils_path.py::test_make_missing_dir_creates_folder
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_path.py::test_glob_files_returns_matching_files_only
        type: Function
        lineno: 66
      -   nodeid: tests/test_utils_path.py::test_filter_files_excludes_directories
        type: Function
        lineno: 83
      
    • tests/test_utils_picklio.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj0]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj1]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[simple string]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[42]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[3.14159]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj5]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj6]
        type: Function
        lineno: 6
      
    • tests/test_utils_printing.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq0-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq1-0]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq2-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq3-2]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_strlen[42-2]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[hello-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[False-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[None-4]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value4-9]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value5-8]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value6-6]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[-0]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[this is a phrase-16]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq0-6]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq1-3]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq2-9]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq3-16]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq4-5]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data0-expected0]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data1-expected1]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data2-expected2]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial0-1-expected0]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial1-a-expected1]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial2-prepend2-expected2]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial3-prepend3-expected3]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries0-widths0-  a   bbb]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries1-widths1- 1  2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries2-widths2-  long  val]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries3-widths3- True  False]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries4-widths4-  123  4567]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries5-widths5- text with space   end]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries6-widths6-  {'a': 1}   {'b': 2}]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries7-widths7-    [1, 2]     [3, 4]]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths0------ ----]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths1-=-== ===]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths2-*-***** **]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_with_header[d0-HeaderTest-expected_lines0]
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_of_dicts
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_printing.py::test_printable_table[data0-labels0-A: ID\nB: \u2713 Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}]
        type: Function
        lineno: 128
      
    • tests/test_utils_pv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[25.0-\u2588\u2588\u258c       -\x1b[32m-PV "TEST:PV" at 25.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[50.0-\u2588\u2588\u2588\u2588\u2588     -\x1b[32m-PV "TEST:PV" at 50.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[75.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  -\x1b[32m-PV "TEST:PV" at 75.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[100.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588-\x1b[32m-PV "TEST:PV" at 100.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[150.0->>>>>>>>>>-\x1b[31m-PV "TEST:PV" at 150.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_progress_and_repr[-50.0-<<<<<<<<<<-\x1b[31m-PV "TEST:PV" at -50.0 units]
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_pv.py::test_use_callback_context_manager
        type: Function
        lineno: 73
      
    • tests/test_utils_rangebar.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_rangebar.py::test_full_progress_bar
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_rangebar.py::test_half_progress_bar
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_rangebar.py::test_zero_progress_bar
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_rangebar.py::test_overflow_bar
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_rangebar.py::test_underflow_bar
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_rangebar.py::test_repr
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[0-          ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[10-\u2588         ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[25-\u2588\u2588\u258c       ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[27-\u2588\u2588\u258a       ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[49-\u2588\u2588\u2588\u2588\u2589     ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[50-\u2588\u2588\u2588\u2588\u2588     ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[51-\u2588\u2588\u2588\u2588\u2588\u258f    ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e  ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ]
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_rangebar.py::test_each_value_separately[100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588]
        type: Function
        lineno: 89
      
    • tests/test_utils_readable.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59.4-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59.9-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[119.9-120 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[120.1-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3599.4-59 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3599.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3600.1-1 hour]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[7199.9-119 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[7200.1-2 hours]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[90.4-90 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[90.6-91 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[121.9-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3659.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3660.1-1 hour]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[1314873.0-15 days]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2366771.4-27 days]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2629746.0-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[2892720.6-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3944619.0-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[4996517.399999999-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5259492.0-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5522466.600000001-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[28401213.6-9 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31556904.0-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[34712594.400000006-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[47335356.0-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[59958117.599999994-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[63113808.0-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[66269498.400000006-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5233194.54-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[5285789.459999999-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[62798238.96-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[63429377.03999999-2 years]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31293977.400000002-11 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[31819926.599999998-1 year]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[3155690.4000000004-1 month]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_rounding_cases[15462882.959999999-5 months]
        type: Function
        lineno: 3
      
    • tests/test_utils_sendmail.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_sendmail.py::test_sendmail_real_local_verbose
        type: Function
        lineno: 70
      
    • tests/test_utils_snapshot.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[exclude_internals]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[include_internals]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[empty_case]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_str]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_id]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_case_insensitive]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_length]
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_reverse]
        type: Function
        lineno: 83
      
    • tests/test_utils_termtitle.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_termtitle.py::test_terminal_title_with_tmux
        type: Function
        lineno: 9
      
    • tests/test_utils_tqdm_mod.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_tqdm_mod.py::test_complete_progress_bar
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_tqdm_mod.py::test_set_progress_multiple_points
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_tqdm_mod.py::test_format_sizeof_alignment
        type: Function
        lineno: 65
      -   nodeid: tests/test_utils_tqdm_mod.py::test_float_alignment_in_bar
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_tqdm_mod.py::test_custom_unit
        type: Function
        lineno: 132
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_above_total
        type: Function
        lineno: 146
      -   nodeid: tests/test_utils_tqdm_mod.py::test_clamp_below_zero
        type: Function
        lineno: 163
      
    • tests/test_utils_trinary.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_valid_values
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_invalid_value
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_trinary.py::test_check_trinary_with_custom_allowed_values
        type: Function
        lineno: 22
      
    • tests/test_utils_typecast.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_typecast.py::test_downcast_success
        type: Function
        lineno: 24
      -   nodeid: tests/test_utils_typecast.py::test_upcast_success
        type: Function
        lineno: 30
      -   nodeid: tests/test_utils_typecast.py::test_downcast_invalid
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_typecast.py::test_upcast_invalid
        type: Function
        lineno: 48
      -   nodeid: tests/test_utils_typecast.py::test_object_identity_preserved
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_typecast.py::test_ensure_subclass_valid
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_typecast.py::test_ensure_subclass_invalid
        type: Function
        lineno: 67
      -   nodeid: tests/test_utils_typecast.py::test_cast_changes_class
        type: Function
        lineno: 79
      -   nodeid: tests/test_utils_typecast.py::test_cast_preserves_identity
        type: Function
        lineno: 86
      
    • tests/test_utils_utils.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_utils.py::test_singleton_instance
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_utils.py::test_singleton_identity
        type: Function
        lineno: 25
      -   nodeid: tests/test_utils_utils.py::test_typename[None-NoneType]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[True-bool]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[42-int]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[3.14-float]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[text-str]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj5-set]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj6-list]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj7-list]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj8-dict]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[<lambda>-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sample_function-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[nested-function]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[len-builtin_function_or_method]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sum-builtin_function_or_method]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[math-module]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[sys-module]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[function-type]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[<genexpr>-generator]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_typename[obj18-list_iterator]
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums0-4]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums1-21]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_next_int[nums2-0]
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[7-3-007]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[123-5-00123]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_zero_pad[0-2-00]
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_utils.py::test_iround[3.6-4]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[2.1-2]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[-1.5--2]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_iround[-1.4--1]
        type: Function
        lineno: 97
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally[items0-expected0]
        type: Function
        lineno: 108
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally[items1-expected1]
        type: Function
        lineno: 108
      -   nodeid: tests/test_utils_utils.py::test_sorted_naturally_reverse[items0-expected0]
        type: Function
        lineno: 115
      
    • tests/test_utils_xrange.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args0-kwargs0-expected0]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args1-kwargs1-expected1]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args2-kwargs2-expected2]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_finite[args3-kwargs3-expected3]
        type: Function
        lineno: 11
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args0-kwargs0-count(0)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args1-kwargs1-count(0, 2)]
        type: Function
        lineno: 20
      -   nodeid: tests/test_utils_xrange.py::test_xrange_too_many_args[args0]
        type: Function
        lineno: 31
      
. (1 tests)
  • .
    • Outcome: passed
    • result:
    -   nodeid: ci-reports
      type: Dir
    -   nodeid: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

Warnings nº1
message: invalid escape sequence \-
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py
lineno: 207
Warnings nº2
message: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py
lineno: 28
Warnings nº3
message: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py
lineno: 3154
Warnings nº4
message: The module numpy.dual is deprecated.  Instead of using dual, use the functions directly from numpy or scipy.
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py
lineno: 97