Clone
1
run 2041 TEST commit 86476d2
ci-bot edited this page 2025-08-11 11:21:28 +00:00

Test Report

View CI Run 2041 | Commit 86476d2

🧪 Test Report

Generated on 2025-08-11 13:21:12 CEST

🧾 General Info

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

📋 Summary

  • Passed: 530
  • Failed: 11
  • Total: 541
  • Collected: 541

🔎 Tests

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

    Function: test_it_type_str

    • Test 1

      📌 Setup phase

      duration:

      0.0007630949839949608
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003239498473703861
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022674398496747017
      

      outcome:

      passed
      

    Function: test_it_type_float

    • Test 2

      📌 Setup phase

      duration:

      0.0001256680116057396
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015069171786308289
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010600220412015915
      

      outcome:

      passed
      

    Function: test_it_type_int

    • Test 3

      📌 Setup phase

      duration:

      0.00011383090168237686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001439116895198822
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010184384882450104
      

      outcome:

      passed
      

    Function: test_it_value_str

    • Test 4

      📌 Setup phase

      duration:

      0.0001193326897919178
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014028092846274376
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.610410779714584e-05
      

      outcome:

      passed
      

    Function: test_it_value_long_str

    • Test 5

      📌 Setup phase

      duration:

      0.00010575121268630028
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014057010412216187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010074302554130554
      

      outcome:

      passed
      

    Function: test_it_value_float

    • Test 6

      📌 Setup phase

      duration:

      0.00013388507068157196
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016733026131987572
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.933020919561386e-05
      

      outcome:

      passed
      

    Function: test_it_value_int

    • Test 7

      📌 Setup phase

      duration:

      0.0001186770386993885
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001594051718711853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010055117309093475
      

      outcome:

      passed
      

    Function: test_it_empty_value_str

    • Test 8

      📌 Setup phase

      duration:

      0.00010683806613087654
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013813795521855354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.485520422458649e-05
      

      outcome:

      passed
      

    Function: test_it_empty_value_float

    • Test 9

      📌 Setup phase

      duration:

      0.0001289062201976776
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001575639471411705
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.826803579926491e-05
      

      outcome:

      passed
      

    Function: test_it_empty_value_int

    • Test 10

      📌 Setup phase

      duration:

      0.00011201482266187668
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014556525275111198
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.672623127698898e-05
      

      outcome:

      passed
      

    Function: test_pstrue_str

    • Test 11

      📌 Setup phase

      duration:

      0.00012306589633226395
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013775983825325966
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001016487367451191
      

      outcome:

      passed
      

    Function: test_pstrue_float

    • Test 12

      📌 Setup phase

      duration:

      0.00011304998770356178
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013996101915836334
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.78703610599041e-05
      

      outcome:

      passed
      

    Function: test_pstrue_int

    • Test 13

      📌 Setup phase

      duration:

      0.00010474584996700287
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001376420259475708
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011055218055844307
      

      outcome:

      passed
      

    Function: test_psfalse_str

    • Test 14

      📌 Setup phase

      duration:

      0.00010597985237836838
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013275817036628723
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.321281686425209e-05
      

      outcome:

      passed
      

    Function: test_psfalse_float

    • Test 15

      📌 Setup phase

      duration:

      0.00010518822818994522
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013440707698464394
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.596673771739006e-05
      

      outcome:

      passed
      

    Function: test_psfalse_int

    • Test 16

      📌 Setup phase

      duration:

      0.00010513002052903175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001315642148256302
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010150996968150139
      

      outcome:

      passed
      

    Function: test_it_None

    • Test 17

      📌 Setup phase

      duration:

      0.0001071067526936531
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015745311975479126
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.662425145506859e-05
      

      outcome:

      passed
      

    Function: test_it_True

    • Test 18

      📌 Setup phase

      duration:

      0.00011444510892033577
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013251323252916336
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.327800944447517e-05
      

      outcome:

      passed
      

    Function: test_it_False

    • Test 19

      📌 Setup phase

      duration:

      0.00010139402002096176
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002863616682589054
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001057828776538372
      

      outcome:

      passed
      

    Function: test_it_nan

    • Test 20

      📌 Setup phase

      duration:

      0.00012000277638435364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001378953456878662
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010082079097628593
      

      outcome:

      passed
      

    Function: test_it_np_nan

    • Test 21

      📌 Setup phase

      duration:

      0.00010734004899859428
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013796426355838776
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010106991976499557
      

      outcome:

      passed
      

    Function: test_it_np1D_int

    • Test 22

      📌 Setup phase

      duration:

      0.00010724598541855812
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022150296717882156
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.96277667582035e-05
      

      outcome:

      passed
      

    Function: test_it_np2D_int

    • Test 23

      📌 Setup phase

      duration:

      0.0001095430925488472
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001925458200275898
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010167388245463371
      

      outcome:

      passed
      

    Function: test_it_np1D_float

    • Test 24

      📌 Setup phase

      duration:

      0.0001063002273440361
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002765241079032421
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011197896674275398
      

      outcome:

      passed
      

    Function: test_it_np2D_float

    • Test 25

      📌 Setup phase

      duration:

      0.00011752313002943993
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021344376727938652
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010080775246024132
      

      outcome:

      passed
      

    Function: test_it_np1D_bool

    • Test 26

      📌 Setup phase

      duration:

      0.0001079668290913105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001665102317929268
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.710714221000671e-05
      

      outcome:

      passed
      

    Function: test_it_np1D_object

    • Test 27

      📌 Setup phase

      duration:

      0.00011051911860704422
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001561976969242096
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.927432984113693e-05
      

      outcome:

      passed
      

    Function: test_it_np_scalar_int

    • Test 28

      📌 Setup phase

      duration:

      0.00010364921763539314
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018747802823781967
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.760027751326561e-05
      

      outcome:

      passed
      

    Function: test_it_np_scalar_float

    • Test 29

      📌 Setup phase

      duration:

      0.00010529160499572754
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001700310967862606
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010779406875371933
      

      outcome:

      passed
      

    Function: test_it_np_scalar_bool

    • Test 30

      📌 Setup phase

      duration:

      0.00010398682206869125
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018736720085144043
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012890715152025223
      

      outcome:

      passed
      

    Function: test_it_list

    • Test 31

      📌 Setup phase

      duration:

      0.00012118928134441376
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015435880050063133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010072020813822746
      

      outcome:

      passed
      

    Function: test_it_tuple

    • Test 32

      📌 Setup phase

      duration:

      0.00010672025382518768
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001636943779885769
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010950909927487373
      

      outcome:

      passed
      
  • 📄 test_utils_argfwd.py

    Function: test_split_at

    • Test 33
      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.00048624491319060326
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016214419156312943
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001984061673283577
      

      outcome:

      passed
      
    • Test 34
      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.0003075883723795414
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014770682901144028
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015683704987168312
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00029782112687826157
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014475081115961075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015496136620640755
      

      outcome:

      passed
      

    Function: test_merge_lists_unique

    • Test 36
      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.00027058273553848267
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001398148015141487
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015803007408976555
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00028917891904711723
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013915495947003365
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015718070790171623
      

      outcome:

      passed
      
    • Test 38
      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.0002701212652027607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016588298603892326
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001691156066954136
      

      outcome:

      passed
      

    Function: test_merge_dicts_unique

    • Test 39
      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.00026046717539429665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013987114652991295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015956582501530647
      

      outcome:

      passed
      
    • Test 40
      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.00035916827619075775
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014667818322777748
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000160939060151577
      

      outcome:

      passed
      
    • Test 41
      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.0002767280675470829
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014214124530553818
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001808851957321167
      

      outcome:

      passed
      

    Function: test_make_params_pos_basic

    • Test 42
      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.00023414473980665207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001725270412862301
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013694027438759804
      

      outcome:

      passed
      
    • Test 43
      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.00021529709920287132
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017070071771740913
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015114899724721909
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022016093134880066
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013791723176836967
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014533521607518196
      

      outcome:

      passed
      

    Function: test_make_params_kw_basic

    • Test 45
      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.0002675098367035389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017281295731663704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015370454639196396
      

      outcome:

      passed
      
    • Test 46
      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.0002645021304488182
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015425775200128555
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015303585678339005
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002821488305926323
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014236010611057281
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015228614211082458
      

      outcome:

      passed
      

    Function: test_make_signature_parametrized

    • Test 48
      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.00025901710614562035
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001927209086716175
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001537911593914032
      

      outcome:

      passed
      
    • Test 49
      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.0002545211464166641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001824558712542057
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016557099297642708
      

      outcome:

      passed
      
    • Test 50
      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.0002655200660228729
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017305603250861168
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015427405014634132
      

      outcome:

      passed
      

    Function: test_get_args_parametrized

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002658688463270664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002063298597931862
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015249382704496384
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027613621205091476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001981421373784542
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015771342441439629
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026777666062116623
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017703324556350708
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017766887322068214
      

      outcome:

      passed
      

    Function: test_signature_visible

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022389879450201988
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015644915401935577
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001482078805565834
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022523896768689156
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016532093286514282
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001356559805572033
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021903915330767632
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016523199155926704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013768812641501427
      

      outcome:

      passed
      

    Function: test_wrapper_behavior

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003160550259053707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001581530086696148
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017592869699001312
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003101923502981663
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001347362995147705
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001847241073846817
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00031297793611884117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001360839232802391
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016782991588115692
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003044428303837776
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015913695096969604
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016989093273878098
      

      outcome:

      passed
      
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

    • Test 61
      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.00033874111250042915
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009986902587115765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019332906231284142
      

      outcome:

      passed
      
    • Test 62
      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.0003274912014603615
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005931882187724113
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018612714484333992
      

      outcome:

      passed
      
    • Test 63
      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.0003369399346411228
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005700499750673771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019254302605986595
      

      outcome:

      passed
      
    • Test 64
      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.00031955400481820107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000601849053055048
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020920438691973686
      

      outcome:

      passed
      
    • Test 65
      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.0003228657878935337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005332338623702526
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001828041858971119
      

      outcome:

      passed
      
    • Test 66
      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.00032371794804930687
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005359328351914883
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018113618716597557
      

      outcome:

      passed
      
    • Test 67
      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.0003780648112297058
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005622408352792263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019503990188241005
      

      outcome:

      passed
      
    • Test 68
      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.0003172988072037697
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005904259160161018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019926438108086586
      

      outcome:

      passed
      
    • Test 69
      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.0003164377994835377
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005107610486447811
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018338486552238464
      

      outcome:

      passed
      
    • Test 70
      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.0003207540139555931
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005353470332920551
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001835143193602562
      

      outcome:

      passed
      
    • Test 71
      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.000334923155605793
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005939188413321972
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019002705812454224
      

      outcome:

      passed
      
    • Test 72
      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.0003140373155474663
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004946920089423656
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018326472491025925
      

      outcome:

      passed
      
    • Test 73
      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.00031676096841692924
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005111629143357277
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018587429076433182
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

    • Test 74
      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.0003326302394270897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005188980139791965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018356693908572197
      

      outcome:

      passed
      
    • Test 75
      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.0003148941323161125
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005993852391839027
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001955190673470497
      

      outcome:

      passed
      
    • Test 76
      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.0003154645673930645
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005016499198973179
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018244190141558647
      

      outcome:

      passed
      
    • Test 77
      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.00031933514401316643
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005102367140352726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018153712153434753
      

      outcome:

      passed
      
    • Test 78
      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.00033238809555768967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005079861730337143
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020571192726492882
      

      outcome:

      passed
      
    • Test 79
      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.00031718984246253967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006542159244418144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001887078396975994
      

      outcome:

      passed
      
    • Test 80
      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.0003171800635755062
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005454998463392258
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018792785704135895
      

      outcome:

      passed
      
    • Test 81
      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.00033034197986125946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005867709405720234
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018999027088284492
      

      outcome:

      passed
      
    • Test 82
      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.00033741723746061325
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006360113620758057
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018924381583929062
      

      outcome:

      passed
      
    • Test 83
      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.0003151930868625641
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005281581543385983
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002030329778790474
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 84
      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.00032006483525037766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005074511282145977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018060579895973206
      

      outcome:

      passed
      
    • Test 85
      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.0003456389531493187
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005115359090268612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018049916252493858
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011913240887224674
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019322801381349564
      

      outcome:

      passed
      
    • Test 87
      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.00032281968742609024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005169087089598179
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018755486235022545
      

      outcome:

      passed
      
    • Test 88
      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.0003331108018755913
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004968559369444847
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019137142226099968
      

      outcome:

      passed
      
    • Test 89
      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.00032003922387957573
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005195220001041889
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001947418786585331
      

      outcome:

      passed
      
    • Test 90
      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.0003225160762667656
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006102407351136208
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001875939778983593
      

      outcome:

      passed
      
    • Test 91
      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.0003333338536322117
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004921257495880127
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018898677080869675
      

      outcome:

      passed
      
    • Test 92
      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.0003168187104165554
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004909220151603222
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020508281886577606
      

      outcome:

      passed
      
    • Test 93
      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.00031887274235486984
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006667482666671276
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018779700621962547
      

      outcome:

      passed
      
    • Test 94
      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.0003494108095765114
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005286689847707748
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001830151304602623
      

      outcome:

      passed
      
    • Test 95
      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.00033049704506993294
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005341977812349796
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001878472976386547
      

      outcome:

      passed
      
    • Test 96
      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.00033816369250416756
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005353512242436409
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020634382963180542
      

      outcome:

      passed
      
    • Test 97
      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.0003177500329911709
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006351559422910213
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018683914095163345
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

    • Test 98
      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.00038107670843601227
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005763801746070385
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002231048420071602
      

      outcome:

      passed
      
    • Test 99
      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.0003636488690972328
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005743140354752541
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020565418526530266
      

      outcome:

      passed
      
    • Test 100
      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.0003666989505290985
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006827432662248611
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002071070484817028
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 101

      📌 Setup phase

      duration:

      0.00013193069025874138
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011217067949473858
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012480281293392181
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 102

      📌 Setup phase

      duration:

      0.0001385807991027832
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006546098738908768
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011597387492656708
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 103

      📌 Setup phase

      duration:

      0.00011096103116869926
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008303592912852764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012933416292071342
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 104
      params: base_color="red"

      📌 Runtime Parameters

      params:
        base_color: red
      id: red
      

      📌 Setup phase

      duration:

      0.00021782517433166504
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018490198999643326
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013275211676955223
      

      outcome:

      passed
      
    • Test 105
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00019271206110715866
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015847384929656982
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012190081179141998
      

      outcome:

      passed
      
    • Test 106
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.00021638814359903336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015363981947302818
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001229909248650074
      

      outcome:

      passed
      
    • Test 107
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.00017936993390321732
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015216320753097534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012224214151501656
      

      outcome:

      passed
      
    • Test 108
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.00017089024186134338
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015363283455371857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012155761942267418
      

      outcome:

      passed
      
    • Test 109
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.00017144624143838882
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014532310888171196
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001208069734275341
      

      outcome:

      passed
      
    • Test 110
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.00017494801431894302
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001537017524242401
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012051500380039215
      

      outcome:

      passed
      
    • Test 111
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.00016703642904758453
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015040487051010132
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012113619595766068
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

    • Test 112
      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.0006244219839572906
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025291508063673973
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002517341636121273
      

      outcome:

      passed
      
    • Test 113
      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.0004631960764527321
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023876316845417023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002481350675225258
      

      outcome:

      passed
      
    • Test 114
      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.00048387888818979263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022971304133534431
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002575758844614029
      

      outcome:

      passed
      
    • Test 115
      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.0004487680271267891
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024623703211545944
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024330010637640953
      

      outcome:

      passed
      
    • Test 116
      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.00047961901873350143
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021783588454127312
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025014299899339676
      

      outcome:

      passed
      
    • Test 117
      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.0004534721374511719
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021787406876683235
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002672211267054081
      

      outcome:

      passed
      
    • Test 118
      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.00046401331201195717
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002239593304693699
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025117164477705956
      

      outcome:

      passed
      
    • Test 119
      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.00048502814024686813
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033459486439824104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026986701413989067
      

      outcome:

      passed
      
    • Test 120
      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.0004613972268998623
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002264091745018959
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025152694433927536
      

      outcome:

      passed
      
    • Test 121
      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.00046028103679418564
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020302366465330124
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002463003620505333
      

      outcome:

      passed
      
    • Test 122
      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.0004628608003258705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021285191178321838
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002485942095518112
      

      outcome:

      passed
      
    • Test 123
      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.0004530767910182476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002217162400484085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002454100176692009
      

      outcome:

      passed
      
    • Test 124
      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.0004737316630780697
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00025293510407209396
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026111816987395287
      

      outcome:

      passed
      
    • Test 125
      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.0004519098438322544
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024339184165000916
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023952219635248184
      

      outcome:

      passed
      
    • Test 126
      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.00047009624540805817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022863317281007767
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024157902225852013
      

      outcome:

      passed
      
    • Test 127
      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.0004693209193646908
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022777123376727104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002422700636088848
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

    • Test 128
      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.00029580434784293175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009466381743550301
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000190025195479393
      

      outcome:

      passed
      
    • Test 129
      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.0002867328003048897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009481413289904594
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000189843587577343
      

      outcome:

      passed
      
    • Test 130
      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.0002858988009393215
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008213077671825886
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019430974498391151
      

      outcome:

      passed
      
    • Test 131
      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.0002887086011469364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009075291454792023
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018214993178844452
      

      outcome:

      passed
      
    • Test 132
      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.00027976837009191513
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009475327096879482
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001875213347375393
      

      outcome:

      passed
      

    Function: test_short_repr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003085560165345669
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015182280912995338
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015913089737296104
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004039132036268711
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001756688579916954
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016941502690315247
      

      outcome:

      passed
      
    • Test 136
      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.0002869688905775547
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015163514763116837
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016309181228280067
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000256973784416914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015592621639370918
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001642359420657158
      

      outcome:

      passed
      
  • 📄 test_utils_dictext.py

    Function: test_attrdict_getattr

    • Test 139
      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.00032544974237680435
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016368599608540535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001584971323609352
      

      outcome:

      passed
      
    • Test 140
      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.0002647130750119686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017835525795817375
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017123110592365265
      

      outcome:

      passed
      
    • Test 141
      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.00026579713448882103
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013823667541146278
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016980990767478943
      

      outcome:

      passed
      

    Function: test_attrdict_setattr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002703634090721607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015315832570195198
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015072617679834366
      

      outcome:

      passed
      
    • Test 143
      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.00027017900720238686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001491997390985489
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001559932716190815
      

      outcome:

      passed
      

    Function: test_attrdict_delattr

    • Test 144
      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.00026933103799819946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018985895439982414
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001598563976585865
      

      outcome:

      passed
      
    • Test 145
      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.00026994897052645683
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017449399456381798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015037599951028824
      

      outcome:

      passed
      

    Function: test_attrdict_dir

    • Test 146
      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.00022271880879998207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000141780823469162
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014876993373036385
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021337717771530151
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016351928934454918
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014113262295722961
      

      outcome:

      passed
      

    Function: test_attrdict_getattr_and_missing

    • Test 148
      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.0003111809492111206
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015258463099598885
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017638178542256355
      

      outcome:

      passed
      
    • Test 149
      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.00032861996442079544
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017605256289243698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017054984346032143
      

      outcome:

      passed
      

    Function: test_dictupdatemixin_init_and_update

    • Test 150
      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.00030827801674604416
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001514200121164322
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017732102423906326
      

      outcome:

      passed
      
    • Test 151
      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.00030655739828944206
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001678466796875
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001742010936141014
      

      outcome:

      passed
      
    • Test 152
      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.00030741607770323753
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001545008271932602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016099726781249046
      

      outcome:

      passed
      
    • Test 153
      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.0003146580420434475
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001424192450940609
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016568880528211594
      

      outcome:

      passed
      
    • Test 154
      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.0002939673140645027
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001416909508407116
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016971910372376442
      

      outcome:

      passed
      
    • Test 155
      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.00030698906630277634
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029466208070516586
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018153991550207138
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 156

      📌 Setup phase

      duration:

      0.001731980126351118
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002615409903228283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022138189524412155
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 157

      📌 Setup phase

      duration:

      0.0006494028493762016
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002387138083577156
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022068386897444725
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 158

      📌 Setup phase

      duration:

      0.0006441026926040649
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024967920035123825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002131778746843338
      

      outcome:

      passed
      
  • 📄 test_utils_elog.py

    Function: test_get_default_elog_instance_with_direct_password_and_real_check

    • Test 160

      📌 Setup phase

      duration:

      0.00015772413462400436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.009739532135426998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001586461439728737
      

      outcome:

      passed
      

    Function: test_get_default_elog_instance_asks_password_and_opens

    • Test 161

      📌 Setup phase

      duration:

      0.00013166293501853943
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.009561907965689898
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001509874127805233
      

      outcome:

      passed
      

    Function: test_get_default_elog_with_path_home

    • Test 162

      📌 Setup phase

      duration:

      0.00013092206791043282
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.009566546883434057
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015102792531251907
      

      outcome:

      passed
      
  • 📄 test_utils_eval.py

    Function: test_arithmetic_eval_valid

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003719870001077652
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019647786393761635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016497494652867317
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000257131177932024
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017049629241228104
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014490820467472076
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002339179627597332
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015680911019444466
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001488807611167431
      

      outcome:

      passed
      
    • Test 168
      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.0002305661328136921
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015899073332548141
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014734920114278793
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022526877000927925
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001556500792503357
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001580929383635521
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002278466708958149
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015539070591330528
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014111585915088654
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022147409617900848
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016316398978233337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001477021723985672
      

      outcome:

      passed
      
    • Test 172
      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.0002163001336157322
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016939034685492516
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001439950428903103
      

      outcome:

      passed
      
    • Test 173
      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.0002213851548731327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016334140673279762
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001376592554152012
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022335583344101906
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015509175136685371
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000161860603839159
      

      outcome:

      passed
      
    • Test 175
      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.00023308070376515388
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016355421394109726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001373598352074623
      

      outcome:

      passed
      
    • Test 176
      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.00022505084052681923
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001702466979622841
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000167021993547678
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002178647555410862
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000154019333422184
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014126300811767578
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021967710927128792
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018620211631059647
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014711683616042137
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022388994693756104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001591220498085022
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013488996773958206
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023575080558657646
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001606210134923458
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001392429694533348
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023226207122206688
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016024988144636154
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013997172936797142
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022428110241889954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014556711539626122
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013507483527064323
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022459682077169418
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001574312336742878
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001635691151022911
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021691108122467995
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001538507640361786
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014623207971453667
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_raises_with_message

    • Test 185
      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.00022631464526057243
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00043747201561927795
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014622509479522705
      

      outcome:

      passed
      
    • Test 186
      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.00022900383919477463
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038240011781454086
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014374684542417526
      

      outcome:

      passed
      
    • Test 187
      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.00021778931841254234
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003614518791437149
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014572590589523315
      

      outcome:

      passed
      
    • Test 188
      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.0002207406796514988
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036382628604769707
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015190988779067993
      

      outcome:

      passed
      
    • Test 189
      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.0002370160073041916
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033086398616433144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013881316408514977
      

      outcome:

      passed
      
    • Test 190
      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.00022830115631222725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018198788166046143
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015847617760300636
      

      outcome:

      passed
      
    • Test 191
      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.0003261971287429333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003791279159486294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015543494373559952
      

      outcome:

      passed
      
    • Test 192
      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.000230506993830204
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035037193447351456
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001728641800582409
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_runtime_errors

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002369317226111889
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001893453299999237
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014712195843458176
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022312533110380173
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001823720522224903
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001408793032169342
      

      outcome:

      passed
      

    Function: test_forgiving_eval

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002266671508550644
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017382996156811714
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013825995847582817
      

      outcome:

      passed
      
    • Test 196
      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.00021504703909158707
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016318215057253838
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014241505414247513
      

      outcome:

      passed
      
    • Test 197
      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.00023782672360539436
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015648966655135155
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001329369843006134
      

      outcome:

      passed
      
    • Test 198
      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.0002340376377105713
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015983078628778458
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001356080174446106
      

      outcome:

      passed
      

    Function: test_defaulting_eval

    • Test 199
      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.00026705302298069
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015797466039657593
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001637549139559269
      

      outcome:

      passed
      
    • Test 200
      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.0002568010240793228
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015967199578881264
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001605418510735035
      

      outcome:

      passed
      
    • Test 201
      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.00026486674323678017
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016657402738928795
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001498558558523655
      

      outcome:

      passed
      
    • Test 202
      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.0002651079557836056
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000167130958288908
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015271035954356194
      

      outcome:

      passed
      
  • 📄 test_utils_exceptions.py

    Function: test_chained_exception_various

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

      📌 Runtime Parameters

      params:
        func: <function cause_key_error at 0x7f2ff9057820>
        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.0002529779449105263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016313185915350914
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014260690659284592
      

      outcome:

      passed
      
    • Test 204
      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 0x7f2ff9057940>
        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.00021822284907102585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014958297833800316
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001342720352113247
      

      outcome:

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

      📌 Runtime Parameters

      params:
        func: <function cause_zero_division at 0x7f2ff90579d0>
        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.00022419774904847145
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014770496636629105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014784280210733414
      

      outcome:

      passed
      
    • Test 206
      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 0x7f2ff9057a60>
        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.00021236902102828026
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015083421021699905
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014997273683547974
      

      outcome:

      passed
      
    • Test 207
      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 0x7f2ff9057af0>
        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.00021670013666152954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001424197107553482
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013772724196314812
      

      outcome:

      passed
      

    Function: test_printed_exception

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0008744942024350166
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010335138067603111
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004871687851846218
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000589161179959774
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008667628280818462
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00043162237852811813
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005778148770332336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007859081961214542
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000445476733148098
      

      outcome:

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023924713023006916
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004213242791593075
      

      outcome:

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009585828520357609
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004401691257953644
      

      outcome:

      passed
      
  • 📄 test_utils_get_adj.py

    Function: test_get_adj_success

    • Test 213

      📌 Setup phase

      duration:

      0.00013045407831668854
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008472329936921597
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001823781058192253
      

      outcome:

      passed
      

    Function: test_get_adj_not_found

    • Test 214

      📌 Setup phase

      duration:

      0.00048237061128020287
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001025221310555935
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003892919048666954
      

      outcome:

      passed
      

    Function: test_ensure_adjs_mixed

    • Test 215

      📌 Setup phase

      duration:

      0.00012650573626160622
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008015455678105354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011010793969035149
      

      outcome:

      passed
      

    Function: test_get_adjs_filter

    • Test 216

      📌 Setup phase

      duration:

      0.0001151631586253643
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008825310505926609
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011240271851420403
      

      outcome:

      passed
      
  • 📄 test_utils_hastepics.py

    Function: test_get_pv_connect_false_and_true

    • Test 217

      📌 Setup phase

      duration:

      0.00026417477056384087
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.12990916287526488
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0005181408487260342
      

      outcome:

      passed
      

    Function: test_motor_invalid_name_raises

    • Test 219

      📌 Setup phase

      duration:

      0.00018109707161784172
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030866311863064766
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001140139065682888
      

      outcome:

      passed
      

    Function: test_motor_init_list_and_extras_build_handles_eagerly

    • Test 221

      📌 Setup phase

      duration:

      0.00015879236161708832
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023131640627980232
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013745669275522232
      

      outcome:

      passed
      

    Function: test_motor_val_connect_via_cache

    • Test 222

      📌 Setup phase

      duration:

      0.0001467280089855194
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.2268181350082159
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002483520656824112
      

      outcome:

      passed
      

    Function: test_speedup_get_pv

    • Test 223

      📌 Setup phase

      duration:

      0.0001902361400425434
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.018123419024050236
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019606994464993477
      

      outcome:

      passed
      

    Function: test_motor_init_list_attrs_created

    • Test 226

      📌 Setup phase

      duration:

      0.00019925879314541817
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011442378163337708
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014206767082214355
      

      outcome:

      passed
      

    Function: test_motor_extras_attrs_correct

    • Test 227

      📌 Setup phase

      duration:

      0.00016718590632081032
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009920173324644566
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001224488951265812
      

      outcome:

      passed
      

    Function: test_motor_callbacks_empty

    • Test 228

      📌 Setup phase

      duration:

      0.0001370939426124096
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015866020694375038
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015612691640853882
      

      outcome:

      passed
      
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 229

      📌 Setup phase

      duration:

      0.0007707849144935608
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008892430923879147
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002804212272167206
      

      outcome:

      passed
      
  • 📄 test_utils_jsonext.py

    Function: test_json_validate_save_load

    • Test 230
      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.0010978039354085922
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009982381016016006
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020597875118255615
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0017773783765733242
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009495089761912823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021010730415582657
      

      outcome:

      passed
      
    • Test 232
      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.0011401851661503315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009450367651879787
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018670596182346344
      

      outcome:

      passed
      
    • Test 233
      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.0010617519728839397
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007228679023683071
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018866406753659248
      

      outcome:

      passed
      
    • Test 234
      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.001051241997629404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006663510575890541
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019132904708385468
      

      outcome:

      passed
      
    • Test 235
      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.0009132688865065575
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006247237324714661
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023380527272820473
      

      outcome:

      passed
      
    • Test 236
      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.0007886709645390511
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001408078707754612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019811326637864113
      

      outcome:

      passed
      
    • Test 237
      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.0017073648050427437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012737112119793892
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020956015214323997
      

      outcome:

      passed
      
  • 📄 test_utils_lazypv.py

    Function: test_getattr

    • Test 238

      📌 Setup phase

      duration:

      0.00016363663598895073
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005500609986484051
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012566708028316498
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_custom_log_outputs

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0015273848548531532
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008737766183912754
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002553570084273815
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00041666626930236816
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007278160192072392
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024465378373861313
      

      outcome:

      passed
      
  • 📄 test_utils_logign.py

    Function: test_ignore_log_msg_behavior

    • Test 242
      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.000666291918605566
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009185182861983776
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026450492441654205
      

      outcome:

      passed
      
    • Test 243
      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.0004395218566060066
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005395729094743729
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002351147122681141
      

      outcome:

      passed
      

    Function: test_ignore_only_by_level

    • Test 244

      📌 Setup phase

      duration:

      0.00026751309633255005
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00047875894233584404
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017288979142904282
      

      outcome:

      passed
      

    Function: test_ignore_only_by_msg

    • Test 245

      📌 Setup phase

      duration:

      0.0002367463894188404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037675071507692337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018653320148587227
      

      outcome:

      passed
      

    Function: test_filter_removed_after_context

    • Test 246

      📌 Setup phase

      duration:

      0.00023440411314368248
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040185218676924706
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001807715743780136
      

      outcome:

      passed
      
  • 📄 test_utils_marker.py

    Function: test_format_value_with_units

    • Test 247

      📌 Setup phase

      duration:

      0.00012621888890862465
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016426900401711464
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.975815191864967e-05
      

      outcome:

      passed
      

    Function: test_format_value_without_units

    • Test 248

      📌 Setup phase

      duration:

      0.00012600095942616463
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015723612159490585
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010887812823057175
      

      outcome:

      passed
      

    Function: test_marker_name_default

    • Test 249

      📌 Setup phase

      duration:

      0.00012158695608377457
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023006601259112358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.867828339338303e-05
      

      outcome:

      passed
      

    Function: test_marker_name_custom

    • Test 250

      📌 Setup phase

      duration:

      0.00012405402958393097
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015308009460568428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010084360837936401
      

      outcome:

      passed
      

    Function: test_marker_repr_format

    • Test 251

      📌 Setup phase

      duration:

      0.00010135583579540253
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002009873278439045
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.806780144572258e-05
      

      outcome:

      passed
      

    Function: test_marker_update_changes_value

    • Test 252

      📌 Setup phase

      duration:

      0.00011628307402133942
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014906609430909157
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.766314178705215e-05
      

      outcome:

      passed
      

    Function: test_marker_update_with_explicit_value

    • Test 253

      📌 Setup phase

      duration:

      0.00010741082951426506
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001380867324769497
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.391363710165024e-05
      

      outcome:

      passed
      

    Function: test_marker_goto_sets_value_and_returns_result

    • Test 254

      📌 Setup phase

      duration:

      9.948760271072388e-05
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001798751763999462
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010980572551488876
      

      outcome:

      passed
      

    Function: test_marker_call_is_alias_of_goto

    • Test 255

      📌 Setup phase

      duration:

      0.00010607019066810608
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016724737361073494
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.515834972262383e-05
      

      outcome:

      passed
      

    Function: test_markers_register_and_access

    • Test 256

      📌 Setup phase

      duration:

      0.00010096421465277672
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032378314062952995
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010989932343363762
      

      outcome:

      passed
      

    Function: test_markers_repr_contains_all

    • Test 257

      📌 Setup phase

      duration:

      0.00010780896991491318
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029868120327591896
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010290415957570076
      

      outcome:

      passed
      

    Function: test_marker_registry_dict_is_printable_dict

    • Test 258

      📌 Setup phase

      duration:

      0.00011164695024490356
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002138218842446804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011133216321468353
      

      outcome:

      passed
      

    Function: test_markers_getitem_invalid_key_raises

    • Test 259

      📌 Setup phase

      duration:

      0.00012301979586482048
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020138965919613838
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.940704330801964e-05
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 260

      📌 Setup phase

      duration:

      0.00012329919263720512
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001864079385995865
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010134000331163406
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 261

      📌 Setup phase

      duration:

      0.00010866997763514519
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0055155581794679165
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001314920373260975
      

      outcome:

      passed
      
  • 📄 test_utils_namespace.py

    Function: test_namespace_pretty_repr_mixed_and_nested

    • Test 262

      📌 Setup phase

      duration:

      0.00012725871056318283
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002692621201276779
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011300807818770409
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

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

      📌 Runtime Parameters

      params:
        start: 0
        stop: 5
        step: 1
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
      id: 0-5-1-expected0
      

      📌 Setup phase

      duration:

      0.00035044411197304726
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01987268775701523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022432301193475723
      

      outcome:

      passed
      
    • Test 264
      params: start=5, stop=0, step=-1, expected=[0, 1, 2, 3, 4, 5]

      📌 Runtime Parameters

      params:
        start: 5
        stop: 0
        step: -1
        expected:
          - (vide)
          - 1
          - 2
          - 3
          - 4
          - 5
      id: 5-0--1-expected1
      

      📌 Setup phase

      duration:

      0.00039957137778401375
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040736282244324684
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001930929720401764
      

      outcome:

      passed
      
    • Test 265
      params: start=1, stop=2, step=0.3, expected=[1, 1.3333333333333333, 1.6666666666666667, 2]

      📌 Runtime Parameters

      params:
        start: 1
        stop: 2
        step: 0.3
        expected:
          - 1
          - 1.3333333333333333
          - 1.6666666666666667
          - 2
      id: 1-2-0.3-expected2
      

      📌 Setup phase

      duration:

      0.00034012366086244583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003774692304432392
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018044700846076012
      

      outcome:

      passed
      
    • Test 266
      params: start=-2, stop=2, step=1.5, expected=[-2, -0.6666666666666666, 0.6666666666666666, 2]

      📌 Runtime Parameters

      params:
        start: -2
        stop: 2
        step: 1.5
        expected:
          - -2
          - -0.6666666666666666
          - 0.6666666666666666
          - 2
      id: -2-2-1.5-expected3
      

      📌 Setup phase

      duration:

      0.00031998706981539726
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035928282886743546
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017878320068120956
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00034271925687789917
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035698339343070984
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001888340339064598
      

      outcome:

      passed
      

    Function: test_nice_linspace

    • Test 268
      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.00034540705382823944
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035105878487229347
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018930388614535332
      

      outcome:

      passed
      
    • Test 269
      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.0008268901146948338
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037023425102233887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002212943509221077
      

      outcome:

      passed
      
    • Test 270
      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.0003223181702196598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003496161662042141
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019290810450911522
      

      outcome:

      passed
      
    • Test 271
      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.0003408440388739109
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033830292522907257
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018675904721021652
      

      outcome:

      passed
      
    • Test 272
      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.0003411578945815563
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003441479057073593
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018595391884446144
      

      outcome:

      passed
      
    • Test 273
      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.0003410652279853821
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003407411277294159
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018214061856269836
      

      outcome:

      passed
      
    • Test 274
      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.0003357487730681896
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035191094502806664
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001817028969526291
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00033314991742372513
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003331168554723263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019711023196578026
      

      outcome:

      passed
      

    Function: test_nice_steps_centered

    • Test 276
      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.00038555776700377464
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038562482222914696
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020209187641739845
      

      outcome:

      passed
      
    • Test 277
      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.000381717924028635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00037555815652012825
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002065417356789112
      

      outcome:

      passed
      
    • Test 278
      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.0003817831166088581
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003453250974416733
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020902976393699646
      

      outcome:

      passed
      
    • Test 279
      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.00037890300154685974
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003337129019200802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020491192117333412
      

      outcome:

      passed
      
    • Test 280
      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-expected4
      

      📌 Setup phase

      duration:

      0.0003762291744351387
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033466098830103874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020097382366657257
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003856020048260689
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003444957546889782
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019838614389300346
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

    • Test 282
      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-expected0
      

      📌 Setup phase

      duration:

      0.00040440214797854424
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003472501412034035
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002079429104924202
      

      outcome:

      passed
      
    • Test 283
      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-expected1
      

      📌 Setup phase

      duration:

      0.0004045912064611912
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032801879569888115
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021559791639447212
      

      outcome:

      passed
      
    • Test 284
      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.0003762352280318737
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003395094536244869
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020507490262389183
      

      outcome:

      passed
      
    • Test 285
      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.000392307061702013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004328950308263302
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020601507276296616
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038771890103816986
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003283177502453327
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020518014207482338
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038937199860811234
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033380696550011635
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021082395687699318
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003757351078093052
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003299233503639698
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021221209317445755
      

      outcome:

      passed
      

    Function: test_nice_steps_right_aligned

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003910018131136894
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003486359491944313
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001964927650988102
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003975220024585724
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003297780640423298
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020381389185786247
      

      outcome:

      passed
      
    • Test 291
      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.00040425220504403114
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003296462818980217
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022556772455573082
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00036366889253258705
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003378940746188164
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020490307360887527
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038649793714284897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033350521698594093
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000208261888474226
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003897021524608135
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.11953586712479591
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030047399923205376
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0004409118555486202
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004460480995476246
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020761601626873016
      

      outcome:

      passed
      

    Function: test_within_scalar

    • Test 296
      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.00034667691215872765
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015547405928373337
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017274077981710434
      

      outcome:

      passed
      
    • Test 297
      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.0003180941566824913
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013970863074064255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016540102660655975
      

      outcome:

      passed
      
    • Test 298
      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.0003240099176764488
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013967789709568024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016718218103051186
      

      outcome:

      passed
      
    • Test 299
      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.000306619331240654
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013926299288868904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017854617908596992
      

      outcome:

      passed
      
    • Test 300
      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.0002957168035209179
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001410292461514473
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017291726544499397
      

      outcome:

      passed
      

    Function: test_within_fraction

    • Test 301
      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.0003301273100078106
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000306813046336174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018693599849939346
      

      outcome:

      passed
      
    • Test 302
      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.0003398861736059189
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002742498181760311
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017800508067011833
      

      outcome:

      passed
      
    • Test 303
      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.000315879937261343
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002476838417351246
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017263228073716164
      

      outcome:

      passed
      
    • Test 304
      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.00033918581902980804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023612799122929573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017237430438399315
      

      outcome:

      passed
      

    Function: test_fraction_to_percentage

    • Test 305
      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.00029446370899677277
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001464691013097763
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015603890642523766
      

      outcome:

      passed
      
    • Test 306
      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.00026626186445355415
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001499457284808159
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001691519282758236
      

      outcome:

      passed
      
    • Test 307
      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.00026218872517347336
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014058221131563187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015151593834161758
      

      outcome:

      passed
      

    Function: test_get_dtype

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022331299260258675
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014861905947327614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014810822904109955
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024238694459199905
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013949209824204445
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015487335622310638
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022750487551093102
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013617193326354027
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001458427868783474
      

      outcome:

      passed
      

    Function: test_get_shape

    • Test 311
      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.00022621126845479012
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013920804485678673
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016638264060020447
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002437019720673561
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014118291437625885
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013737892732024193
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022302614524960518
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013812491670250893
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001400369219481945
      

      outcome:

      passed
      

    Function: test_is_array

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022920779883861542
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014049699530005455
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015909317880868912
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00026176683604717255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014383438974618912
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015034666284918785
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022396771237254143
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013668183237314224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014176266267895699
      

      outcome:

      passed
      
  • 📄 test_utils_path.py

    Function: test_can_create_all_files_user_says_yes

    • Test 317

      📌 Setup phase

      duration:

      0.00011570239439606667
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007306057959794998
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012161117047071457
      

      outcome:

      passed
      

    Function: test_can_create_all_files_user_says_no

    • Test 318

      📌 Setup phase

      duration:

      0.0001150909811258316
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00042352592572569847
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011164601892232895
      

      outcome:

      passed
      

    Function: test_make_missing_dir_creates_folder

    • Test 319

      📌 Setup phase

      duration:

      0.00011689262464642525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006961552426218987
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011274497956037521
      

      outcome:

      passed
      

    Function: test_glob_files_returns_matching_files_only

    • Test 320

      📌 Setup phase

      duration:

      0.00012619094923138618
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010302532464265823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001146090216934681
      

      outcome:

      passed
      

    Function: test_filter_files_excludes_directories

    • Test 321

      📌 Setup phase

      duration:

      0.00013193022459745407
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005559059791266918
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012573972344398499
      

      outcome:

      passed
      
  • 📄 test_utils_picklio.py

    Function: test_pickle_and_unpickle

    • Test 322
      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.0007175449281930923
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003856341354548931
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017825094982981682
      

      outcome:

      passed
      
    • Test 323
      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.0005663549527525902
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030325306579470634
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016187597066164017
      

      outcome:

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

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005096020177006721
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003416799008846283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016119889914989471
      

      outcome:

      passed
      
    • Test 325
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.0005552871152758598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00027700792998075485
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017698714509606361
      

      outcome:

      passed
      
    • Test 326
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.000542688649147749
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029074307531118393
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001595858484506607
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005398960784077644
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003490219824016094
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015438487753272057
      

      outcome:

      passed
      
    • Test 328
      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.0005644769407808781
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029078032821416855
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000163292046636343
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxlen_valid

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002506496384739876
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021297205239534378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014518201351165771
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002488349564373493
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014357315376400948
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001383647322654724
      

      outcome:

      passed
      
    • Test 331
      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.00023004505783319473
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014721089974045753
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013289693742990494
      

      outcome:

      passed
      
    • Test 332
      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.00021692225709557533
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001414809376001358
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013875775039196014
      

      outcome:

      passed
      

    Function: test_strlen

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002198982983827591
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014579202979803085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013535981997847557
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023422110825777054
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014069583266973495
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014959275722503662
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022286782041192055
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013686111196875572
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013840384781360626
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00020934222266077995
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013237306848168373
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014334684237837791
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002499409019947052
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016772514209151268
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001439601182937622
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022242264822125435
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002753916196525097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015229405835270882
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022672303020954132
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001383572816848755
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013732723891735077
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002257772721350193
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013672560453414917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013674702495336533
      

      outcome:

      passed
      
    • Test 341
      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.00023175030946731567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013688486069440842
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001612589694559574
      

      outcome:

      passed
      

    Function: test_maxstrlen

    • Test 342
      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.0002186167985200882
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015381304547190666
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014171097427606583
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022619962692260742
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001537790521979332
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014709634706377983
      

      outcome:

      passed
      
    • Test 344
      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.0002186289057135582
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014611287042498589
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013303803279995918
      

      outcome:

      passed
      
    • Test 345
      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.00021724635735154152
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014729704707860947
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013680709525942802
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022265268489718437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016157003119587898
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001363246701657772
      

      outcome:

      passed
      

    Function: test_transpose_matrix

    • Test 347
      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.00023261690512299538
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014061015099287033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013727089390158653
      

      outcome:

      passed
      
    • Test 348

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021814415231347084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013979198411107063
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013732770457863808
      

      outcome:

      passed
      
    • Test 349
      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.000224284827709198
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001346641220152378
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015153177082538605
      

      outcome:

      passed
      

    Function: test_prepend

    • Test 350
      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.0002701818011701107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001357048749923706
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014850683510303497
      

      outcome:

      passed
      
    • Test 351
      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.00025906506925821304
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001385388895869255
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015855534002184868
      

      outcome:

      passed
      
    • Test 352
      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.00026131095364689827
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014322903007268906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015834113582968712
      

      outcome:

      passed
      
    • Test 353
      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.00027114711701869965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001351991668343544
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000147918239235878
      

      outcome:

      passed
      

    Function: test_fmt_table_line

    • Test 354
      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.0002836603671312332
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017558177933096886
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016263825818896294
      

      outcome:

      passed
      
    • Test 355
      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.0002692490816116333
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001522451639175415
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017081992700695992
      

      outcome:

      passed
      
    • Test 356
      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.00027049798518419266
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014354195445775986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015170779079198837
      

      outcome:

      passed
      
    • Test 357
      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.0002616452984511852
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015455111861228943
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015222281217575073
      

      outcome:

      passed
      
    • Test 358
      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.0002650781534612179
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014014123007655144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015129009261727333
      

      outcome:

      passed
      
    • Test 359
      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.000269188079982996
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015826988965272903
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014864513650536537
      

      outcome:

      passed
      
    • Test 360
      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.00026590609923005104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014434009790420532
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015165237709879875
      

      outcome:

      passed
      
    • Test 361
      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.0002512088976800442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013840105384588242
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015641795471310616
      

      outcome:

      passed
      

    Function: test_fmt_label_sep

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003633340820670128
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001585092395544052
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015490781515836716
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000257349107414484
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014831684529781342
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016107922419905663
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027765100821852684
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014635594561696053
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014883186668157578
      

      outcome:

      passed
      

    Function: test_printable_dict_with_header

    • Test 365
      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.00027700094506144524
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020942511036992073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015541212633252144
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 366

      📌 Setup phase

      duration:

      0.00011066067963838577
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023709097877144814
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011767726391553879
      

      outcome:

      passed
      

    Function: test_printable_table

    • Test 367
      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.0003036069683730602
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034205522388219833
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019028782844543457
      

      outcome:

      passed
      
  • 📄 test_utils_pv.py

    Function: test_put_with_progress_and_repr

    • Test 368
      params: value_new=25, value_before=0, show_bar=true, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: 25
        value_before: 0
        show_bar: True
        expected_color: 
      id: 25-0-True-\x1b[32m
      

      📌 Setup phase

      duration:

      0.00034973490983247757
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.4270778982900083
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911233.1115406
        msecs: 111.54055595397949
        relativeCreated: 9305.101156234741
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=0 new=0.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911233.1119041
        msecs: 111.90414428710938
        relativeCreated: 9305.464744567871
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=4 time=1123759233.112060248
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911233.112099
        msecs: 112.09893226623535
        relativeCreated: 9305.659532546997
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 0.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911233.3139281
        msecs: 313.92812728881836
        relativeCreated: 9507.48872756958
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=0.0 new=25.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911233.3146641
        msecs: 314.6641254425049
        relativeCreated: 9508.224725723267
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=25.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759233.314795515
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911233.314823
        msecs: 314.8229122161865
        relativeCreated: 9508.383512496948
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00033173663541674614
      

      outcome:

      passed
      
    • Test 369
      params: value_new=50, value_before=25, show_bar=true, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: 50
        value_before: 25
        show_bar: True
        expected_color: 
      id: 50-25-True-\x1b[32m
      

      📌 Setup phase

      duration:

      0.00043263472616672516
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.40493228333070874
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 25.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911233.518854
        msecs: 518.8539028167725
        relativeCreated: 9712.414503097534
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=25.0 new=25.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911233.5191844
        msecs: 519.1843509674072
        relativeCreated: 9712.744951248169
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=25.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123759233.519297731
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911233.5193238
        msecs: 519.3238258361816
        relativeCreated: 9712.884426116943
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 25.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911233.7207372
        msecs: 720.7372188568115
        relativeCreated: 9914.297819137573
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=25.0 new=50.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911233.7213702
        msecs: 721.3702201843262
        relativeCreated: 9914.930820465088
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=50.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759233.721601739
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911233.7216575
        msecs: 721.6575145721436
        relativeCreated: 9915.218114852905
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0003549358807504177
      

      outcome:

      passed
      
    • Test 370
      params: value_new=75, value_before=50, show_bar=false, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: 75
        value_before: 50
        show_bar: False
        expected_color: 
      id: 75-50-False-\x1b[32m
      

      📌 Setup phase

      duration:

      0.0004223068244755268
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.40382505021989346
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 50.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911233.925671
        msecs: 925.6711006164551
        relativeCreated: 10119.231700897217
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=50.0 new=50.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911233.9260092
        msecs: 926.0091781616211
        relativeCreated: 10119.569778442383
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=50.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123759233.926173657
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911233.9262025
        msecs: 926.2025356292725
        relativeCreated: 10119.763135910034
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=50.0 new=75.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911234.127322
        msecs: 127.32195854187012
        relativeCreated: 10320.882558822632
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=75.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759234.127558793
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911234.1275907
        msecs: 127.59065628051758
        relativeCreated: 10321.15125656128
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0003378060646355152
      

      outcome:

      passed
      
    • Test 371
      params: value_new=100, value_before=75, show_bar=true, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: 100
        value_before: 75
        show_bar: True
        expected_color: 
      id: 100-75-True-\x1b[32m
      

      📌 Setup phase

      duration:

      0.0004103449173271656
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.4046468008309603
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 75.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911234.3314943
        msecs: 331.4943313598633
        relativeCreated: 10525.054931640625
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=75.0 new=75.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911234.3319588
        msecs: 331.9587707519531
        relativeCreated: 10525.519371032715
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=75.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123759234.332055873
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911234.3320918
        msecs: 332.0918083190918
        relativeCreated: 10525.652408599854
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 75.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911234.533364
        msecs: 533.3640575408936
        relativeCreated: 10726.924657821655
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=75.0 new=100.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911234.5340939
        msecs: 534.0938568115234
        relativeCreated: 10727.654457092285
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=100.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759234.534216122
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911234.5342395
        msecs: 534.2395305633545
        relativeCreated: 10727.800130844116
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0003443211317062378
      

      outcome:

      passed
      
    • Test 372
      params: value_new=150, value_before=100, show_bar=false, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: 150
        value_before: 100
        show_bar: False
        expected_color: 
      id: 150-100-False-\x1b[32m
      

      📌 Setup phase

      duration:

      0.00043720705434679985
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.40417659003287554
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 100.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911234.7380931
        msecs: 738.0931377410889
        relativeCreated: 10931.65373802185
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=100.0 new=100.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911234.7384229
        msecs: 738.4228706359863
        relativeCreated: 10931.983470916748
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=100.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123759234.738526954
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911234.7385528
        msecs: 738.5528087615967
        relativeCreated: 10932.113409042358
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=100.0 new=150.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911234.9400113
        msecs: 940.0112628936768
        relativeCreated: 11133.571863174438
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=150.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759234.940251236
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911234.940285
        msecs: 940.2849674224854
        relativeCreated: 11133.845567703247
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00033505260944366455
      

      outcome:

      passed
      
    • Test 373
      params: value_new=-50, value_before=150, show_bar=true, expected_color="\u001b[32m"

      📌 Runtime Parameters

      params:
        value_new: -50
        value_before: 150
        show_bar: True
        expected_color: 
      id: -50-150-True-\x1b[32m
      

      📌 Setup phase

      duration:

      0.00046714581549167633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.40520579600706697
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 150.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911235.144373
        msecs: 144.37294006347656
        relativeCreated: 11337.933540344238
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=150.0 new=150.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911235.1447763
        msecs: 144.7763442993164
        relativeCreated: 11338.336944580078
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=150.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123759235.144905695
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911235.1449335
        msecs: 144.93346214294434
        relativeCreated: 11338.494062423706
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 150.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911235.3464243
        msecs: 346.4243412017822
        relativeCreated: 11539.984941482544
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=150.0 new=-50.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911235.3470647
        msecs: 347.064733505249
        relativeCreated: 11540.62533378601
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=-50.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759235.347183815
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911235.347217
        msecs: 347.2170829772949
        relativeCreated: 11540.777683258057
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0005167056806385517
      

      outcome:

      passed
      

    Function: test_use_callback_context_manager

    • Test 374

      📌 Setup phase

      duration:

      0.00017180992290377617
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.8091931301169097
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value -50.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911235.5518284
        msecs: 551.8283843994141
        relativeCreated: 11745.388984680176
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=-50.0 new=0.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911235.5521638
        msecs: 552.16383934021
        relativeCreated: 11745.724439620972
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759235.552315394
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911235.5523472
        msecs: 552.3471832275391
        relativeCreated: 11745.9077835083
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 0.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911235.7538273
        msecs: 753.8273334503174
        relativeCreated: 11947.38793373108
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=0.0 new=42.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911235.7544994
        msecs: 754.4994354248047
        relativeCreated: 11948.060035705566
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=42.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759235.754611673
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911235.7546356
        msecs: 754.6355724334717
        relativeCreated: 11948.196172714233
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 42.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911235.95606
        msecs: 956.0599327087402
        relativeCreated: 12149.620532989502
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=42.0 new=24.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911235.9568048
        msecs: 956.8047523498535
        relativeCreated: 12150.365352630615
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=24.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759235.956920349
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911235.956945
        msecs: 956.9449424743652
        relativeCreated: 12150.505542755127
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 24.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.1583166
        msecs: 158.31661224365234
        relativeCreated: 12351.877212524414
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.writeValue
        msg: VAL: 73bc5a2cbed8 root  old=24.0 new=75.0
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 549
        funcName: writeValue
        created: 1754911236.158975
        msecs: 158.97488594055176
        relativeCreated: 12352.535486221313
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.Driver.setParam
        msg: VAL: value=75.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123759236.159079391
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 175
        funcName: setParam
        created: 1754911236.159103
        msecs: 159.1029167175293
        relativeCreated: 12352.663516998291
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0002424856647849083
      

      outcome:

      passed
      

    Function: test_orig_repr_is_not_custom_repr

    • Test 375

      📌 Setup phase

      duration:

      0.00014505581930279732
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002093397080898285
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 75.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.3624935
        msecs: 362.49351501464844
        relativeCreated: 12556.05411529541
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 75.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.362802
        msecs: 362.80202865600586
        relativeCreated: 12556.362628936768
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: VAL: Read value 75.0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.3634744
        msecs: 363.47436904907227
        relativeCreated: 12557.034969329834
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00015974510461091995
      

      outcome:

      passed
      
  • 📄 test_utils_pvpreload.py

    Function: test_file_age

    • Test 376
      params: age_seconds=30, expected="0:00:30"

      📌 Runtime Parameters

      params:
        age_seconds: 30
        expected: 0:00:30
      id: 30-expected0
      

      📌 Setup phase

      duration:

      0.0009779012762010098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.18058604188263416
      

      outcome:

      passed
      

      log:

      -   name: passlib.utils.compat
        msg: loaded lazy attr 'BytesIO': <class '_io.BytesIO'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/utils/compat/__init__.py
        filename: __init__.py
        module: __init__
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 449
        funcName: __getattr__
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.utils.compat
        msg: loaded lazy attr 'NativeStringIO': <class '_io.StringIO'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/utils/compat/__init__.py
        filename: __init__.py
        module: __init__
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 449
        funcName: __getattr__
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.utils.compat
        msg: loaded lazy attr 'OrderedDict': <class 'collections.OrderedDict'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/utils/compat/__init__.py
        filename: __init__.py
        module: __init__
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 449
        funcName: __getattr__
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.utils.compat
        msg: loaded lazy attr 'SafeConfigParser': <class 'configparser.ConfigParser'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/utils/compat/__init__.py
        filename: __init__.py
        module: __init__
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 449
        funcName: __getattr__
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.utils.compat
        msg: loaded lazy attr 'UnicodeIO': <class '_io.StringIO'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/utils/compat/__init__.py
        filename: __init__.py
        module: __init__
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 449
        funcName: __getattr__
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'apr_md5_crypt' handler: <class 'passlib.handlers.md5_crypt.apr_md5_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'argon2' handler: <class 'passlib.handlers.argon2.argon2'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'atlassian_pbkdf2_sha1' handler: <class 'passlib.handlers.pbkdf2.atlassian_pbkdf2_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'bcrypt' handler: <class 'passlib.handlers.bcrypt.bcrypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'bcrypt_sha256' handler: <class 'passlib.handlers.bcrypt.bcrypt_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'bigcrypt' handler: <class 'passlib.handlers.des_crypt.bigcrypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'bsd_nthash' handler: PrefixWrapper('bsd_nthash', <class 'passlib.handlers.windows.nthash'>, prefix='$3$$')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'bsdi_crypt' handler: <class 'passlib.handlers.des_crypt.bsdi_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'cisco_asa' handler: <class 'passlib.handlers.cisco.cisco_asa'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'cisco_pix' handler: <class 'passlib.handlers.cisco.cisco_pix'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'cisco_type7' handler: <class 'passlib.handlers.cisco.cisco_type7'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'crypt16' handler: <class 'passlib.handlers.des_crypt.crypt16'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'cta_pbkdf2_sha1' handler: <class 'passlib.handlers.pbkdf2.cta_pbkdf2_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'des_crypt' handler: <class 'passlib.handlers.des_crypt.des_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'pbkdf2_sha1' handler: <class 'passlib.handlers.pbkdf2.pbkdf2_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'pbkdf2_sha256' handler: <class 'passlib.handlers.pbkdf2.pbkdf2_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_argon2' handler: PrefixWrapper('django_argon2', <class 'passlib.handlers.argon2.<customized argon2 hasher>'>, prefix='argon2')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_bcrypt' handler: PrefixWrapper('django_bcrypt', <class 'passlib.handlers.bcrypt.bcrypt'>, prefix='bcrypt$')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_bcrypt_sha256' handler: <class 'passlib.handlers.django.django_bcrypt_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_des_crypt' handler: <class 'passlib.handlers.django.django_des_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_disabled' handler: <class 'passlib.handlers.django.django_disabled'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_pbkdf2_sha1' handler: <class 'passlib.handlers.django.django_pbkdf2_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_pbkdf2_sha256' handler: <class 'passlib.handlers.django.django_pbkdf2_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_salted_md5' handler: <class 'passlib.handlers.django.django_salted_md5'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'django_salted_sha1' handler: <class 'passlib.handlers.django.django_salted_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'dlitz_pbkdf2_sha1' handler: <class 'passlib.handlers.pbkdf2.dlitz_pbkdf2_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'fshp' handler: <class 'passlib.handlers.fshp.fshp'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'grub_pbkdf2_sha512' handler: <class 'passlib.handlers.pbkdf2.grub_pbkdf2_sha512'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'hex_md4' handler: <class 'passlib.handlers.digests.hex_md4'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'hex_md5' handler: <class 'passlib.handlers.digests.hex_md5'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'hex_sha1' handler: <class 'passlib.handlers.digests.hex_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'hex_sha256' handler: <class 'passlib.handlers.digests.hex_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'hex_sha512' handler: <class 'passlib.handlers.digests.hex_sha512'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'htdigest' handler: <class 'passlib.handlers.digests.htdigest'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_bcrypt' handler: PrefixWrapper('ldap_bcrypt', 'bcrypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_bsdi_crypt' handler: PrefixWrapper('ldap_bsdi_crypt', 'bsdi_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_des_crypt' handler: PrefixWrapper('ldap_des_crypt', 'des_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_hex_md5' handler: PrefixWrapper('ldap_hex_md5', 'hex_md5', prefix='{MD5}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_hex_sha1' handler: PrefixWrapper('ldap_hex_sha1', 'hex_sha1', prefix='{SHA}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_md5' handler: <class 'passlib.handlers.ldap_digests.ldap_md5'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'md5_crypt' handler: <class 'passlib.handlers.md5_crypt.md5_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_md5_crypt' handler: PrefixWrapper('ldap_md5_crypt', 'md5_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_pbkdf2_sha1' handler: PrefixWrapper('ldap_pbkdf2_sha1', <class 'passlib.handlers.pbkdf2.pbkdf2_sha1'>, prefix='{PBKDF2}', orig_prefix='$pbkdf2$')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_pbkdf2_sha256' handler: PrefixWrapper('ldap_pbkdf2_sha256', <class 'passlib.handlers.pbkdf2.pbkdf2_sha256'>, prefix='{PBKDF2-SHA256}', orig_prefix='$pbkdf2-sha256$')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_pbkdf2_sha512' handler: PrefixWrapper('ldap_pbkdf2_sha512', <class 'passlib.handlers.pbkdf2.pbkdf2_sha512'>, prefix='{PBKDF2-SHA512}', orig_prefix='$pbkdf2-sha512$')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_plaintext' handler: <class 'passlib.handlers.ldap_digests.ldap_plaintext'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_salted_md5' handler: <class 'passlib.handlers.ldap_digests.ldap_salted_md5'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_salted_sha1' handler: <class 'passlib.handlers.ldap_digests.ldap_salted_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_salted_sha256' handler: <class 'passlib.handlers.ldap_digests.ldap_salted_sha256'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_salted_sha512' handler: <class 'passlib.handlers.ldap_digests.ldap_salted_sha512'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_sha1' handler: <class 'passlib.handlers.ldap_digests.ldap_sha1'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'sha1_crypt' handler: <class 'passlib.handlers.sha1_crypt.sha1_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_sha1_crypt' handler: PrefixWrapper('ldap_sha1_crypt', 'sha1_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_sha256_crypt' handler: PrefixWrapper('ldap_sha256_crypt', 'sha256_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'sha512_crypt' handler: <class 'passlib.handlers.sha2_crypt.sha512_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'ldap_sha512_crypt' handler: PrefixWrapper('ldap_sha512_crypt', 'sha512_crypt', prefix='{CRYPT}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'lmhash' handler: <class 'passlib.handlers.windows.lmhash'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'msdcc' handler: <class 'passlib.handlers.windows.msdcc'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'msdcc2' handler: <class 'passlib.handlers.windows.msdcc2'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'mssql2000' handler: <class 'passlib.handlers.mssql.mssql2000'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'mssql2005' handler: <class 'passlib.handlers.mssql.mssql2005'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'mysql323' handler: <class 'passlib.handlers.mysql.mysql323'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'mysql41' handler: <class 'passlib.handlers.mysql.mysql41'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'nthash' handler: <class 'passlib.handlers.windows.nthash'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'oracle10' handler: <class 'passlib.handlers.oracle.oracle10'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'oracle11' handler: <class 'passlib.handlers.oracle.oracle11'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'pbkdf2_sha512' handler: <class 'passlib.handlers.pbkdf2.pbkdf2_sha512'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'phpass' handler: <class 'passlib.handlers.phpass.phpass'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'plaintext' handler: <class 'passlib.handlers.misc.plaintext'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'postgres_md5' handler: <class 'passlib.handlers.postgres.postgres_md5'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'roundup_plaintext' handler: PrefixWrapper('roundup_plaintext', 'plaintext', prefix='{plaintext}')
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'scram' handler: <class 'passlib.handlers.scram.scram'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'scrypt' handler: <class 'passlib.handlers.scrypt.scrypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'sun_md5_crypt' handler: <class 'passlib.handlers.sun_md5_crypt.sun_md5_crypt'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'unix_disabled' handler: <class 'passlib.handlers.misc.unix_disabled'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: passlib.registry
        msg: registered 'unix_fallback' handler: <class 'passlib.handlers.misc.unix_fallback'>
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/passlib/registry.py
        filename: registry.py
        module: registry
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 296
        funcName: register_crypt_handler
        created: 1754568000.0
        msecs: 0.0
        relativeCreated: -343223806.4393997
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0003605200909078121
      

      outcome:

      passed
      
    • Test 377
      params: age_seconds=300, expected="0:05:00"

      📌 Runtime Parameters

      params:
        age_seconds: 300
        expected: 0:05:00
      id: 300-expected1
      

      📌 Setup phase

      duration:

      0.0008327998220920563
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01880041789263487
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026700086891651154
      

      outcome:

      passed
      
    • Test 378
      params: age_seconds=3600, expected="1:00:00"

      📌 Runtime Parameters

      params:
        age_seconds: 3600
        expected: 1:00:00
      id: 3600-expected2
      

      📌 Setup phase

      duration:

      0.0008240099996328354
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.01797220204025507
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027795974165201187
      

      outcome:

      passed
      
    • Test 379
      params: age_seconds=86400, expected="1 day, 0:00:00"

      📌 Runtime Parameters

      params:
        age_seconds: 86400
        expected: 1 day, 0:00:00
      id: 86400-expected3
      

      📌 Setup phase

      duration:

      0.0008189338259398937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.017270078882575035
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002330699935555458
      

      outcome:

      passed
      
    • Test 380
      params: age_seconds=1209600, expected="14 days, 0:00:00"

      📌 Runtime Parameters

      params:
        age_seconds: 1209600
        expected: 14 days, 0:00:00
      id: 1209600-expected4
      

      📌 Setup phase

      duration:

      0.0007106210105121136
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.016526663210242987
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002081901766359806
      

      outcome:

      passed
      

    Function: test_preload_valid_file

    • Test 381

      📌 Setup phase

      duration:

      0.0006655538454651833
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014679920859634876
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV preload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 29
        funcName: preload
        created: 1754911236.6278756
        msecs: 627.875566482544
        relativeCreated: 12821.436166763306
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload done
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 41
        funcName: preload
        created: 1754911236.6282725
        msecs: 628.272533416748
        relativeCreated: 12821.83313369751
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.0002484121359884739
      

      outcome:

      passed
      

    Function: test_preload_old_file

    • Test 382

      📌 Setup phase

      duration:

      0.0007135709747672081
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009552408009767532
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV preload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 29
        funcName: preload
        created: 1754911236.6309676
        msecs: 630.9676170349121
        relativeCreated: 12824.528217315674
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload file too old
        args: None
        levelname: INFO
        levelno: 20
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 33
        funcName: preload
        created: 1754911236.631079
        msecs: 631.0789585113525
        relativeCreated: 12824.639558792114
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00024138391017913818
      

      outcome:

      passed
      

    Function: test_preload_corrupt_file

    • Test 383

      📌 Setup phase

      duration:

      0.0010069478303194046
      

      outcome:

      passed
      

      log:

      -   name: pcaspy.SimplePV.getValue
        msg: PV1: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.6326277
        msecs: 632.6277256011963
        relativeCreated: 12826.188325881958
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: PV2: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.6328485
        msecs: 632.8485012054443
        relativeCreated: 12826.409101486206
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      

      📌 Call phase

      duration:

      0.0008555259555578232
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV preload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 29
        funcName: preload
        created: 1754911236.6338012
        msecs: 633.8012218475342
        relativeCreated: 12827.361822128296
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload file not loaded due to: UnpicklingError: invalid load key, 'n'.
        args: None
        levelname: WARNING
        levelno: 30
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 38
        funcName: preload
        created: 1754911236.6339297
        msecs: 633.9297294616699
        relativeCreated: 12827.490329742432
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00021878816187381744
      

      outcome:

      passed
      

    Function: test_offload

    • Test 384

      📌 Setup phase

      duration:

      0.0005444791167974472
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03150465385988355
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV offload delay (0.01 seconds)
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 44
        funcName: offload
        created: 1754911236.6562095
        msecs: 656.2094688415527
        relativeCreated: 12849.770069122314
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: PV3: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.6563802
        msecs: 656.3801765441895
        relativeCreated: 12849.940776824951
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 46
        funcName: offload
        created: 1754911236.6663787
        msecs: 666.3787364959717
        relativeCreated: 12859.939336776733
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload done
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 54
        funcName: offload
        created: 1754911236.6667435
        msecs: 666.7435169219971
        relativeCreated: 12860.304117202759
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00024077994748950005
      

      outcome:

      passed
      

    Function: test_offload_exception

    • Test 385

      📌 Setup phase

      duration:

      0.0005607251077890396
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.010906845796853304
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV offload delay (0.01 seconds)
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 44
        funcName: offload
        created: 1754911236.668919
        msecs: 668.9190864562988
        relativeCreated: 12862.47968673706
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 46
        funcName: offload
        created: 1754911236.6790504
        msecs: 679.0504455566406
        relativeCreated: 12872.611045837402
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload file not saved due to: IsADirectoryError: [Errno 21] Is a directory: '/tmp/pytest-of-root/pytest-0/test_offload_exception0/invalid_dir'
        args: None
        levelname: WARNING
        levelno: 30
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 52
        funcName: offload
        created: 1754911236.679257
        msecs: 679.2569160461426
        relativeCreated: 12872.817516326904
        thread: 139845444445696
        threadName: MainThread
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00023369910195469856
      

      outcome:

      passed
      

    Function: test_pvpreload_end_to_end

    • Test 386

      📌 Setup phase

      duration:

      0.0005501881241798401
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.4049214329570532
      

      outcome:

      passed
      

      log:

      -   name: logzero_default
        msg: PV preload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 29
        funcName: preload
        created: 1754911236.681402
        msecs: 681.4019680023193
        relativeCreated: 12874.962568283081
        thread: 139843971454656
        threadName: Thread-5
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pytest-of-root/pytest-0/test_pvpreload_end_to_end0/end2end.pkl'
        args: None
        levelname: WARNING
        levelno: 30
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 38
        funcName: preload
        created: 1754911236.6818802
        msecs: 681.8802356719971
        relativeCreated: 12875.440835952759
        thread: 139843971454656
        threadName: Thread-5
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload delay (0.05 seconds)
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 44
        funcName: offload
        created: 1754911236.6819484
        msecs: 681.9484233856201
        relativeCreated: 12875.509023666382
        thread: 139843971454656
        threadName: Thread-5
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: PV4: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.6822255
        msecs: 682.2254657745361
        relativeCreated: 12875.786066055298
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: PV5: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.6829026
        msecs: 682.9025745391846
        relativeCreated: 12876.463174819946
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 46
        funcName: offload
        created: 1754911236.7320986
        msecs: 732.0985794067383
        relativeCreated: 12925.6591796875
        thread: 139843971454656
        threadName: Thread-5
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload done
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 54
        funcName: offload
        created: 1754911236.7325943
        msecs: 732.5942516326904
        relativeCreated: 12926.154851913452
        thread: 139843971454656
        threadName: Thread-5
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 29
        funcName: preload
        created: 1754911236.8847096
        msecs: 884.7095966339111
        relativeCreated: 13078.270196914673
        thread: 139843971454656
        threadName: Thread-6
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV preload done
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 41
        funcName: preload
        created: 1754911236.885179
        msecs: 885.1790428161621
        relativeCreated: 13078.739643096924
        thread: 139843971454656
        threadName: Thread-6
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload delay (0.05 seconds)
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 44
        funcName: offload
        created: 1754911236.8852584
        msecs: 885.2584362030029
        relativeCreated: 13078.819036483765
        thread: 139843971454656
        threadName: Thread-6
        processName: MainProcess
        process: 1849
      -   name: pcaspy.SimplePV.getValue
        msg: PV6: Read value 0
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py
        filename: driver.py
        module: driver
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 649
        funcName: getValue
        created: 1754911236.8996649
        msecs: 899.6648788452148
        relativeCreated: 13093.225479125977
        thread: 139843934148288
        threadName: Thread-1
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload start
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 46
        funcName: offload
        created: 1754911236.935395
        msecs: 935.3950023651123
        relativeCreated: 13128.955602645874
        thread: 139843971454656
        threadName: Thread-6
        processName: MainProcess
        process: 1849
      -   name: logzero_default
        msg: PV offload done
        args: None
        levelname: DEBUG
        levelno: 10
        pathname: /workspace/tligui_y/slic/slic/utils/pvpreload.py
        filename: pvpreload.py
        module: pvpreload
        exc_info: None
        exc_text: None
        stack_info: None
        lineno: 54
        funcName: offload
        created: 1754911236.9359775
        msecs: 935.9774589538574
        relativeCreated: 13129.53805923462
        thread: 139843971454656
        threadName: Thread-6
        processName: MainProcess
        process: 1849
      

      📌 Teardown phase

      duration:

      0.00042703188955783844
      

      outcome:

      passed
      
  • 📄 test_utils_rangebar.py

    Function: test_full_progress_bar

    • Test 387

      📌 Setup phase

      duration:

      0.00047517474740743637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002758209593594074
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020127510651946068
      

      outcome:

      passed
      

    Function: test_half_progress_bar

    • Test 388

      📌 Setup phase

      duration:

      0.00030680419877171516
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021349918097257614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017002085223793983
      

      outcome:

      passed
      

    Function: test_zero_progress_bar

    • Test 389

      📌 Setup phase

      duration:

      0.00027339207008481026
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020087603479623795
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001592598855495453
      

      outcome:

      passed
      

    Function: test_overflow_bar

    • Test 390

      📌 Setup phase

      duration:

      0.000257750041782856
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018288800492882729
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015916768461465836
      

      outcome:

      passed
      

    Function: test_underflow_bar

    • Test 391

      📌 Setup phase

      duration:

      0.00027476483955979347
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019903900101780891
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001567271538078785
      

      outcome:

      passed
      

    Function: test_repr

    • Test 392

      📌 Setup phase

      duration:

      0.00011454010382294655
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014473684132099152
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010767532512545586
      

      outcome:

      passed
      

    Function: test_each_value_separately

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

      📌 Runtime Parameters

      params:
        value: 0
        expected_bar_part:           
      id: 0-          
      

      📌 Setup phase

      duration:

      0.0003963918425142765
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001900363713502884
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019208993762731552
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003632516600191593
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019579194486141205
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019082985818386078
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003574630245566368
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019210297614336014
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019238702952861786
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003527319058775902
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001894468441605568
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001917514018714428
      

      outcome:

      passed
      
    • Test 397
      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.0003595328889787197
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018700677901506424
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020365789532661438
      

      outcome:

      passed
      
    • Test 398
      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.00036664772778749466
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001888149417936802
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020213425159454346
      

      outcome:

      passed
      
    • Test 399
      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.00036445213481783867
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020141014829277992
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019115488976240158
      

      outcome:

      passed
      
    • Test 400
      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.0003622928634285927
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018212897703051567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001898086629807949
      

      outcome:

      passed
      
    • Test 401
      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.0003533759154379368
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019360799342393875
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019658496603369713
      

      outcome:

      passed
      
    • Test 402
      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.0003588693216443062
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019841594621539116
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018788781017065048
      

      outcome:

      passed
      
    • Test 403
      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.0003565913066267967
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018921401351690292
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000199947040528059
      

      outcome:

      passed
      
  • 📄 test_utils_readable.py

    Function: test_readable_seconds

    • Test 404
      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.00023142527788877487
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001447303220629692
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015482213348150253
      

      outcome:

      passed
      
    • Test 405
      params: seconds=59.9, expected="60 seconds"

      📌 Runtime Parameters

      params:
        seconds: 59.9
        expected: 60 seconds
      id: 59.9-60 seconds
      

      📌 Setup phase

      duration:

      0.00022483710199594498
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013971002772450447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001360410824418068
      

      outcome:

      passed
      
    • Test 406
      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.0002368418499827385
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015365425497293472
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013914192095398903
      

      outcome:

      passed
      
    • Test 407
      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.00020773475989699364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014562206342816353
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013301381841301918
      

      outcome:

      passed
      
    • Test 408
      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.00021639978513121605
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014068931341171265
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013523129746317863
      

      outcome:

      passed
      
    • Test 409
      params: seconds=3600.1, expected="60 minutes"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002115829847753048
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001421603374183178
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001371791586279869
      

      outcome:

      passed
      
    • Test 410
      params: seconds=7199.9, expected="120 minutes"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021680165082216263
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001348680816590786
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013114279136061668
      

      outcome:

      passed
      
    • Test 411
      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.00022566132247447968
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014056172221899033
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013724714517593384
      

      outcome:

      passed
      
    • Test 412
      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.00021540746092796326
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013342173770070076
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014245091006159782
      

      outcome:

      passed
      
    • Test 413
      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.0003168112598359585
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014143995940685272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013498589396476746
      

      outcome:

      passed
      
    • Test 414
      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.0002116672694683075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013383431360125542
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001423419453203678
      

      outcome:

      passed
      
    • Test 415
      params: seconds=1296000.0, expected="2 weeks"

      📌 Runtime Parameters

      params:
        seconds: 1296000.0
        expected: 2 weeks
      id: 1296000.0-2 weeks
      

      📌 Setup phase

      duration:

      0.00021822191774845123
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001403670758008957
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001482563093304634
      

      outcome:

      passed
      
    • Test 416
      params: seconds=2592000.0, expected="4 weeks"

      📌 Runtime Parameters

      params:
        seconds: 2592000.0
        expected: 4 weeks
      id: 2592000.0-4 weeks
      

      📌 Setup phase

      duration:

      0.00022371020168066025
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014084158465266228
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015578512102365494
      

      outcome:

      passed
      
    • Test 417
      params: seconds=2800000.0, expected="5 weeks"

      📌 Runtime Parameters

      params:
        seconds: 2800000.0
        expected: 5 weeks
      id: 2800000.0-5 weeks
      

      📌 Setup phase

      duration:

      0.00022155093029141426
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014084717258810997
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013569695875048637
      

      outcome:

      passed
      
    • Test 418
      params: seconds=3888000.0, expected="6 weeks"

      📌 Runtime Parameters

      params:
        seconds: 3888000.0
        expected: 6 weeks
      id: 3888000.0-6 weeks
      

      📌 Setup phase

      duration:

      0.00021479232236742973
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001466679386794567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013527600094676018
      

      outcome:

      passed
      
    • Test 419
      params: seconds=5097600.0, expected="8 weeks"

      📌 Runtime Parameters

      params:
        seconds: 5097600.0
        expected: 8 weeks
      id: 5097600.0-8 weeks
      

      📌 Setup phase

      duration:

      0.00022432208061218262
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015060603618621826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013540685176849365
      

      outcome:

      passed
      
    • Test 420
      params: seconds=5184000.0, expected="9 weeks"

      📌 Runtime Parameters

      params:
        seconds: 5184000.0
        expected: 9 weeks
      id: 5184000.0-9 weeks
      

      📌 Setup phase

      duration:

      0.00020628701895475388
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014094775542616844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001355656422674656
      

      outcome:

      passed
      
    • Test 421
      params: seconds=5270400.0, expected="2 months"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002133999951183796
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013762665912508965
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013068504631519318
      

      outcome:

      passed
      
    • Test 422
      params: seconds=23328000.0, expected="9 months"

      📌 Runtime Parameters

      params:
        seconds: 23328000.0
        expected: 9 months
      id: 23328000.0-9 months
      

      📌 Setup phase

      duration:

      0.0002260659821331501
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013935798779129982
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013440288603305817
      

      outcome:

      passed
      
    • Test 423
      params: seconds=31104000.0, expected="12 months"

      📌 Runtime Parameters

      params:
        seconds: 31104000.0
        expected: 12 months
      id: 31104000.0-12 months
      

      📌 Setup phase

      duration:

      0.0002170880325138569
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014095986261963844
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013704877346754074
      

      outcome:

      passed
      
    • Test 424
      params: seconds=33696000.0, expected="13 months"

      📌 Runtime Parameters

      params:
        seconds: 33696000.0
        expected: 13 months
      id: 33696000.0-13 months
      

      📌 Setup phase

      duration:

      0.00022213812917470932
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013648299500346184
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013699010014533997
      

      outcome:

      passed
      
    • Test 425
      params: seconds=59616000.0, expected="23 months"

      📌 Runtime Parameters

      params:
        seconds: 59616000.0
        expected: 23 months
      id: 59616000.0-23 months
      

      📌 Setup phase

      duration:

      0.00021788803860545158
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001402110792696476
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013978593051433563
      

      outcome:

      passed
      
    • Test 426
      params: seconds=62208000.0, expected="24 months"

      📌 Runtime Parameters

      params:
        seconds: 62208000.0
        expected: 24 months
      id: 62208000.0-24 months
      

      📌 Setup phase

      duration:

      0.00021107401698827744
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014076102524995804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001376541331410408
      

      outcome:

      passed
      
    • Test 427
      params: seconds=64208000.0, expected="2 years"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002122023142874241
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013390881940722466
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001354939304292202
      

      outcome:

      passed
      
  • 📄 test_utils_registry.py

    Function: test_metaclass_creates_weakset

    • Test 428

      📌 Setup phase

      duration:

      0.00012225890532135963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007576579228043556
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011928286403417587
      

      outcome:

      passed
      

    Function: test_metaclass_tracks_instances

    • Test 429

      📌 Setup phase

      duration:

      0.0001221238635480404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002473588101565838
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010477285832166672
      

      outcome:

      passed
      

    Function: test_registry_inheritance

    • Test 430

      📌 Setup phase

      duration:

      0.00017670774832367897
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005761180073022842
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001502828672528267
      

      outcome:

      passed
      

    Function: test_instance_tracking

    • Test 431

      📌 Setup phase

      duration:

      0.00018482888117432594
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002107769250869751
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012977374717593193
      

      outcome:

      passed
      

    Function: test_collect_instances_recursive

    • Test 432

      📌 Setup phase

      duration:

      0.000168725848197937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001094756182283163
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001505003310739994
      

      outcome:

      passed
      

    Function: test_instances_function

    • Test 433

      📌 Setup phase

      duration:

      0.00018940027803182602
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009952057152986526
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013958383351564407
      

      outcome:

      passed
      

    Function: test_non_registry_class_error

    • Test 434

      📌 Setup phase

      duration:

      0.00011475803330540657
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020610587671399117
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010219588875770569
      

      outcome:

      passed
      

    Function: test_signature_preservation

    • Test 435

      📌 Setup phase

      duration:

      0.00010435190051794052
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024297507479786873
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010305782780051231
      

      outcome:

      passed
      
  • 📄 test_utils_richcfg.py

    Function: test_rich_inspector_outputs_more_than_builtin

    • Test 436

      📌 Setup phase

      duration:

      0.00020610913634300232
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.09260509628802538
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023696385324001312
      

      outcome:

      passed
      
  • 📄 test_utils_run_later.py

    Function: test_init_and_repr

    • Test 437

      📌 Setup phase

      duration:

      0.00015954673290252686
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002201641909778118
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010926695540547371
      

      outcome:

      passed
      

    Function: test_call

    • Test 438

      📌 Setup phase

      duration:

      0.0001126360148191452
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001551806926727295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.763799607753754e-05
      

      outcome:

      passed
      

    Function: test_matmul_with_string

    • Test 439

      📌 Setup phase

      duration:

      0.00011212378740310669
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001591760665178299
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010683014988899231
      

      outcome:

      passed
      

    Function: test_matmul_with_list

    • Test 440

      📌 Setup phase

      duration:

      0.0001060953363776207
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014765281230211258
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.833881631493568e-05
      

      outcome:

      passed
      

    Function: test_matmul_with_single_int

    • Test 441

      📌 Setup phase

      duration:

      0.00011371402069926262
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014912709593772888
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.357696399092674e-05
      

      outcome:

      passed
      

    Function: test_run_at_future_triggered_and_logs

    • Test 442

      📌 Setup phase

      duration:

      0.00034144287928938866
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.2057545161806047
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003584260120987892
      

      outcome:

      passed
      

    Function: test_run_at_already_past

    • Test 443

      📌 Setup phase

      duration:

      0.000344736035913229
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003574150614440441
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019464315846562386
      

      outcome:

      passed
      

    Function: test_run_in_future_triggered_and_logs

    • Test 444

      📌 Setup phase

      duration:

      0.00025162799283862114
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20222080685198307
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00035088928416371346
      

      outcome:

      passed
      

    Function: test_run_in_past

    • Test 445

      📌 Setup phase

      duration:

      0.00035625509917736053
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003965781070291996
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001868540421128273
      

      outcome:

      passed
      

    Function: test_run_later_with_seconds

    • Test 446

      📌 Setup phase

      duration:

      0.0002538883127272129
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20221930788829923
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00033796532079577446
      

      outcome:

      passed
      

    Function: test_run_later_with_past_datetime

    • Test 447

      📌 Setup phase

      duration:

      0.00035605626180768013
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00040341494604945183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019525503739714622
      

      outcome:

      passed
      

    Function: test_run_at_tqdm_multiple_updates

    • Test 448

      📌 Setup phase

      duration:

      0.0003059697337448597
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.20229646703228354
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0003740689717233181
      

      outcome:

      passed
      

    Function: test_today_basic

    • Test 449

      📌 Setup phase

      duration:

      0.00014038197696208954
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006386139430105686
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013106828555464745
      

      outcome:

      passed
      

    Function: test_tomorrow_basic

    • Test 450

      📌 Setup phase

      duration:

      0.00012474413961172104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00039102789014577866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010711187496781349
      

      outcome:

      passed
      

    Function: test_yesterday_basic

    • Test 451

      📌 Setup phase

      duration:

      0.00011202879250049591
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003421567380428314
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010413816198706627
      

      outcome:

      passed
      

    Function: test_today_matmul_string

    • Test 452

      📌 Setup phase

      duration:

      0.0001080390065908432
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003366200253367424
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012397486716508865
      

      outcome:

      passed
      

    Function: test_tomorrow_matmul_list

    • Test 453

      📌 Setup phase

      duration:

      0.00011368142440915108
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033631641417741776
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001073046587407589
      

      outcome:

      passed
      

    Function: test_yesterday_matmul_single

    • Test 454

      📌 Setup phase

      duration:

      0.00011197105050086975
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003513069823384285
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001141042448580265
      

      outcome:

      passed
      
  • 📄 test_utils_sendmail.py

    Function: test_sendmail_real_local_verbose

    • Test 455

      📌 Setup phase

      duration:

      0.00012761913239955902
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.8804905931465328
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00030055828392505646
      

      outcome:

      passed
      
  • 📄 test_utils_shortcut.py

    Function: TestShortcutInitialization

    • Test 456

      📌 Setup phase

      duration:

      0.00043369922786951065
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022679567337036133
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000187690369784832
      

      outcome:

      passed
      
    • Test 457

      📌 Setup phase

      duration:

      0.0002237320877611637
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018446985632181168
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016647903248667717
      

      outcome:

      passed
      

    Function: test_run_method

    • Test 458

      📌 Setup phase

      duration:

      0.00042528193444013596
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007866369560360909
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022771675139665604
      

      outcome:

      passed
      

    Function: test_repr_output

    • Test 459

      📌 Setup phase

      duration:

      0.00021577905863523483
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016724970191717148
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015705404803156853
      

      outcome:

      passed
      

    Function: test_source_with_regular_function

    • Test 460

      📌 Setup phase

      duration:

      0.00019145803526043892
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007418468594551086
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015933625400066376
      

      outcome:

      passed
      

    Function: test_source_error_handling

    • Test 461

      📌 Setup phase

      duration:

      0.00019251368939876556
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010465732775628567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015873601660132408
      

      outcome:

      passed
      

    Function: test_as_shortcut_basic

    • Test 462

      📌 Setup phase

      duration:

      0.00021859118714928627
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015860330313444138
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013726716861128807
      

      outcome:

      passed
      

    Function: test_as_shortcut_with_name

    • Test 463

      📌 Setup phase

      duration:

      0.0002019507810473442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016750581562519073
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012838607653975487
      

      outcome:

      passed
      

    Function: test_as_shortcut_factory_pattern

    • Test 464

      📌 Setup phase

      duration:

      0.00034055719152092934
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000162618700414896
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001443629153072834
      

      outcome:

      passed
      

    Function: TestShortcutsSingleton

    • Test 465

      📌 Setup phase

      duration:

      0.0003003738820552826
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016283802688121796
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016180984675884247
      

      outcome:

      passed
      
    • Test 466

      📌 Setup phase

      duration:

      0.0002514799125492573
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002593616954982281
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001695621758699417
      

      outcome:

      passed
      
    • Test 467

      📌 Setup phase

      duration:

      0.00026084715500473976
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019717402756214142
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014970684424042702
      

      outcome:

      passed
      
    • Test 468

      📌 Setup phase

      duration:

      0.0002631768584251404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022112112492322922
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015145400539040565
      

      outcome:

      passed
      
    • Test 469

      📌 Setup phase

      duration:

      0.0002590981312096119
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002723410725593567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015820469707250595
      

      outcome:

      passed
      

    Function: TestFullIntegration

    • Test 470

      📌 Setup phase

      duration:

      0.00041660992428660393
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007530292496085167
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025188690051436424
      

      outcome:

      passed
      
    • Test 471

      📌 Setup phase

      duration:

      0.00027182791382074356
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002161860466003418
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015279371291399002
      

      outcome:

      passed
      

    Function: test_registry_inheritance

    • Test 472

      📌 Setup phase

      duration:

      0.0001865290105342865
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013505294919013977
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013573002070188522
      

      outcome:

      passed
      
  • 📄 test_utils_snapshot.py

    Function: test_snapshot

    • Test 473
      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.0003105001524090767
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007035210728645325
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002073119394481182
      

      outcome:

      passed
      
    • Test 474
      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.0003022048622369766
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005079610273241997
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001691048964858055
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00028596771880984306
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001515168696641922
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016589323058724403
      

      outcome:

      passed
      
    • Test 476
      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.00028924597427248955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005817911587655544
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000188484787940979
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000292148906737566
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005899947136640549
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019223103299736977
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000300833024084568
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000592987984418869
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021499209105968475
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00029317010194063187
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007212026976048946
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019701384007930756
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003018062561750412
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005926652811467648
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001887669786810875
      

      outcome:

      passed
      
  • 📄 test_utils_termtitle.py

    Function: test_terminal_title_with_tmux

    • Test 481

      📌 Setup phase

      duration:

      0.00013549113646149635
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.020481511019170284
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002783839590847492
      

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_complete_progress_bar

    • Test 482

      📌 Setup phase

      duration:

      0.00017360085621476173
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004175011068582535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013277074322104454
      

      outcome:

      passed
      

    Function: test_set_progress_multiple_points

    • Test 483

      📌 Setup phase

      duration:

      0.00012603774666786194
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0017678327858448029
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001302589662373066
      

      outcome:

      passed
      

    Function: test_format_sizeof_alignment

    • Test 484

      📌 Setup phase

      duration:

      0.00011805398389697075
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001549157314002514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010388297960162163
      

      outcome:

      passed
      

    Function: test_custom_unit

    • Test 486

      📌 Setup phase

      duration:

      0.0001247418113052845
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.004838860128074884
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011580530554056168
      

      outcome:

      passed
      

    Function: test_clamp_above_total

    • Test 487

      📌 Setup phase

      duration:

      0.00011727819219231606
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004983050748705864
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010912492871284485
      

      outcome:

      passed
      

    Function: test_clamp_below_zero

    • Test 488

      📌 Setup phase

      duration:

      0.00010827090591192245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000623656902462244
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011278875172138214
      

      outcome:

      passed
      
  • 📄 test_utils_trinary.py

    Function: test_check_trinary_valid_values

    • Test 489

      📌 Setup phase

      duration:

      0.00012712692841887474
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017946120351552963
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010361196473240852
      

      outcome:

      passed
      

    Function: test_check_trinary_invalid_value

    • Test 490

      📌 Setup phase

      duration:

      0.00010657263919711113
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004098769277334213
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011160597205162048
      

      outcome:

      passed
      

    Function: test_check_trinary_with_custom_allowed_values

    • Test 491

      📌 Setup phase

      duration:

      0.00011180900037288666
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018084468320012093
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010755425319075584
      

      outcome:

      passed
      
  • 📄 test_utils_typecast.py

    Function: test_downcast_success

    • Test 492

      📌 Setup phase

      duration:

      0.00012273713946342468
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000173225998878479
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010112999007105827
      

      outcome:

      passed
      

    Function: test_upcast_success

    • Test 493

      📌 Setup phase

      duration:

      0.00010851491242647171
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014751264825463295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010545598343014717
      

      outcome:

      passed
      

    Function: test_downcast_invalid

    • Test 494

      📌 Setup phase

      duration:

      0.00010752212256193161
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035017915070056915
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010498799383640289
      

      outcome:

      passed
      

    Function: test_upcast_invalid

    • Test 495

      📌 Setup phase

      duration:

      0.00010528089478611946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001806570217013359
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010211393237113953
      

      outcome:

      passed
      

    Function: test_object_identity_preserved

    • Test 496

      📌 Setup phase

      duration:

      0.00010528508573770523
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001489361748099327
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001003672368824482
      

      outcome:

      passed
      

    Function: test_ensure_subclass_valid

    • Test 497

      📌 Setup phase

      duration:

      0.00010063080117106438
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014284998178482056
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.555881842970848e-05
      

      outcome:

      passed
      

    Function: test_ensure_subclass_invalid

    • Test 498

      📌 Setup phase

      duration:

      0.00010183500126004219
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001796218566596508
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010755378752946854
      

      outcome:

      passed
      

    Function: test_cast_changes_class

    • Test 499

      📌 Setup phase

      duration:

      0.00010597612708806992
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015382422134280205
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.807804599404335e-05
      

      outcome:

      passed
      

    Function: test_cast_preserves_identity

    • Test 500

      📌 Setup phase

      duration:

      0.00010406319051980972
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013723969459533691
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.865313768386841e-05
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 501

      📌 Setup phase

      duration:

      0.000116697046905756
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015658093616366386
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010151928290724754
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 502

      📌 Setup phase

      duration:

      0.00010426808148622513
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014153262600302696
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.761564433574677e-05
      

      outcome:

      passed
      

    Function: test_typename

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00033156387507915497
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014809705317020416
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001484546810388565
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023694289848208427
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013460777699947357
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014540506526827812
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022063590586185455
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013404292985796928
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001368480734527111
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002256510779261589
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014237221330404282
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013944506645202637
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021844729781150818
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013164710253477097
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001407111994922161
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021936791017651558
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013307295739650726
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013449694961309433
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002123657613992691
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013314513489603996
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001470819115638733
      

      outcome:

      passed
      
    • Test 510
      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.00021479278802871704
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00012886011973023415
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013582780957221985
      

      outcome:

      passed
      
    • Test 511
      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.00021938979625701904
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014601927250623703
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013886531814932823
      

      outcome:

      passed
      
    • Test 512
      params: obj=" at 0x7f2ff90e5dc0>", expected="function"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00030970433726906776
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014859577640891075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014513591304421425
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022486597299575806
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001363069750368595
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014982279390096664
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021030940115451813
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013293512165546417
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013642897829413414
      

      outcome:

      passed
      
    • Test 515
      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.00022396398708224297
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015020184218883514
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014462927356362343
      

      outcome:

      passed
      
    • Test 516
      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.0002375333569943905
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013671675696969032
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013775983825325966
      

      outcome:

      passed
      
    • Test 517
      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.00021834112703800201
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001312708482146263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014492589980363846
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022388342767953873
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001521660014986992
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014187488704919815
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021482817828655243
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014875084161758423
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013985717669129372
      

      outcome:

      passed
      
    • Test 520
      params: obj=" at 0x7f2ff8aec6d0>", expected="generator"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021551083773374557
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013381615281105042
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014092214405536652
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022576702758669853
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013228785246610641
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001363176852464676
      

      outcome:

      passed
      

    Function: test_next_int

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021883193403482437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014140363782644272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015825405716896057
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002118893899023533
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000132010318338871
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013574212789535522
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022538891062140465
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013674981892108917
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013619661331176758
      

      outcome:

      passed
      

    Function: test_zero_pad

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002728169783949852
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001418832689523697
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015252642333507538
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027095014229416847
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013700313866138458
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000162515789270401
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00025521405041217804
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000132822897285223
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015821075066924095
      

      outcome:

      passed
      

    Function: test_iround

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002238941378891468
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013934308663010597
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013400474563241005
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023742765188217163
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013744132593274117
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013901200145483017
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021504610776901245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013211602345108986
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001384550705552101
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022750301286578178
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013550976291298866
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013884622603654861
      

      outcome:

      passed
      

    Function: test_sorted_naturally

    • Test 532
      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.0002123708836734295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018981005996465683
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001457715407013893
      

      outcome:

      passed
      
    • Test 533
      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.00022878916934132576
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001568240113556385
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001354762353003025
      

      outcome:

      passed
      

    Function: test_sorted_naturally_reverse

    • Test 534
      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.00024061976000666618
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015563005581498146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014656921848654747
      

      outcome:

      passed
      
  • 📄 test_utils_xrange.py

    Function: test_xrange_finite

    • Test 535
      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.00028665410354733467
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016067223623394966
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016091112047433853
      

      outcome:

      passed
      
    • Test 536
      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.00026644114404916763
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021093059331178665
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016338098794221878
      

      outcome:

      passed
      
    • Test 537
      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.0002771136350929737
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001387186348438263
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001626540906727314
      

      outcome:

      passed
      
    • Test 538
      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.0002708379179239273
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014196615666151047
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001510120928287506
      

      outcome:

      passed
      

    Function: test_xrange_infinite

    • Test 539
      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.000258828978985548
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015739211812615395
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015804823487997055
      

      outcome:

      passed
      
    • Test 540
      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.00027539487928152084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014451704919338226
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015742704272270203
      

      outcome:

      passed
      

    Function: test_xrange_too_many_args

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0001756022684276104
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00044150417670607567
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0010148421861231327
      

      outcome:

      passed
      
Failed (11)
  • 📄 test_utils_debug.py

    Function: test_short_repr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002772691659629345
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0010539689101278782
      

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

      outcome:

      passed
      
    • Test 138
      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.0002744658850133419
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0006026891060173512
      

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

      outcome:

      passed
      
  • 📄 test_utils_elog.py

    Function: test_post_local

    • Test 159

      📌 Setup phase

      duration:

      0.0001237550750374794
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.010864038951694965
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
      lineno: 315
      message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      

      traceback:

      -   path: tests/test_utils_elog.py
        lineno: 46
        message: None
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 315
        message: LogbookInvalidMessageID
      

      longrepr:

      def test_post_local():
              logbook = elog.open(
                  hostname="http://localhost",
                  port=8080,
                  user="robot",
                  password="testpassword",
                  use_ssl=False,
                  logbook="demo"
              )
              attributes = {
                  "Author": "robot",
                  "Subject": "Test simple",
                  "Category": "General",
                  "Type": "Note"
              }
              message = "Hello from local test"
      >       msg_id = logbook.post(message, attributes=attributes, encoding="HTML")
      
      tests/test_utils_elog.py:46: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <elog.logbook.Logbook object at 0x7f2ff9037400>
      message = 'Hello from local test', msg_id = None, reply = False
      attributes = {'Author': 'robot', 'Category': 'General', 'Encoding': 'HTML', 'Subject': 'Test simple', ...}
      attachments = [], suppress_email_notification = False, encoding = 'HTML'
      timeout = None, kwargs = {}
      new_attachment_list = [('Text', ('', b'Hello from local test'))]
      objects_to_close = []
      attributes_to_edit = {'Author': b'robot', 'Category': b'General', 'Encoding': b'HTML', 'Subject': b'Test simple', ...}
      
          def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None,
                   suppress_email_notification=False, encoding=None, timeout=None, **kwargs):
              """
              Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing
              message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id
              of the newly created message.
      
              :param message: string with message text
              :param msg_id: ID number of message to edit or reply. If not specified new message is created.
              :param reply: If 'True' reply to existing message is created instead of editing it
              :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be
                                 ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment
              :param attachments: list of:
                                        - file like objects which read() will return bytes (if file_like_object.name is not
                                          defined, default name "attachment<i>" will be used.
                                        - paths to the files
                                  All items will be appended as attachment to the elog entry. In case of unknown
                                  attachment an exception LogbookInvalidAttachment will be raised.
              :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False.
              :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text,
                               'ELCode' --> elog formatting syntax
              :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests
                              post. Use None to disable the request timeout.
              :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text',
                             Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the
                             attributes defined in "attributes", kwargs will have priority.
      
              :return: msg_id
              """
      
              attributes = attributes or {}
              attributes = {**attributes, **kwargs}  # kwargs as attributes with higher priority
      
              attachments = attachments or []
      
              if encoding is not None:
                  if encoding not in ['plain', 'HTML', 'ELCode']:
                      raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.')
                  attributes['Encoding'] = encoding
      
              if suppress_email_notification:
                  attributes["suppress"] = 1
      
              # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION
              #
              # 1. Does the message on the server have already attachments?
              #    1.1 - We read the message getting the existing attachment list.
              #    1.2 - Add to the attributes dictionary one line for each attachment like this:
              #       attributes['attachmentN'] = timestamped_filename_name
              #
              # 2. Do we have new attachments?
              #    2.1 - Those are in the new_attachment_list. This is a list of this type:
              #       [ ('attfileN', ('filename', fileobject)) ]
              #    2.2 - We need to loop over all the new attachments:
              #       2.2.1 - Does a file already on the server with the same name exist?
              #         2.2.1.1 - No: OK. Then we go ahead with the next attachment.
              #         2.2.1.2 - Yes:
              #           2.2.1.2.1 - Are the two files identical?
              #               2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one
              #                      already on server.
              #               2.2.1.2.1.2 - No:
              #                  2.2.1.2.1.2.1 - Then the file has been update.
              #                  2.2.1.2.1.2.2 - We need to remove the file on server first (using special post)
              #                  2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary.
              #
      
              if attachments:
                  # here we accomplish point 2.1.
                  # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ]
                  new_attachment_list, objects_to_close = self._prepare_attachments(attachments)
              else:
                  objects_to_close = list()
                  new_attachment_list = list()
      
              attributes_to_edit = dict()
              if msg_id:
                  # Message exists, we can continue
                  if reply:
                      # Verify that there is a message on the server, otherwise do not reply to it!
                      self._check_if_message_on_server(msg_id)  # raises exception in case of none existing message
                      attributes['reply_to'] = str(msg_id)
                  else:  # Edit existing
                      attributes['edit_id'] = str(msg_id)
                      attributes['skiplock'] = '1'
      
                      # here we accomplish point 1.1.
                      # existing_attachments_list is something like:
                      # [ 'https://elog.url.com/logbook/timestamped_filename' ]
                      msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id)
      
                      for attribute, data in attributes.items():
                          new_data = attributes.get(attribute)
                          if new_data is not None:
                              attributes_to_edit[attribute] = new_data
      
                      i = 0
                      existing_attachments_filename_list = list()
                      for attachment in existing_attachments_list:
                          # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL.
                          attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
                          existing_attachments_filename_list.append(os.path.basename(attachment)[14:])
                          i += 1
      
                      # let's accomplish 2.2. Loop over all new attachment
                      duplicate_attachment_list = list()
                      for new_attachment in new_attachment_list:
                          # the new_attachment_list is something like:
                          # [ ('attfileN', ('filename', fileobject)) ]
                          new_attachment_filename = new_attachment[1][0]
                          if new_attachment_filename in existing_attachments_filename_list:
                              # a file with the same name existing already on the server.
                              # we need to check if the two files are the same.
                              # read the content of the new file
                              new_attachment_content = new_attachment[1][1].read()
                              # don't forget to reset the fileobj to the beginning of the file
                              new_attachment[1][1].seek(0)
                              # get the existing attachment content
                              attachment_index = existing_attachments_filename_list.index(new_attachment_filename)
                              existing_attachment_content = self.download_attachment(
                                  url=existing_attachments_list[attachment_index],
                                  timeout=timeout
                              )
                              # check if the two contents are the same
                              if new_attachment_content == existing_attachment_content:
                                  # yes. then we don't upload a second copy. we remove the current entry from the list
                                  duplicate_attachment_list.append(new_attachment)
                              else:
                                  # no. they are not the same file. we will replace the existing file with the new one
                                  # first: we need to remove the attachment from the server using the dedicated method
                                  self.delete_attachment(msg_id, attributes=attributes_to_edit,
                                                         attachment_id=attachment_index,
                                                         timeout=timeout, text=msg_to_edit)
                                  # now we can remove this attachment from the auxiliary lists.
                                  existing_attachments_filename_list.pop(attachment_index)
                                  existing_attachments_list.pop(attachment_index)
                                  # now we need to rebuild the attributes dictionary for the part concerning the attachments.
                                  # we remove all of them first
                                  keys_to_be_removed = list()
                                  for key in attributes_to_edit.keys():
                                      if key.startswith('attachment'):
                                          keys_to_be_removed.append(key)
                                      if key.startswith('delatt'):
                                          keys_to_be_removed.append(key)
                                  for key in keys_to_be_removed:
                                      del attributes_to_edit[key]
      
                                  # now we rebuild it
                                  for i, attachment in enumerate(existing_attachments_list):
                                      attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
      
                      # remove all duplicate attachments from the new_attachment_list
                      for attach in duplicate_attachment_list:
                          new_attachment_list.remove(attach)
      
              else:
                  # As we create a new message, specify creation time if not already specified in attributes
                  if 'When' not in attributes:
                      attributes['When'] = int(datetime.now().timestamp())
      
              if not attributes_to_edit:
                  attributes_to_edit = attributes
      
              # Remove any attributes that should not be sent
              _remove_reserved_attributes(attributes_to_edit)
      
              # Make requests module think that Text is a "file". This is the only way to force requests to send data as
              # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data
              new_attachment_list.append(('Text', ('', message.encode('iso-8859-1'))))
      
              # Base attributes are common to all messages
              self._add_base_msg_attributes(attributes_to_edit)
      
              # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request
              attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit)
      
              # All string values in the attributes must be encoded in latin1
              attributes_to_edit = _encode_values(attributes_to_edit)
      
              try:
                  response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list,
                                           allow_redirects=False, verify=False, timeout=timeout)
      
                  # Validate response. Any problems will raise an Exception.
                  resp_message, resp_headers, resp_msg_id = _validate_response(response)
      
                  # Close file like objects that were opened by the elog (if  path
                  for file_like_object in objects_to_close:
                      if hasattr(file_like_object, 'close'):
                          file_like_object.close()
      
              except requests.Timeout as e:
                  # Catch here a timeout o the post request.
                  # Raise the logbook excetion and let the user handle it
                  raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' +
                                             '{1}'.format(sys._getframe().f_code.co_name, e))
      
              except requests.RequestException as e:
                  # Check if message on server.
                  self._check_if_message_on_server(msg_id)  # raises exceptions if no message or no response from server
      
                  # If here: message is on server but cannot be downloaded (should never happen)
                  raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' +
                                             '{0}'.format(e))
      
              # Any error before here should raise an exception, but check again for nay case.
              if not resp_msg_id or resp_msg_id < 1:
      >           raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned')
      E           elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID
      

      📌 Teardown phase

      duration:

      0.0002531958743929863
      

      outcome:

      passed
      

    Function: test_post

    • Test 163

      📌 Setup phase

      duration:

      0.00012674182653427124
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.005800087004899979
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
      lineno: 315
      message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      

      traceback:

      -   path: tests/test_utils_elog.py
        lineno: 123
        message: None
      -   path: slic/utils/elog.py
        lineno: 16
        message: in post
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 315
        message: LogbookInvalidMessageID
      

      longrepr:

      def test_post():
              elog = get_test_elog()
      
              title = "AUTHOR_OVERRIDE_TEST"
              text = "This is a message"
              author = "robot"
      
      >       elog.post(text, attributes = {"Author": author})
      
      tests/test_utils_elog.py:123: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/elog.py:16: in post
          return self._log.post(*args, **kwargs)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <elog.logbook.Logbook object at 0x7f2ff8e94c40>
      message = 'This is a message', msg_id = None, reply = False
      attributes = {'Author': 'robot', 'When': 1754911230, 'cmd': 'Submit', 'exp': 'demo', ...}
      attachments = [], suppress_email_notification = False, encoding = None
      timeout = None, kwargs = {'Author': 'robot'}
      new_attachment_list = [('Text', ('', b'This is a message'))]
      objects_to_close = []
      attributes_to_edit = {'Author': b'robot', 'When': 1754911230, 'cmd': b'Submit', 'exp': b'demo', ...}
      
          def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None,
                   suppress_email_notification=False, encoding=None, timeout=None, **kwargs):
              """
              Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing
              message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id
              of the newly created message.
      
              :param message: string with message text
              :param msg_id: ID number of message to edit or reply. If not specified new message is created.
              :param reply: If 'True' reply to existing message is created instead of editing it
              :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be
                                 ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment
              :param attachments: list of:
                                        - file like objects which read() will return bytes (if file_like_object.name is not
                                          defined, default name "attachment<i>" will be used.
                                        - paths to the files
                                  All items will be appended as attachment to the elog entry. In case of unknown
                                  attachment an exception LogbookInvalidAttachment will be raised.
              :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False.
              :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text,
                               'ELCode' --> elog formatting syntax
              :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests
                              post. Use None to disable the request timeout.
              :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text',
                             Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the
                             attributes defined in "attributes", kwargs will have priority.
      
              :return: msg_id
              """
      
              attributes = attributes or {}
              attributes = {**attributes, **kwargs}  # kwargs as attributes with higher priority
      
              attachments = attachments or []
      
              if encoding is not None:
                  if encoding not in ['plain', 'HTML', 'ELCode']:
                      raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.')
                  attributes['Encoding'] = encoding
      
              if suppress_email_notification:
                  attributes["suppress"] = 1
      
              # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION
              #
              # 1. Does the message on the server have already attachments?
              #    1.1 - We read the message getting the existing attachment list.
              #    1.2 - Add to the attributes dictionary one line for each attachment like this:
              #       attributes['attachmentN'] = timestamped_filename_name
              #
              # 2. Do we have new attachments?
              #    2.1 - Those are in the new_attachment_list. This is a list of this type:
              #       [ ('attfileN', ('filename', fileobject)) ]
              #    2.2 - We need to loop over all the new attachments:
              #       2.2.1 - Does a file already on the server with the same name exist?
              #         2.2.1.1 - No: OK. Then we go ahead with the next attachment.
              #         2.2.1.2 - Yes:
              #           2.2.1.2.1 - Are the two files identical?
              #               2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one
              #                      already on server.
              #               2.2.1.2.1.2 - No:
              #                  2.2.1.2.1.2.1 - Then the file has been update.
              #                  2.2.1.2.1.2.2 - We need to remove the file on server first (using special post)
              #                  2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary.
              #
      
              if attachments:
                  # here we accomplish point 2.1.
                  # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ]
                  new_attachment_list, objects_to_close = self._prepare_attachments(attachments)
              else:
                  objects_to_close = list()
                  new_attachment_list = list()
      
              attributes_to_edit = dict()
              if msg_id:
                  # Message exists, we can continue
                  if reply:
                      # Verify that there is a message on the server, otherwise do not reply to it!
                      self._check_if_message_on_server(msg_id)  # raises exception in case of none existing message
                      attributes['reply_to'] = str(msg_id)
                  else:  # Edit existing
                      attributes['edit_id'] = str(msg_id)
                      attributes['skiplock'] = '1'
      
                      # here we accomplish point 1.1.
                      # existing_attachments_list is something like:
                      # [ 'https://elog.url.com/logbook/timestamped_filename' ]
                      msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id)
      
                      for attribute, data in attributes.items():
                          new_data = attributes.get(attribute)
                          if new_data is not None:
                              attributes_to_edit[attribute] = new_data
      
                      i = 0
                      existing_attachments_filename_list = list()
                      for attachment in existing_attachments_list:
                          # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL.
                          attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
                          existing_attachments_filename_list.append(os.path.basename(attachment)[14:])
                          i += 1
      
                      # let's accomplish 2.2. Loop over all new attachment
                      duplicate_attachment_list = list()
                      for new_attachment in new_attachment_list:
                          # the new_attachment_list is something like:
                          # [ ('attfileN', ('filename', fileobject)) ]
                          new_attachment_filename = new_attachment[1][0]
                          if new_attachment_filename in existing_attachments_filename_list:
                              # a file with the same name existing already on the server.
                              # we need to check if the two files are the same.
                              # read the content of the new file
                              new_attachment_content = new_attachment[1][1].read()
                              # don't forget to reset the fileobj to the beginning of the file
                              new_attachment[1][1].seek(0)
                              # get the existing attachment content
                              attachment_index = existing_attachments_filename_list.index(new_attachment_filename)
                              existing_attachment_content = self.download_attachment(
                                  url=existing_attachments_list[attachment_index],
                                  timeout=timeout
                              )
                              # check if the two contents are the same
                              if new_attachment_content == existing_attachment_content:
                                  # yes. then we don't upload a second copy. we remove the current entry from the list
                                  duplicate_attachment_list.append(new_attachment)
                              else:
                                  # no. they are not the same file. we will replace the existing file with the new one
                                  # first: we need to remove the attachment from the server using the dedicated method
                                  self.delete_attachment(msg_id, attributes=attributes_to_edit,
                                                         attachment_id=attachment_index,
                                                         timeout=timeout, text=msg_to_edit)
                                  # now we can remove this attachment from the auxiliary lists.
                                  existing_attachments_filename_list.pop(attachment_index)
                                  existing_attachments_list.pop(attachment_index)
                                  # now we need to rebuild the attributes dictionary for the part concerning the attachments.
                                  # we remove all of them first
                                  keys_to_be_removed = list()
                                  for key in attributes_to_edit.keys():
                                      if key.startswith('attachment'):
                                          keys_to_be_removed.append(key)
                                      if key.startswith('delatt'):
                                          keys_to_be_removed.append(key)
                                  for key in keys_to_be_removed:
                                      del attributes_to_edit[key]
      
                                  # now we rebuild it
                                  for i, attachment in enumerate(existing_attachments_list):
                                      attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
      
                      # remove all duplicate attachments from the new_attachment_list
                      for attach in duplicate_attachment_list:
                          new_attachment_list.remove(attach)
      
              else:
                  # As we create a new message, specify creation time if not already specified in attributes
                  if 'When' not in attributes:
                      attributes['When'] = int(datetime.now().timestamp())
      
              if not attributes_to_edit:
                  attributes_to_edit = attributes
      
              # Remove any attributes that should not be sent
              _remove_reserved_attributes(attributes_to_edit)
      
              # Make requests module think that Text is a "file". This is the only way to force requests to send data as
              # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data
              new_attachment_list.append(('Text', ('', message.encode('iso-8859-1'))))
      
              # Base attributes are common to all messages
              self._add_base_msg_attributes(attributes_to_edit)
      
              # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request
              attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit)
      
              # All string values in the attributes must be encoded in latin1
              attributes_to_edit = _encode_values(attributes_to_edit)
      
              try:
                  response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list,
                                           allow_redirects=False, verify=False, timeout=timeout)
      
                  # Validate response. Any problems will raise an Exception.
                  resp_message, resp_headers, resp_msg_id = _validate_response(response)
      
                  # Close file like objects that were opened by the elog (if  path
                  for file_like_object in objects_to_close:
                      if hasattr(file_like_object, 'close'):
                          file_like_object.close()
      
              except requests.Timeout as e:
                  # Catch here a timeout o the post request.
                  # Raise the logbook excetion and let the user handle it
                  raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' +
                                             '{1}'.format(sys._getframe().f_code.co_name, e))
      
              except requests.RequestException as e:
                  # Check if message on server.
                  self._check_if_message_on_server(msg_id)  # raises exceptions if no message or no response from server
      
                  # If here: message is on server but cannot be downloaded (should never happen)
                  raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' +
                                             '{0}'.format(e))
      
              # Any error before here should raise an exception, but check again for nay case.
              if not resp_msg_id or resp_msg_id < 1:
      >           raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned')
      E           elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID
      

      📌 Teardown phase

      duration:

      0.000212118960916996
      

      outcome:

      passed
      

    Function: test_screenshot

    • Test 164

      📌 Setup phase

      duration:

      0.0001413971185684204
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00809067115187645
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
      lineno: 315
      message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      

      traceback:

      -   path: tests/test_utils_elog.py
        lineno: 144
        message: None
      -   path: slic/utils/elog.py
        lineno: 21
        message: in screenshot
      -   path: slic/utils/elog.py
        lineno: 16
        message: in post
      -   path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py
        lineno: 315
        message: LogbookInvalidMessageID
      

      longrepr:

      mock_screenshot_class = <MagicMock name='Screenshot' id='139844008827536'>
      
          @patch("slic.utils.elog.Screenshot")
          def test_screenshot(mock_screenshot_class):
              with tempfile.NamedTemporaryFile(delete=False, suffix=".png") as tmp:
                  fake_path = tmp.name
                  tmp.write(b"fake image data")
      
              mock_instance = mock_screenshot_class.return_value
              mock_instance.shoot.return_value = [fake_path]
      
              elog = get_test_elog()
      
              test_msg = "SCREENSHOT_INTEGRATION_TEST_MSG_456"
      >       entry_id = elog.screenshot(message=test_msg)
      
      tests/test_utils_elog.py:144: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      slic/utils/elog.py:21: in screenshot
          self.post(message, **kwargs)
      slic/utils/elog.py:16: in post
          return self._log.post(*args, **kwargs)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <elog.logbook.Logbook object at 0x7f2ff8a425b0>
      message = 'SCREENSHOT_INTEGRATION_TEST_MSG_456', msg_id = None, reply = False
      attributes = {'Author': 'robot', 'When': 1754911230, 'cmd': 'Submit', 'exp': 'demo', ...}
      attachments = ['/tmp/tmp2pujqwme.png'], suppress_email_notification = False
      encoding = None, timeout = None, kwargs = {'Author': 'robot'}
      new_attachment_list = [('attfile0', ('tmp2pujqwme.png', <_io.BufferedReader name='/tmp/tmp2pujqwme.png'>)), ('Text', ('', b'SCREENSHOT_INTEGRATION_TEST_MSG_456'))]
      objects_to_close = [<_io.BufferedReader name='/tmp/tmp2pujqwme.png'>]
      attributes_to_edit = {'Author': b'robot', 'When': 1754911230, 'cmd': b'Submit', 'exp': b'demo', ...}
      
          def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None,
                   suppress_email_notification=False, encoding=None, timeout=None, **kwargs):
              """
              Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing
              message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id
              of the newly created message.
      
              :param message: string with message text
              :param msg_id: ID number of message to edit or reply. If not specified new message is created.
              :param reply: If 'True' reply to existing message is created instead of editing it
              :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be
                                 ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment
              :param attachments: list of:
                                        - file like objects which read() will return bytes (if file_like_object.name is not
                                          defined, default name "attachment<i>" will be used.
                                        - paths to the files
                                  All items will be appended as attachment to the elog entry. In case of unknown
                                  attachment an exception LogbookInvalidAttachment will be raised.
              :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False.
              :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text,
                               'ELCode' --> elog formatting syntax
              :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests
                              post. Use None to disable the request timeout.
              :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text',
                             Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the
                             attributes defined in "attributes", kwargs will have priority.
      
              :return: msg_id
              """
      
              attributes = attributes or {}
              attributes = {**attributes, **kwargs}  # kwargs as attributes with higher priority
      
              attachments = attachments or []
      
              if encoding is not None:
                  if encoding not in ['plain', 'HTML', 'ELCode']:
                      raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.')
                  attributes['Encoding'] = encoding
      
              if suppress_email_notification:
                  attributes["suppress"] = 1
      
              # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION
              #
              # 1. Does the message on the server have already attachments?
              #    1.1 - We read the message getting the existing attachment list.
              #    1.2 - Add to the attributes dictionary one line for each attachment like this:
              #       attributes['attachmentN'] = timestamped_filename_name
              #
              # 2. Do we have new attachments?
              #    2.1 - Those are in the new_attachment_list. This is a list of this type:
              #       [ ('attfileN', ('filename', fileobject)) ]
              #    2.2 - We need to loop over all the new attachments:
              #       2.2.1 - Does a file already on the server with the same name exist?
              #         2.2.1.1 - No: OK. Then we go ahead with the next attachment.
              #         2.2.1.2 - Yes:
              #           2.2.1.2.1 - Are the two files identical?
              #               2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one
              #                      already on server.
              #               2.2.1.2.1.2 - No:
              #                  2.2.1.2.1.2.1 - Then the file has been update.
              #                  2.2.1.2.1.2.2 - We need to remove the file on server first (using special post)
              #                  2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary.
              #
      
              if attachments:
                  # here we accomplish point 2.1.
                  # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ]
                  new_attachment_list, objects_to_close = self._prepare_attachments(attachments)
              else:
                  objects_to_close = list()
                  new_attachment_list = list()
      
              attributes_to_edit = dict()
              if msg_id:
                  # Message exists, we can continue
                  if reply:
                      # Verify that there is a message on the server, otherwise do not reply to it!
                      self._check_if_message_on_server(msg_id)  # raises exception in case of none existing message
                      attributes['reply_to'] = str(msg_id)
                  else:  # Edit existing
                      attributes['edit_id'] = str(msg_id)
                      attributes['skiplock'] = '1'
      
                      # here we accomplish point 1.1.
                      # existing_attachments_list is something like:
                      # [ 'https://elog.url.com/logbook/timestamped_filename' ]
                      msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id)
      
                      for attribute, data in attributes.items():
                          new_data = attributes.get(attribute)
                          if new_data is not None:
                              attributes_to_edit[attribute] = new_data
      
                      i = 0
                      existing_attachments_filename_list = list()
                      for attachment in existing_attachments_list:
                          # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL.
                          attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
                          existing_attachments_filename_list.append(os.path.basename(attachment)[14:])
                          i += 1
      
                      # let's accomplish 2.2. Loop over all new attachment
                      duplicate_attachment_list = list()
                      for new_attachment in new_attachment_list:
                          # the new_attachment_list is something like:
                          # [ ('attfileN', ('filename', fileobject)) ]
                          new_attachment_filename = new_attachment[1][0]
                          if new_attachment_filename in existing_attachments_filename_list:
                              # a file with the same name existing already on the server.
                              # we need to check if the two files are the same.
                              # read the content of the new file
                              new_attachment_content = new_attachment[1][1].read()
                              # don't forget to reset the fileobj to the beginning of the file
                              new_attachment[1][1].seek(0)
                              # get the existing attachment content
                              attachment_index = existing_attachments_filename_list.index(new_attachment_filename)
                              existing_attachment_content = self.download_attachment(
                                  url=existing_attachments_list[attachment_index],
                                  timeout=timeout
                              )
                              # check if the two contents are the same
                              if new_attachment_content == existing_attachment_content:
                                  # yes. then we don't upload a second copy. we remove the current entry from the list
                                  duplicate_attachment_list.append(new_attachment)
                              else:
                                  # no. they are not the same file. we will replace the existing file with the new one
                                  # first: we need to remove the attachment from the server using the dedicated method
                                  self.delete_attachment(msg_id, attributes=attributes_to_edit,
                                                         attachment_id=attachment_index,
                                                         timeout=timeout, text=msg_to_edit)
                                  # now we can remove this attachment from the auxiliary lists.
                                  existing_attachments_filename_list.pop(attachment_index)
                                  existing_attachments_list.pop(attachment_index)
                                  # now we need to rebuild the attributes dictionary for the part concerning the attachments.
                                  # we remove all of them first
                                  keys_to_be_removed = list()
                                  for key in attributes_to_edit.keys():
                                      if key.startswith('attachment'):
                                          keys_to_be_removed.append(key)
                                      if key.startswith('delatt'):
                                          keys_to_be_removed.append(key)
                                  for key in keys_to_be_removed:
                                      del attributes_to_edit[key]
      
                                  # now we rebuild it
                                  for i, attachment in enumerate(existing_attachments_list):
                                      attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment)
      
                      # remove all duplicate attachments from the new_attachment_list
                      for attach in duplicate_attachment_list:
                          new_attachment_list.remove(attach)
      
              else:
                  # As we create a new message, specify creation time if not already specified in attributes
                  if 'When' not in attributes:
                      attributes['When'] = int(datetime.now().timestamp())
      
              if not attributes_to_edit:
                  attributes_to_edit = attributes
      
              # Remove any attributes that should not be sent
              _remove_reserved_attributes(attributes_to_edit)
      
              # Make requests module think that Text is a "file". This is the only way to force requests to send data as
              # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data
              new_attachment_list.append(('Text', ('', message.encode('iso-8859-1'))))
      
              # Base attributes are common to all messages
              self._add_base_msg_attributes(attributes_to_edit)
      
              # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request
              attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit)
      
              # All string values in the attributes must be encoded in latin1
              attributes_to_edit = _encode_values(attributes_to_edit)
      
              try:
                  response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list,
                                           allow_redirects=False, verify=False, timeout=timeout)
      
                  # Validate response. Any problems will raise an Exception.
                  resp_message, resp_headers, resp_msg_id = _validate_response(response)
      
                  # Close file like objects that were opened by the elog (if  path
                  for file_like_object in objects_to_close:
                      if hasattr(file_like_object, 'close'):
                          file_like_object.close()
      
              except requests.Timeout as e:
                  # Catch here a timeout o the post request.
                  # Raise the logbook excetion and let the user handle it
                  raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' +
                                             '{1}'.format(sys._getframe().f_code.co_name, e))
      
              except requests.RequestException as e:
                  # Check if message on server.
                  self._check_if_message_on_server(msg_id)  # raises exceptions if no message or no response from server
      
                  # If here: message is on server but cannot be downloaded (should never happen)
                  raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' +
                                             '{0}'.format(e))
      
              # Any error before here should raise an exception, but check again for nay case.
              if not resp_msg_id or resp_msg_id < 1:
      >           raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned')
      E           elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned
      
      .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID
      

      📌 Teardown phase

      duration:

      0.0002569039352238178
      

      outcome:

      passed
      
  • 📄 test_utils_hastepics.py

    Function: test_motor_init_strips_suffixes

    • Test 218

      📌 Setup phase

      duration:

      0.00037356792017817497
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0038585811853408813
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 46
      message: AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'
      
        - TEST:SIM:M1
        + TEST:SIM:M1.
        ?            +
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 46
        message: AssertionError
      

      longrepr:

      def test_motor_init_strips_suffixes():
              m1 = Motor("TEST:SIM:M1.VAL")
      >       assert m1._prefix == "TEST:SIM:M1"
      E       AssertionError: assert 'TEST:SIM:M1.' == 'TEST:SIM:M1'
      E         
      E         - TEST:SIM:M1
      E         + TEST:SIM:M1.
      E         ?            +
      
      tests/test_utils_hastepics.py:46: AssertionError
      

      📌 Teardown phase

      duration:

      0.00024193665012717247
      

      outcome:

      passed
      

    Function: test_disabled_removed_relative_to_upstream

    • Test 220

      📌 Setup phase

      duration:

      0.00014491798356175423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0012723025865852833
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_hastepics.py
      lineno: 67
      message: AssertionError: _extras is empty; expected at least one entry
      assert 0 > 0
       +  where 0 = len({})
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 67
        message: AssertionError
      

      longrepr:

      def test_disabled_removed_relative_to_upstream():
              m = Motor("TEST:SIM:M7")
      
              init_list = tuple(getattr(m, "_init_list", ()))
              extras    = dict(getattr(m, "_extras", {}))
      
              assert len(init_list) > 0, "_init_list is empty; expected at least one field"
      >       assert len(extras) > 0, "_extras is empty; expected at least one entry"
      E       AssertionError: _extras is empty; expected at least one entry
      E       assert 0 > 0
      E        +  where 0 = len({})
      
      tests/test_utils_hastepics.py:67: AssertionError
      

      📌 Teardown phase

      duration:

      0.00018461886793375015
      

      outcome:

      passed
      

    Function: test_speedup_motor_instantiation

    • Test 224

      📌 Setup phase

      duration:

      0.00017983466386795044
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.03473173500970006
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
      lineno: 254
      message: epics.motor.MotorException: TEST:SIM:M8 is not an Epics Motor
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 157
        message: None
      -   path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
        lineno: 254
        message: MotorException
      

      longrepr:

      def test_speedup_motor_instantiation():
              """On exige juste pas de grosse régression vs EPICS."""
              t0 = time.perf_counter()
              Motor("TEST:SIM:M6")
              t1 = time.perf_counter()
      
              t2 = time.perf_counter()
      >       epics.Motor("TEST:SIM:M8")
      
      tests/test_utils_hastepics.py:157: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <epics.Motor: TEST:SIM:M8.: '0.0'>, name = 'TEST:SIM:M8', timeout = 3.0
      
          def __init__(self, name=None, timeout=3.0):
              if name is None:
                  raise MotorException("must supply motor name")
      
              if name.endswith('.VAL'):
                  name = name[:-4]
              if name.endswith('.'):
                  name = name[:-1]
      
              self._prefix = name
              device.Device.__init__(self, name, delim='.',
                                     attrs=self._init_list,
                                     timeout=timeout)
               # make sure this is really a motor!
              rectype = self.get('RTYP')
              if rectype != 'motor':
      >           raise MotorException("%s is not an Epics Motor" % name)
      E           epics.motor.MotorException: TEST:SIM:M8 is not an Epics Motor
      
      /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py:254: MotorException
      

      📌 Teardown phase

      duration:

      0.0003050900995731354
      

      outcome:

      passed
      

    Function: test_speedup_motor_PV

    • Test 225

      📌 Setup phase

      duration:

      0.0001947237178683281
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.034063614904880524
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
      lineno: 254
      message: epics.motor.MotorException: TEST:SIM:M14 is not an Epics Motor
      

      traceback:

      -   path: tests/test_utils_hastepics.py
        lineno: 169
        message: None
      -   path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py
        lineno: 254
        message: MotorException
      

      longrepr:

      def test_speedup_motor_PV():
              # baseline EPICS
      >       m_epics = epics.Motor("TEST:SIM:M14")
      
      tests/test_utils_hastepics.py:169: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      self = <epics.Motor: TEST:SIM:M14.: '0.0'>, name = 'TEST:SIM:M14', timeout = 3.0
      
          def __init__(self, name=None, timeout=3.0):
              if name is None:
                  raise MotorException("must supply motor name")
      
              if name.endswith('.VAL'):
                  name = name[:-4]
              if name.endswith('.'):
                  name = name[:-1]
      
              self._prefix = name
              device.Device.__init__(self, name, delim='.',
                                     attrs=self._init_list,
                                     timeout=timeout)
               # make sure this is really a motor!
              rectype = self.get('RTYP')
              if rectype != 'motor':
      >           raise MotorException("%s is not an Epics Motor" % name)
      E           epics.motor.MotorException: TEST:SIM:M14 is not an Epics Motor
      
      /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/motor.py:254: MotorException
      

      📌 Teardown phase

      duration:

      0.00025590788573026657
      

      outcome:

      passed
      
  • 📄 test_utils_logcfg.py

    Function: test_import_logging_once_per_module

    • Test 241

      📌 Setup phase

      duration:

      0.00013923272490501404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      1.8065532897599041
      

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

      outcome:

      passed
      
  • 📄 test_utils_tqdm_mod.py

    Function: test_float_alignment_in_bar

    • Test 485

      📌 Setup phase

      duration:

      0.00010919710621237755
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0015816688537597656
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/tests/test_utils_tqdm_mod.py
      lineno: 130
      message: assert 3 == 1
       +  where 3 = len({50, 64, 65})
       +    where {50, 64, 65} = set([50, 64, 64, 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 3 == 1
      E        +  where 3 = len({50, 64, 65})
      E        +    where {50, 64, 65} = set([50, 64, 64, 65, 65])
      
      tests/test_utils_tqdm_mod.py:130: AssertionError
      

      📌 Teardown phase

      duration:

      0.00014898879453539848
      

      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:
      []
      
elog-2.7.1 (16 tests)
  • elog-2.7.1
    • Outcome: passed
    • result:
    -   nodeid: elog-2.7.1/contrib
      type: Dir
    -   nodeid: elog-2.7.1/doc
      type: Dir
    -   nodeid: elog-2.7.1/logbooks
      type: Dir
    -   nodeid: elog-2.7.1/man
      type: Dir
    -   nodeid: elog-2.7.1/resources
      type: Dir
    -   nodeid: elog-2.7.1/scripts
      type: Dir
    -   nodeid: elog-2.7.1/src
      type: Dir
    -   nodeid: elog-2.7.1/themes
      type: Dir
    
    • elog-2.7.1/contrib
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/doc
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/logbooks
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/logbooks/demo
        type: Dir
      
    • elog-2.7.1/logbooks/demo
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/man
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/resources
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/scripts
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/scripts/fckeditor
        type: Dir
      
    • elog-2.7.1/scripts/fckeditor
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/scripts/fckeditor/editor
        type: Dir
      
    • elog-2.7.1/scripts/fckeditor/editor
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/scripts/fckeditor/editor/plugins
        type: Dir
      
    • elog-2.7.1/scripts/fckeditor/editor/plugins
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/scripts/fckeditor/editor/plugins/elog
        type: Dir
      
    • elog-2.7.1/scripts/fckeditor/editor/plugins/elog
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/src
      • Outcome: passed
      • result:
      []
      
    • elog-2.7.1/themes
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/themes/default
        type: Dir
      
    • elog-2.7.1/themes/default
      • Outcome: passed
      • result:
      -   nodeid: elog-2.7.1/themes/default/icons
        type: Dir
      
    • elog-2.7.1/themes/default/icons
      • Outcome: passed
      • result:
      []
      
elog_instance (3 tests)
  • elog_instance
    • Outcome: passed
    • result:
    -   nodeid: elog_instance/logbooks
      type: Dir
    
    • elog_instance/logbooks
      • Outcome: passed
      • result:
      -   nodeid: elog_instance/logbooks/demo
        type: Dir
      
    • elog_instance/logbooks/demo
      • Outcome: passed
      • result:
      []
      
morbidissimo (6 tests)
  • morbidissimo
    • Outcome: passed
    • result:
    -   nodeid: morbidissimo/morbidissimo
      type: Package
    
    • morbidissimo/morbidissimo
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman
        type: Package
      -   nodeid: morbidissimo/morbidissimo/morioc
        type: Package
      
    • morbidissimo/morbidissimo/modman
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman/scripts
        type: Dir
      
    • morbidissimo/morbidissimo/modman/scripts
      • Outcome: passed
      • result:
      []
      
    • morbidissimo/morbidissimo/morioc
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py
        type: Module
      
    • morbidissimo/morbidissimo/morioc/test_infer_type.py
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_str
        type: Function
        lineno: 14
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_float
        type: Function
        lineno: 17
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_int
        type: Function
        lineno: 20
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_str
        type: Function
        lineno: 24
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_long_str
        type: Function
        lineno: 27
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_float
        type: Function
        lineno: 32
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_int
        type: Function
        lineno: 35
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_str
        type: Function
        lineno: 39
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_float
        type: Function
        lineno: 42
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_int
        type: Function
        lineno: 45
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_str
        type: Function
        lineno: 49
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_float
        type: Function
        lineno: 52
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_int
        type: Function
        lineno: 55
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_str
        type: Function
        lineno: 59
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_float
        type: Function
        lineno: 62
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_int
        type: Function
        lineno: 65
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_None
        type: Function
        lineno: 69
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_True
        type: Function
        lineno: 72
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_False
        type: Function
        lineno: 75
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_nan
        type: Function
        lineno: 78
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_nan
        type: Function
        lineno: 81
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_int
        type: Function
        lineno: 85
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_int
        type: Function
        lineno: 91
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_float
        type: Function
        lineno: 99
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_float
        type: Function
        lineno: 105
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_bool
        type: Function
        lineno: 114
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_object
        type: Function
        lineno: 119
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_int
        type: Function
        lineno: 126
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_float
        type: Function
        lineno: 131
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_bool
        type: Function
        lineno: 136
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_list
        type: Function
        lineno: 145
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_tuple
        type: Function
        lineno: 150
      
mxml (1 tests)
  • mxml
    • 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 (47 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_elog.py
      type: Module
    -   nodeid: tests/test_utils_eval.py
      type: Module
    -   nodeid: tests/test_utils_exceptions.py
      type: Module
    -   nodeid: tests/test_utils_get_adj.py
      type: Module
    -   nodeid: tests/test_utils_hastepics.py
      type: Module
    -   nodeid: tests/test_utils_ipy.py
      type: Module
    -   nodeid: tests/test_utils_jsonext.py
      type: Module
    -   nodeid: tests/test_utils_lazypv.py
      type: Module
    -   nodeid: tests/test_utils_logcfg.py
      type: Module
    -   nodeid: tests/test_utils_logign.py
      type: Module
    -   nodeid: tests/test_utils_marker.py
      type: Module
    -   nodeid: tests/test_utils_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_namespace.py
      type: Module
    -   nodeid: tests/test_utils_npy.py
      type: Module
    -   nodeid: tests/test_utils_opmsg.py
      type: Module
    -   nodeid: tests/test_utils_path.py
      type: Module
    -   nodeid: tests/test_utils_picklio.py
      type: Module
    -   nodeid: tests/test_utils_printing.py
      type: Module
    -   nodeid: tests/test_utils_pv.py
      type: Module
    -   nodeid: tests/test_utils_pvpreload.py
      type: Module
    -   nodeid: tests/test_utils_pyepics.py
      type: Module
    -   nodeid: tests/test_utils_rangebar.py
      type: Module
    -   nodeid: tests/test_utils_readable.py
      type: Module
    -   nodeid: tests/test_utils_registry.py
      type: Module
    -   nodeid: tests/test_utils_richcfg.py
      type: Module
    -   nodeid: tests/test_utils_run_later.py
      type: Module
    -   nodeid: tests/test_utils_sendmail.py
      type: Module
    -   nodeid: tests/test_utils_shortcut.py
      type: Module
    -   nodeid: tests/test_utils_snapshot.py
      type: Module
    -   nodeid: tests/test_utils_termtitle.py
      type: Module
    -   nodeid: tests/test_utils_tqdm_mod.py
      type: Module
    -   nodeid: tests/test_utils_trinary.py
      type: Module
    -   nodeid: tests/test_utils_typecast.py
      type: Module
    -   nodeid: tests/test_utils_utils.py
      type: Module
    -   nodeid: tests/test_utils_xrange.py
      type: Module
    
    • tests/test_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_elog.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_elog.py::test_post_local
        type: Function
        lineno: 29
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_with_direct_password_and_real_check
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_asks_password_and_opens
        type: Function
        lineno: 66
      -   nodeid: tests/test_utils_elog.py::test_get_default_elog_with_path_home
        type: Function
        lineno: 84
      -   nodeid: tests/test_utils_elog.py::test_post
        type: Function
        lineno: 115
      -   nodeid: tests/test_utils_elog.py::test_screenshot
        type: Function
        lineno: 131
      
    • tests/test_utils_eval.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[4 - 2-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 * 5-15]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 / 2-5.0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 % 3-1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-5--5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[+7-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2 * 3-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(1 + 2) * 3-9]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-3)-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-2 + 4 * 2-6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(4 + 5) * (6 - 1)-45]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(((3)))-3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-(-2))--2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + +4-7]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + -4--1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[True + 1-2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['string'-string]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1e1000 * 1e1000-inf]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['a' + 'b'-ab]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[2 ** 3-Unsupported BinOp Pow]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[3 << 1-Unsupported BinOp LShift]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[1 < 2-Unsupported node type Compare]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[abs(3)-Unsupported node type Call]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[a + 2-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[string-Unsupported node type Name]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[[1, 2] + [3]-Unsupported node type List]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[{1: 2}-Unsupported node type Dict]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[1 / 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[10 % 0-ZeroDivisionError]
        type: Function
        lineno: 52
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 + 2-3]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[bad + 2-bad + 2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 / 0-1 / 0]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_forgiving_eval[2 ** 10-2 ** 10]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[3 * 4-0-12]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[invalid + 1-99-99]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[1 / 0--1--1]
        type: Function
        lineno: 71
      -   nodeid: tests/test_utils_eval.py::test_defaulting_eval[2 ** 10-42-42]
        type: Function
        lineno: 71
      
    • tests/test_utils_exceptions.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_key_error-High-level task failed\ncaused by KeyError: 'missing']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_index_error-High-level task failed\ncaused by IndexError: list index out of range]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_value_error-High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_type_error-High-level task failed\ncaused by TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_key_error-KeyError: 'missing']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_index_error-IndexError: list index out of range]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_zero_division-ZeroDivisionError: division by zero]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number']
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_type_error-TypeError: can only concatenate str (not "int") to str]
        type: Function
        lineno: 60
      
    • tests/test_utils_get_adj.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_success
        type: Function
        lineno: 23
      -   nodeid: tests/test_utils_get_adj.py::test_get_adj_not_found
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_get_adj.py::test_ensure_adjs_mixed
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_get_adj.py::test_get_adjs_filter
        type: Function
        lineno: 37
      
    • tests/test_utils_hastepics.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_hastepics.py::test_get_pv_connect_false_and_true
        type: Function
        lineno: 28
      -   nodeid: tests/test_utils_hastepics.py::test_motor_init_strips_suffixes
        type: Function
        lineno: 43
      -   nodeid: tests/test_utils_hastepics.py::test_motor_invalid_name_raises
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_hastepics.py::test_disabled_removed_relative_to_upstream
        type: Function
        lineno: 59
      -   nodeid: tests/test_utils_hastepics.py::test_motor_init_list_and_extras_build_handles_eagerly
        type: Function
        lineno: 80
      -   nodeid: tests/test_utils_hastepics.py::test_motor_val_connect_via_cache
        type: Function
        lineno: 110
      -   nodeid: tests/test_utils_hastepics.py::test_speedup_get_pv
        type: Function
        lineno: 129
      -   nodeid: tests/test_utils_hastepics.py::test_speedup_motor_instantiation
        type: Function
        lineno: 149
      -   nodeid: tests/test_utils_hastepics.py::test_speedup_motor_PV
        type: Function
        lineno: 166
      -   nodeid: tests/test_utils_hastepics.py::test_motor_init_list_attrs_created
        type: Function
        lineno: 188
      -   nodeid: tests/test_utils_hastepics.py::test_motor_extras_attrs_correct
        type: Function
        lineno: 199
      -   nodeid: tests/test_utils_hastepics.py::test_motor_callbacks_empty
        type: Function
        lineno: 211
      
    • tests/test_utils_ipy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_ipy.py::test_devices_repr_fallback_and_ignore
        type: Function
        lineno: 19
      
    • tests/test_utils_jsonext.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj0-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj1-42]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[(1-1j)-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj3-/tmp/file.txt]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj5-expected5]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj6-expected6]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj7-expected7]
        type: Function
        lineno: 7
      
    • tests/test_utils_lazypv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_lazypv.py::test_getattr
        type: Function
        lineno: 7
      
    • tests/test_utils_logcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[LONG-<lambda>-This is a LONG message]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[ENLARGE-<lambda>-Please ENLARGE this!]
        type: Function
        lineno: 21
      -   nodeid: tests/test_utils_logcfg.py::test_import_logging_once_per_module
        type: Function
        lineno: 51
      
    • tests/test_utils_logign.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[WARNING-This should be ignored-This should appear]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[ENLARGE-ENLARGE this-Keep this ENLARGE]
        type: Function
        lineno: 9
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_level
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_logign.py::test_ignore_only_by_msg
        type: Function
        lineno: 64
      -   nodeid: tests/test_utils_logign.py::test_filter_removed_after_context
        type: Function
        lineno: 86
      
    • tests/test_utils_marker.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_marker.py::test_format_value_with_units
        type: Function
        lineno: 30
      -   nodeid: tests/test_utils_marker.py::test_format_value_without_units
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_marker.py::test_marker_name_default
        type: Function
        lineno: 39
      -   nodeid: tests/test_utils_marker.py::test_marker_name_custom
        type: Function
        lineno: 44
      -   nodeid: tests/test_utils_marker.py::test_marker_repr_format
        type: Function
        lineno: 49
      -   nodeid: tests/test_utils_marker.py::test_marker_update_changes_value
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_marker.py::test_marker_update_with_explicit_value
        type: Function
        lineno: 63
      -   nodeid: tests/test_utils_marker.py::test_marker_goto_sets_value_and_returns_result
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_marker.py::test_marker_call_is_alias_of_goto
        type: Function
        lineno: 77
      -   nodeid: tests/test_utils_marker.py::test_markers_register_and_access
        type: Function
        lineno: 87
      -   nodeid: tests/test_utils_marker.py::test_markers_repr_contains_all
        type: Function
        lineno: 103
      -   nodeid: tests/test_utils_marker.py::test_marker_registry_dict_is_printable_dict
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_marker.py::test_markers_getitem_invalid_key_raises
        type: Function
        lineno: 122
      
    • tests/test_utils_metaclasses.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_metaclasses.py::test_combine_classes_combines_methods
        type: Function
        lineno: 14
      -   nodeid: tests/test_utils_metaclasses.py::test_registryabc_combines_registrymeta_and_abcmeta
        type: Function
        lineno: 25
      
    • tests/test_utils_namespace.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_namespace.py::test_namespace_pretty_repr_mixed_and_nested
        type: Function
        lineno: 4
      
    • tests/test_utils_npy.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[0-5-1-expected0]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[5-0--1-expected1]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[1-2-0.3-expected2]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[-2-2-1.5-expected3]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_arange[2.5-0.5--0.4-expected4]
        type: Function
        lineno: 7
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-10-4-expected0]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[5-15-2-expected1]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-5-5-4-expected2]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-3-expected3]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[2-2-3-expected4]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[3-0-3-expected5]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-0-expected6]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_linspace[-2-2-3-expected7]
        type: Function
        lineno: 18
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2--1.5-True-expected4]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[5-0--2-True-expected5]
        type: Function
        lineno: 33
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 46
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 60
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 85
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 118
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 127
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 127
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 127
      
    • tests/test_utils_opmsg.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_path.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_yes
        type: Function
        lineno: 10
      -   nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_no
        type: Function
        lineno: 36
      -   nodeid: tests/test_utils_path.py::test_make_missing_dir_creates_folder
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_path.py::test_glob_files_returns_matching_files_only
        type: Function
        lineno: 66
      -   nodeid: tests/test_utils_path.py::test_filter_files_excludes_directories
        type: Function
        lineno: 83
      
    • tests/test_utils_picklio.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj0]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj1]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[simple string]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[42]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[3.14159]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj5]
        type: Function
        lineno: 6
      -   nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj6]
        type: Function
        lineno: 6
      
    • tests/test_utils_printing.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq0-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq1-0]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq2-3]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq3-2]
        type: Function
        lineno: 8
      -   nodeid: tests/test_utils_printing.py::test_strlen[42-2]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[hello-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[False-5]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[None-4]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value4-9]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value5-8]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[value6-6]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[-0]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_strlen[this is a phrase-16]
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq0-6]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq1-3]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq2-9]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq3-16]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_maxstrlen[seq4-5]
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data0-expected0]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data1-expected1]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_transpose_matrix[data2-expected2]
        type: Function
        lineno: 41
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial0-1-expected0]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial1-a-expected1]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial2-prepend2-expected2]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_prepend[initial3-prepend3-expected3]
        type: Function
        lineno: 50
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries0-widths0-  a   bbb]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries1-widths1- 1  2]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries2-widths2-  long  val]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries3-widths3- True  False]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries4-widths4-  123  4567]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries5-widths5- text with space   end]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries6-widths6-  {'a': 1}   {'b': 2}]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries7-widths7-    [1, 2]     [3, 4]]
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths0------ ----]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths1-=-== ===]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths2-*-***** **]
        type: Function
        lineno: 74
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_with_header[d0-HeaderTest-expected_lines0]
        type: Function
        lineno: 82
      -   nodeid: tests/test_utils_printing.py::test_printable_dict_of_dicts
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_printing.py::test_printable_table[data0-labels0-A: ID\nB: \u2713 Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n#             A     B          C                            D\n- ------------- ----- ---------- ----------------------------\n0            X1  True     0.1234               {'meta': 'ok'}\n1 AnotherSample False 98765.4321          {'meta': [1, 2, 3]}\n2             Z  None        0.0 {'meta': {'nested_key': 42}}]
        type: Function
        lineno: 128
      
    • tests/test_utils_pv.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[25-0-True-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[50-25-True-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[75-50-False-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[100-75-True-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[150-100-False-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[-50-150-True-\x1b[32m]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pv.py::test_use_callback_context_manager
        type: Function
        lineno: 125
      -   nodeid: tests/test_utils_pv.py::test_orig_repr_is_not_custom_repr
        type: Function
        lineno: 151
      
    • tests/test_utils_pvpreload.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_pvpreload.py::test_file_age[30-expected0]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pvpreload.py::test_file_age[300-expected1]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pvpreload.py::test_file_age[3600-expected2]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pvpreload.py::test_file_age[86400-expected3]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pvpreload.py::test_file_age[1209600-expected4]
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_pvpreload.py::test_preload_valid_file
        type: Function
        lineno: 89
      -   nodeid: tests/test_utils_pvpreload.py::test_preload_old_file
        type: Function
        lineno: 125
      -   nodeid: tests/test_utils_pvpreload.py::test_preload_corrupt_file
        type: Function
        lineno: 153
      -   nodeid: tests/test_utils_pvpreload.py::test_offload
        type: Function
        lineno: 174
      -   nodeid: tests/test_utils_pvpreload.py::test_offload_exception
        type: Function
        lineno: 224
      -   nodeid: tests/test_utils_pvpreload.py::test_pvpreload_end_to_end
        type: Function
        lineno: 249
      
    • tests/test_utils_pyepics.py
      • Outcome: passed
      • result:
      []
      
    • tests/test_utils_rangebar.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_rangebar.py::test_full_progress_bar
        type: Function
        lineno: 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_readable_seconds[59.4-59 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[59.9-60 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[119.9-120 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[120.1-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3599.9-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3600.1-60 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[7199.9-120 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[7200.1-2 hours]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[90.4-90 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[90.6-91 seconds]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[121.9-2 minutes]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[1296000.0-2 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[2592000.0-4 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[2800000.0-5 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[3888000.0-6 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5097600.0-8 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5184000.0-9 weeks]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[5270400.0-2 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[23328000.0-9 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[31104000.0-12 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[33696000.0-13 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[59616000.0-23 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[62208000.0-24 months]
        type: Function
        lineno: 3
      -   nodeid: tests/test_utils_readable.py::test_readable_seconds[64208000.0-2 years]
        type: Function
        lineno: 3
      
    • tests/test_utils_registry.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_registry.py::test_metaclass_creates_weakset
        type: Function
        lineno: 13
      -   nodeid: tests/test_utils_registry.py::test_metaclass_tracks_instances
        type: Function
        lineno: 22
      -   nodeid: tests/test_utils_registry.py::test_registry_inheritance
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_registry.py::test_instance_tracking
        type: Function
        lineno: 39
      -   nodeid: tests/test_utils_registry.py::test_collect_instances_recursive
        type: Function
        lineno: 53
      -   nodeid: tests/test_utils_registry.py::test_instances_function
        type: Function
        lineno: 69
      -   nodeid: tests/test_utils_registry.py::test_non_registry_class_error
        type: Function
        lineno: 93
      -   nodeid: tests/test_utils_registry.py::test_signature_preservation
        type: Function
        lineno: 102
      
    • tests/test_utils_richcfg.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_richcfg.py::test_rich_inspector_outputs_more_than_builtin
        type: Function
        lineno: 45
      
    • tests/test_utils_run_later.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_run_later.py::test_init_and_repr
        type: Function
        lineno: 17
      -   nodeid: tests/test_utils_run_later.py::test_call
        type: Function
        lineno: 22
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_string
        type: Function
        lineno: 27
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_list
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_run_later.py::test_matmul_with_single_int
        type: Function
        lineno: 37
      -   nodeid: tests/test_utils_run_later.py::test_run_at_future_triggered_and_logs
        type: Function
        lineno: 49
      -   nodeid: tests/test_utils_run_later.py::test_run_at_already_past
        type: Function
        lineno: 61
      -   nodeid: tests/test_utils_run_later.py::test_run_in_future_triggered_and_logs
        type: Function
        lineno: 72
      -   nodeid: tests/test_utils_run_later.py::test_run_in_past
        type: Function
        lineno: 83
      -   nodeid: tests/test_utils_run_later.py::test_run_later_with_seconds
        type: Function
        lineno: 95
      -   nodeid: tests/test_utils_run_later.py::test_run_later_with_past_datetime
        type: Function
        lineno: 105
      -   nodeid: tests/test_utils_run_later.py::test_run_at_tqdm_multiple_updates
        type: Function
        lineno: 115
      -   nodeid: tests/test_utils_run_later.py::test_today_basic
        type: Function
        lineno: 137
      -   nodeid: tests/test_utils_run_later.py::test_tomorrow_basic
        type: Function
        lineno: 143
      -   nodeid: tests/test_utils_run_later.py::test_yesterday_basic
        type: Function
        lineno: 149
      -   nodeid: tests/test_utils_run_later.py::test_today_matmul_string
        type: Function
        lineno: 155
      -   nodeid: tests/test_utils_run_later.py::test_tomorrow_matmul_list
        type: Function
        lineno: 161
      -   nodeid: tests/test_utils_run_later.py::test_yesterday_matmul_single
        type: Function
        lineno: 167
      
    • 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_shortcut.py
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::test_run_method
        type: Function
        lineno: 31
      -   nodeid: tests/test_utils_shortcut.py::test_repr_output
        type: Function
        lineno: 54
      -   nodeid: tests/test_utils_shortcut.py::test_source_with_regular_function
        type: Function
        lineno: 62
      -   nodeid: tests/test_utils_shortcut.py::test_source_error_handling
        type: Function
        lineno: 76
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_basic
        type: Function
        lineno: 86
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_with_name
        type: Function
        lineno: 96
      -   nodeid: tests/test_utils_shortcut.py::test_as_shortcut_factory_pattern
        type: Function
        lineno: 104
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration
        type: Class
      -   nodeid: tests/test_utils_shortcut.py::test_registry_inheritance
        type: Function
        lineno: 204
      
    • tests/test_utils_shortcut.py::TestFullIntegration
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_workflow
        type: Function
        lineno: 170
      -   nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_multiple_shortcuts
        type: Function
        lineno: 190
      
    • tests/test_utils_shortcut.py::TestShortcutInitialization
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_with_custom_name
        type: Function
        lineno: 16
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_without_name
        type: Function
        lineno: 23
      
    • tests/test_utils_shortcut.py::TestShortcutsSingleton
      • Outcome: passed
      • result:
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_singleton_behavior
        type: Function
        lineno: 121
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_registration
        type: Function
        lineno: 127
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_getitem_access
        type: Function
        lineno: 141
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_missing_key
        type: Function
        lineno: 149
      -   nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_repr_output
        type: Function
        lineno: 154
      
    • 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: elog-2.7.1
      type: Dir
    -   nodeid: elog_instance
      type: Dir
    -   nodeid: morbidissimo
      type: Dir
    -   nodeid: mxml
      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: 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