Clone
1
run 1925 TEST commit 74140f6
ci-bot edited this page 2025-08-08 18:25:19 +00:00

Test Report

View CI Run 1925 | Commit 74140f6

🧪 Test Report

Generated on 2025-08-08 20:25:08 CEST

🧾 General Info

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

📋 Summary

  • Passed: 250
  • Failed: 69
  • Error: 1
  • Total: 320
  • Collected: 320

🔎 Tests

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

    Function: test_it_type_str

    • Test 1

      📌 Setup phase

      duration:

      0.0006689410656690598
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021093711256980896
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022203102707862854
      

      outcome:

      passed
      

    Function: test_it_type_float

    • Test 2

      📌 Setup phase

      duration:

      0.00011897087097167969
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014648260548710823
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010718079283833504
      

      outcome:

      passed
      

    Function: test_it_type_int

    • Test 3

      📌 Setup phase

      duration:

      0.00011458015069365501
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014181574806571007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001025097444653511
      

      outcome:

      passed
      

    Function: test_it_value_str

    • Test 4

      📌 Setup phase

      duration:

      0.00010820478200912476
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013694213703274727
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010829698294401169
      

      outcome:

      passed
      

    Function: test_it_value_long_str

    • Test 5

      📌 Setup phase

      duration:

      0.0001102890819311142
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001397058367729187
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.813113138079643e-05
      

      outcome:

      passed
      

    Function: test_it_value_float

    • Test 6

      📌 Setup phase

      duration:

      0.00010532187297940254
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014931289479136467
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.754905477166176e-05
      

      outcome:

      passed
      

    Function: test_it_value_int

    • Test 7

      📌 Setup phase

      duration:

      0.00011063693091273308
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001518470235168934
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.952718392014503e-05
      

      outcome:

      passed
      

    Function: test_it_empty_value_str

    • Test 8

      📌 Setup phase

      duration:

      0.00010657403618097305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013587763532996178
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.73949208855629e-05
      

      outcome:

      passed
      

    Function: test_it_empty_value_float

    • Test 9

      📌 Setup phase

      duration:

      0.00012211687862873077
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001386343501508236
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.955791756510735e-05
      

      outcome:

      passed
      

    Function: test_it_empty_value_int

    • Test 10

      📌 Setup phase

      duration:

      0.00010427692905068398
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014020968228578568
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.628571569919586e-05
      

      outcome:

      passed
      

    Function: test_pstrue_str

    • Test 11

      📌 Setup phase

      duration:

      0.000108351930975914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014169560745358467
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.882310405373573e-05
      

      outcome:

      passed
      

    Function: test_pstrue_float

    • Test 12

      📌 Setup phase

      duration:

      0.00010351184755563736
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001455000601708889
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.978888556361198e-05
      

      outcome:

      passed
      

    Function: test_pstrue_int

    • Test 13

      📌 Setup phase

      duration:

      0.00010530324652791023
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013657473027706146
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010301964357495308
      

      outcome:

      passed
      

    Function: test_psfalse_str

    • Test 14

      📌 Setup phase

      duration:

      0.0001034298911690712
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013546599075198174
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010525807738304138
      

      outcome:

      passed
      

    Function: test_psfalse_float

    • Test 15

      📌 Setup phase

      duration:

      0.00010449625551700592
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013135606423020363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.62279736995697e-05
      

      outcome:

      passed
      

    Function: test_psfalse_int

    • Test 16

      📌 Setup phase

      duration:

      0.00010387413203716278
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013444293290376663
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.653018787503242e-05
      

      outcome:

      passed
      

    Function: test_it_None

    • Test 17

      📌 Setup phase

      duration:

      0.00010954402387142181
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001310650259256363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.502191096544266e-05
      

      outcome:

      passed
      

    Function: test_it_True

    • Test 18

      📌 Setup phase

      duration:

      0.00011235196143388748
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001378157176077366
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.81409102678299e-05
      

      outcome:

      passed
      

    Function: test_it_False

    • Test 19

      📌 Setup phase

      duration:

      0.00010276678949594498
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013428181409835815
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.689806029200554e-05
      

      outcome:

      passed
      

    Function: test_it_nan

    • Test 20

      📌 Setup phase

      duration:

      0.00010470906272530556
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014076801016926765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.798770770430565e-05
      

      outcome:

      passed
      

    Function: test_it_np_nan

    • Test 21

      📌 Setup phase

      duration:

      0.00010817404836416245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002802358940243721
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001154518686234951
      

      outcome:

      passed
      

    Function: test_it_np1D_int

    • Test 22

      📌 Setup phase

      duration:

      0.00011104624718427658
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021140696480870247
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010267877951264381
      

      outcome:

      passed
      

    Function: test_it_np2D_int

    • Test 23

      📌 Setup phase

      duration:

      0.00010537868365645409
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017940765246748924
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010227924212813377
      

      outcome:

      passed
      

    Function: test_it_np1D_float

    • Test 24

      📌 Setup phase

      duration:

      0.00011169305071234703
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022422894835472107
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011095218360424042
      

      outcome:

      passed
      

    Function: test_it_np2D_float

    • Test 25

      📌 Setup phase

      duration:

      0.00011194124817848206
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021936511620879173
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010044313967227936
      

      outcome:

      passed
      

    Function: test_it_np1D_bool

    • Test 26

      📌 Setup phase

      duration:

      0.00010414980351924896
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017500901594758034
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010189088061451912
      

      outcome:

      passed
      

    Function: test_it_np1D_object

    • Test 27

      📌 Setup phase

      duration:

      0.00010508019477128983
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015786895528435707
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.79187898337841e-05
      

      outcome:

      passed
      

    Function: test_it_np_scalar_int

    • Test 28

      📌 Setup phase

      duration:

      0.00010222801938652992
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015763984993100166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010301405563950539
      

      outcome:

      passed
      

    Function: test_it_np_scalar_float

    • Test 29

      📌 Setup phase

      duration:

      0.0001072930172085762
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015388661995530128
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010657776147127151
      

      outcome:

      passed
      

    Function: test_it_np_scalar_bool

    • Test 30

      📌 Setup phase

      duration:

      0.00010597938671708107
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015772879123687744
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001047179102897644
      

      outcome:

      passed
      

    Function: test_it_list

    • Test 31

      📌 Setup phase

      duration:

      0.00010964600369334221
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014385534450411797
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      9.755510836839676e-05
      

      outcome:

      passed
      

    Function: test_it_tuple

    • Test 32

      📌 Setup phase

      duration:

      0.00010301498696208
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014483695849776268
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001040073111653328
      

      outcome:

      passed
      
  • 📄 test_utils_channels.py

    Function: test_load_channels_and_channels_class_with_professional_names

    • Test 73

      📌 Setup phase

      duration:

      0.00015201931819319725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0014569382183253765
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014297803863883018
      

      outcome:

      passed
      
  • 📄 test_utils_config.py

    Function: test_config_with_nested_and_list_data

    • Test 74

      📌 Setup phase

      duration:

      0.0001321001909673214
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005340487696230412
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011610100045800209
      

      outcome:

      passed
      

    Function: test_config_with_strange_and_edge_keys

    • Test 75

      📌 Setup phase

      duration:

      0.00011783093214035034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007162680849432945
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001143389381468296
      

      outcome:

      passed
      
  • 📄 test_utils_cpint.py

    Function: test_load_color_variants_all_keys_and_types

    • Test 76
      params: base_color="red"

      📌 Runtime Parameters

      params:
        base_color: red
      id: red
      

      📌 Setup phase

      duration:

      0.00021340418606996536
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016692187637090683
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001644529402256012
      

      outcome:

      passed
      
    • Test 77
      params: base_color="blue"

      📌 Runtime Parameters

      params:
        base_color: blue
      id: blue
      

      📌 Setup phase

      duration:

      0.00018576672300696373
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015054689720273018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001584487035870552
      

      outcome:

      passed
      
    • Test 78
      params: base_color="yellow"

      📌 Runtime Parameters

      params:
        base_color: yellow
      id: yellow
      

      📌 Setup phase

      duration:

      0.00018229708075523376
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015430431813001633
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012588687241077423
      

      outcome:

      passed
      
    • Test 79
      params: base_color="green"

      📌 Runtime Parameters

      params:
        base_color: green
      id: green
      

      📌 Setup phase

      duration:

      0.00017032073810696602
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014677317813038826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012723077088594437
      

      outcome:

      passed
      
    • Test 80
      params: base_color="cyan"

      📌 Runtime Parameters

      params:
        base_color: cyan
      id: cyan
      

      📌 Setup phase

      duration:

      0.0001726117916405201
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015000207349658012
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012099416926503181
      

      outcome:

      passed
      
    • Test 81
      params: base_color="magenta"

      📌 Runtime Parameters

      params:
        base_color: magenta
      id: magenta
      

      📌 Setup phase

      duration:

      0.00017585884779691696
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014946935698390007
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001226114109158516
      

      outcome:

      passed
      
    • Test 82
      params: base_color="white"

      📌 Runtime Parameters

      params:
        base_color: white
      id: white
      

      📌 Setup phase

      duration:

      0.0001667509786784649
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014493288472294807
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012221699580550194
      

      outcome:

      passed
      
    • Test 83
      params: base_color="black"

      📌 Runtime Parameters

      params:
        base_color: black
      id: black
      

      📌 Setup phase

      duration:

      0.000173844862729311
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015053106471896172
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00012001767754554749
      

      outcome:

      passed
      

    Function: test_cprint_all_cases_fancy

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024671200662851334
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002576559782028198
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024221604689955711
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024490198120474815
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026818737387657166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002486049197614193
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022893911227583885
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002458062954246998
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022832490503787994
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002460298128426075
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021239183843135834
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00027703214436769485
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024108309298753738
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002567400224506855
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022528460249304771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002573053352534771
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000234236940741539
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025246478617191315
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022376887500286102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024041393771767616
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00021459488198161125
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00026538409292697906
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022646598517894745
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00024061603471636772
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024347007274627686
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00025217700749635696
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022938614711165428
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002462840639054775
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023379595950245857
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00023984303697943687
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022159703075885773
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000244291964918375
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_short_repr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00036222580820322037
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017678877338767052
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016677705571055412
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032591773197054863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001595127396285534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018243072554469109
      

      outcome:

      passed
      
    • Test 108
      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.00027572596445679665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001560659147799015
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015614693984389305
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002661691978573799
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014201831072568893
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001522502861917019
      

      outcome:

      passed
      
  • 📄 test_utils_dotdir.py

    Function: test_dotdir_creation_and_base_exists

    • Test 111

      📌 Setup phase

      duration:

      0.0011616721749305725
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002919011749327183
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002156267873942852
      

      outcome:

      passed
      

    Function: test_dotdir_repr_returns_path_str

    • Test 112

      📌 Setup phase

      duration:

      0.0005833329632878304
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022790301591157913
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002112109214067459
      

      outcome:

      passed
      

    Function: test_dotdir_call

    • Test 113

      📌 Setup phase

      duration:

      0.0006170440465211868
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00024014711380004883
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020973989740014076
      

      outcome:

      passed
      
  • 📄 test_utils_eval.py

    Function: test_arithmetic_eval_valid

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024142488837242126
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017661508172750473
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015121698379516602
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002253320999443531
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017417781054973602
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014280201867222786
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022385502234101295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015542423352599144
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014726212248206139
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001588272862136364
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001377379521727562
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024402886629104614
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016074208542704582
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014038197696208954
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021555088460445404
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015851343050599098
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014047930017113686
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021656183525919914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014923233538866043
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001355297863483429
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016280030831694603
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015327194705605507
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016380473971366882
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014291377738118172
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021953880786895752
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015446124598383904
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013847416266798973
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017644604668021202
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013881688937544823
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017020013183355331
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014125695452094078
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022166408598423004
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015700235962867737
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014064274728298187
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002308441326022148
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016628392040729523
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014044810086488724
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022064195945858955
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001614331267774105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014652404934167862
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002194168046116829
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015573715791106224
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001459871418774128
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022357376292347908
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015564123168587685
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001459089107811451
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021739117801189423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016268668696284294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014146510511636734
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021316902711987495
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015405518934130669
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002379249781370163
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022970791906118393
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001604282297194004
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000140512827783823
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_raises_with_message

    • Test 134
      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.0002445611171424389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00035794684663414955
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014461809769272804
      

      outcome:

      passed
      
    • Test 135
      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.0002186531201004982
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034247245639562607
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015473412349820137
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00036548124626278877
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014452403411269188
      

      outcome:

      passed
      
    • Test 137
      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.00023678597062826157
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034014787524938583
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001436471939086914
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000338749960064888
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015520770102739334
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001814090646803379
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001491829752922058
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003460068255662918
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000143375713378191
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00033242907375097275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001425039954483509
      

      outcome:

      passed
      

    Function: test_arithmetic_eval_runtime_errors

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023001013323664665
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017829285934567451
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001517031341791153
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021693436428904533
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017801811918616295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014417897909879684
      

      outcome:

      passed
      

    Function: test_forgiving_eval

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021424097940325737
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015404913574457169
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014698505401611328
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00019099190831184387
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015110522508621216
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001604701392352581
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013765087351202965
      

      outcome:

      passed
      
    • Test 147
      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.0002371133305132389
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016177212819457054
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013875821605324745
      

      outcome:

      passed
      

    Function: test_defaulting_eval

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001626480370759964
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015529710799455643
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015922682359814644
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001672450453042984
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016527902334928513
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015231594443321228
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017195520922541618
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015755929052829742
      

      outcome:

      passed
      
  • 📄 test_utils_exceptions.py

    Function: test_chained_exception_various

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015553180128335953
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014564301818609238
      

      outcome:

      passed
      
    • Test 153
      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 0x7f9c6bae2a60>
        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.0002336227335035801
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014589214697480202
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014212029054760933
      

      outcome:

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014721602201461792
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015351083129644394
      

      outcome:

      passed
      
    • Test 155
      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 0x7f9c6bae2b80>
        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.0002241525799036026
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002297661267220974
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001659151166677475
      

      outcome:

      passed
      
    • Test 156
      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 0x7f9c6bae2c10>
        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.0002295742742717266
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001516439951956272
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014200806617736816
      

      outcome:

      passed
      

    Function: test_printed_exception

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0006963321939110756
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0011262740008533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004694550298154354
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005656681023538113
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007836045697331429
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004156767390668392
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0005633621476590633
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.001092288177460432
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004116268828511238
      

      outcome:

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008103088475763798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0004359339363873005
      

      outcome:

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

      📌 Runtime Parameters

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008376040495932102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00041564274579286575
      

      outcome:

      passed
      
  • 📄 test_utils_jsonext.py

    Function: test_json_validate_save_load

    • Test 163
      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.0006756712682545185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004034838639199734
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018837302923202515
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0006064106710255146
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00038115400820970535
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018207496032118797
      

      outcome:

      passed
      
    • Test 165
      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.000585213303565979
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003822268918156624
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001924191601574421
      

      outcome:

      passed
      
    • Test 166
      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.0005703717470169067
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003488752990961075
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018252013251185417
      

      outcome:

      passed
      
    • Test 167
      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.0005627740174531937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003744787536561489
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001830817200243473
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004054107703268528
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018823472782969475
      

      outcome:

      passed
      
    • Test 169
      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.0006078388541936874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00041988492012023926
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018078787252306938
      

      outcome:

      passed
      
    • Test 170
      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.0005938778631389141
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005488498136401176
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019604573026299477
      

      outcome:

      passed
      
  • 📄 test_utils_metaclasses.py

    Function: test_combine_classes_combines_methods

    • Test 171

      📌 Setup phase

      duration:

      0.00013735704123973846
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017045577988028526
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010486599057912827
      

      outcome:

      passed
      

    Function: test_registryabc_combines_registrymeta_and_abcmeta

    • Test 172

      📌 Setup phase

      duration:

      0.00011243904009461403
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0009474479593336582
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011723395437002182
      

      outcome:

      passed
      
  • 📄 test_utils_namespace.py

    Function: test_namespace_pretty_repr_mixed_and_nested

    • Test 173

      📌 Setup phase

      duration:

      0.0001305961050093174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003722952678799629
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011442601680755615
      

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003322511911392212
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.013439846225082874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002026539295911789
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00033108703792095184
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003626919351518154
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018824683502316475
      

      outcome:

      passed
      

    Function: test_nice_linspace

    • Test 179
      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.0003522466868162155
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003322167322039604
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002035750076174736
      

      outcome:

      passed
      
    • Test 180
      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.0003369641490280628
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003272579051554203
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018614064902067184
      

      outcome:

      passed
      
    • Test 181
      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.00032209698110818863
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031358329579234123
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018928805366158485
      

      outcome:

      passed
      
    • Test 182
      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.0003474671393632889
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003077262081205845
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020449887961149216
      

      outcome:

      passed
      
    • Test 183
      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.0003279512748122215
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00032899901270866394
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019529229030013084
      

      outcome:

      passed
      
    • Test 184
      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.00034625688567757607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003124014474451542
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019326386973261833
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031611090525984764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018480699509382248
      

      outcome:

      passed
      

    Function: test_nice_steps_centered

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003536357544362545
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00020155124366283417
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00030703097581863403
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001976359635591507
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000308347400277853
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019777612760663033
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031947530806064606
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00019905995577573776
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00034992583096027374
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00021036993712186813
      

      outcome:

      passed
      
    • Test 193
      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.00039999792352318764
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000308917835354805
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0002087070606648922
      

      outcome:

      passed
      

    Function: test_within_scalar

    • Test 204
      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.0003611617721617222
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016669230535626411
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001803012564778328
      

      outcome:

      passed
      
    • Test 205
      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.0003263321705162525
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014712009578943253
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017836177721619606
      

      outcome:

      passed
      
    • Test 206
      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.00030777929350733757
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013588182628154755
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016886461526155472
      

      outcome:

      passed
      
    • Test 207
      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.0003084670752286911
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014923885464668274
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016465410590171814
      

      outcome:

      passed
      
    • Test 208
      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.0003135041333734989
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014084996655583382
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000167100690305233
      

      outcome:

      passed
      

    Function: test_within_fraction

    • Test 209
      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.00031006475910544395
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002949051558971405
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001945500262081623
      

      outcome:

      passed
      
    • Test 210
      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.00032768305391073227
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00026377709582448006
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017466209828853607
      

      outcome:

      passed
      
    • Test 211
      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.0003442489542067051
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023534102365374565
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017452659085392952
      

      outcome:

      passed
      
    • Test 212
      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.0003236527554690838
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0002347002737224102
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017956970259547234
      

      outcome:

      passed
      

    Function: test_fraction_to_percentage

    • Test 213
      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.0002836901694536209
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016216933727264404
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001601818948984146
      

      outcome:

      passed
      
    • Test 214
      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.0002603810280561447
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014327699318528175
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015958771109580994
      

      outcome:

      passed
      
    • Test 215
      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.00027897395193576813
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014195917174220085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015837885439395905
      

      outcome:

      passed
      

    Function: test_get_dtype

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022411486133933067
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014358293265104294
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015890691429376602
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00024135131388902664
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001574559137225151
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014298083260655403
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002159392461180687
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014232611283659935
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014292914420366287
      

      outcome:

      passed
      

    Function: test_get_shape

    • Test 219
      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.00022026989609003067
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001468597911298275
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016347598284482956
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002650488168001175
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014661019667983055
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014754477888345718
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023550260812044144
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014021294191479683
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013654911890625954
      

      outcome:

      passed
      

    Function: test_is_array

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022667506709694862
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001387554220855236
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016173673793673515
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022998079657554626
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014343392103910446
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000151860062032938
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021927990019321442
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013373512774705887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013949396088719368
      

      outcome:

      passed
      
  • 📄 test_utils_picklio.py

    Function: test_pickle_and_unpickle

    • Test 225
      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.0006942879408597946
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003488212823867798
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001789480447769165
      

      outcome:

      passed
      
    • Test 226
      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.000562064815312624
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00029668211936950684
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016769813373684883
      

      outcome:

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

      📌 Runtime Parameters

      params:
        test_obj: simple string
      id: simple string
      

      📌 Setup phase

      duration:

      0.0005274061113595963
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003419211134314537
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016402825713157654
      

      outcome:

      passed
      
    • Test 228
      params: test_obj=42

      📌 Runtime Parameters

      params:
        test_obj: 42
      id: 42
      

      📌 Setup phase

      duration:

      0.0006430582143366337
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003155241720378399
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016044778749346733
      

      outcome:

      passed
      
    • Test 229
      params: test_obj=3.14159

      📌 Runtime Parameters

      params:
        test_obj: 3.14159
      id: 3.14159
      

      📌 Setup phase

      duration:

      0.0005562580190598965
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00028561893850564957
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015609292313456535
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000526124145835638
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031396280974149704
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016395002603530884
      

      outcome:

      passed
      
    • Test 231
      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.000584521796554327
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000326335895806551
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017896993085741997
      

      outcome:

      passed
      
  • 📄 test_utils_printing.py

    Function: test_maxlen_valid

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032199081033468246
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016054091975092888
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014653615653514862
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002448209561407566
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015659024938941002
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014260970056056976
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014467677101492882
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015143025666475296
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013751117512583733
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014927005395293236
      

      outcome:

      passed
      

    Function: test_strlen

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022664200514554977
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013929279521107674
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001384909264743328
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002254946157336235
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015246402472257614
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014063389971852303
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002107471227645874
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001350310631096363
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014200620353221893
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002192910760641098
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013634609058499336
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013624830171465874
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00025023287162184715
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001431480050086975
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013878103345632553
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022007105872035027
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014079315587878227
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013972679153084755
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002192487008869648
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000136655755341053
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014165882021188736
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022224010899662971
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013373512774705887
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013609882444143295
      

      outcome:

      passed
      
    • Test 244
      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.00022491812705993652
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001374068669974804
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013634096831083298
      

      outcome:

      passed
      

    Function: test_maxstrlen

    • Test 245
      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.00021367380395531654
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001481538638472557
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015996210277080536
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022144196555018425
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014301203191280365
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014222227036952972
      

      outcome:

      passed
      
    • Test 247
      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.00022177211940288544
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014641694724559784
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001349342055618763
      

      outcome:

      passed
      
    • Test 248
      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.00022318726405501366
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015883008018136024
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014122901484370232
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002124439924955368
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014851009473204613
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001391638070344925
      

      outcome:

      passed
      

    Function: test_transpose_matrix

    • Test 250
      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.00022775819525122643
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014261528849601746
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00022332509979605675
      

      outcome:

      passed
      
    • Test 251

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023930519819259644
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001392900012433529
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013663386926054955
      

      outcome:

      passed
      
    • Test 252
      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.00022149784490466118
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013972213491797447
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013942783698439598
      

      outcome:

      passed
      

    Function: test_prepend

    • Test 253
      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.0002583879977464676
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013700779527425766
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001675030216574669
      

      outcome:

      passed
      
    • Test 254
      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.0002640909515321255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001345193013548851
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015025492757558823
      

      outcome:

      passed
      
    • Test 255
      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.00025641219690442085
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001509753055870533
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015408406034111977
      

      outcome:

      passed
      
    • Test 256
      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.0002621356397867203
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001420220360159874
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000154098030179739
      

      outcome:

      passed
      

    Function: test_fmt_table_line

    • Test 257
      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.00026717595756053925
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014678295701742172
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015833508223295212
      

      outcome:

      passed
      
    • Test 258
      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.000274652149528265
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001436113379895687
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014884909614920616
      

      outcome:

      passed
      
    • Test 259
      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.00026686908677220345
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014317594468593597
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016293302178382874
      

      outcome:

      passed
      
    • Test 260
      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.00025366107001900673
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014674710109829903
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015784986317157745
      

      outcome:

      passed
      
    • Test 261
      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.0002589551731944084
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013889186084270477
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014917505905032158
      

      outcome:

      passed
      
    • Test 262
      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.0002606757916510105
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015770411118865013
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015415484085679054
      

      outcome:

      passed
      
    • Test 263
      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.00025757914409041405
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014197872951626778
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.000159356277436018
      

      outcome:

      passed
      
    • Test 264
      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.0002768230624496937
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014560716226696968
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014949310570955276
      

      outcome:

      passed
      

    Function: test_fmt_label_sep

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027126725763082504
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014529097825288773
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016047293320298195
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002581430599093437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014513125643134117
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00018768711015582085
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000307972077280283
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017318874597549438
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017602602019906044
      

      outcome:

      passed
      

    Function: test_printable_dict_with_header

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023223785683512688
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001796991564333439
      

      outcome:

      passed
      

    Function: test_printable_dict_of_dicts

    • Test 269

      📌 Setup phase

      duration:

      0.00012183189392089844
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022513000294566154
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001039537601172924
      

      outcome:

      passed
      

    Function: test_printable_table

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00031397026032209396
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001650969497859478
      

      outcome:

      passed
      
  • 📄 test_utils_registry.py

    Function: test_metaclass_creates_weakset

    • Test 271

      📌 Setup phase

      duration:

      0.00011672917753458023
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005512051284313202
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011536618694663048
      

      outcome:

      passed
      

    Function: test_metaclass_tracks_instances

    • Test 272

      📌 Setup phase

      duration:

      0.00011145882308483124
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0003452110104262829
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00011872407048940659
      

      outcome:

      passed
      

    Function: test_registry_inheritance

    • Test 273

      📌 Setup phase

      duration:

      0.00018388917669653893
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004778541624546051
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001482260413467884
      

      outcome:

      passed
      

    Function: test_instance_tracking

    • Test 274

      📌 Setup phase

      duration:

      0.00019430601969361305
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00022902898490428925
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013961829245090485
      

      outcome:

      passed
      

    Function: test_collect_instances_recursive

    • Test 275

      📌 Setup phase

      duration:

      0.00019999593496322632
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008375607430934906
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014699436724185944
      

      outcome:

      passed
      

    Function: test_instances_function

    • Test 276

      📌 Setup phase

      duration:

      0.00018181465566158295
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000913162250071764
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015432992950081825
      

      outcome:

      passed
      

    Function: test_non_registry_class_error

    • Test 277

      📌 Setup phase

      duration:

      0.00011599017307162285
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00020115915685892105
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010658334940671921
      

      outcome:

      passed
      

    Function: test_signature_preservation

    • Test 278

      📌 Setup phase

      duration:

      0.00011050468310713768
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00023388629779219627
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010679801926016808
      

      outcome:

      passed
      
  • 📄 test_utils_snapshot.py

    Function: test_snapshot

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002858028747141361
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014573894441127777
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015653111040592194
      

      outcome:

      passed
      
  • 📄 test_utils_utils.py

    Function: test_singleton_instance

    • Test 287

      📌 Setup phase

      duration:

      0.00012971321120858192
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016415119171142578
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010979408398270607
      

      outcome:

      passed
      

    Function: test_singleton_identity

    • Test 288

      📌 Setup phase

      duration:

      0.00011075334623456001
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014494266360998154
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00010111089795827866
      

      outcome:

      passed
      

    Function: test_typename

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002295919694006443
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014916621148586273
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014642439782619476
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023529119789600372
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001402590423822403
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013577379286289215
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023150769993662834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001404089853167534
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013828091323375702
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022797007113695145
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001345970667898655
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001360359601676464
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023807911202311516
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001395130529999733
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001354338601231575
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021265912801027298
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013695098459720612
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014680810272693634
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022044777870178223
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013495609164237976
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013522198423743248
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001413249410688877
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015089474618434906
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014076987281441689
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014087418094277382
      

      outcome:

      passed
      
    • Test 298
      params: obj=" at 0x7f9c6b879430>", expected="function"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002148682251572609
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014116475358605385
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014265207573771477
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002168719656765461
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014350982382893562
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001363721676170826
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022132880985736847
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016499590128660202
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014000199735164642
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013810303062200546
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014461390674114227
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013650814071297646
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001417519524693489
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013689743354916573
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001339600421488285
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00021329429000616074
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013525178655982018
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014181295409798622
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022002123296260834
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001366608776152134
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013629626482725143
      

      outcome:

      passed
      
    • Test 306
      params: obj=" at 0x7f9c6ce82660>", expected="generator"

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022201193496584892
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013811420649290085
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001480928622186184
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022286362946033478
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000139579176902771
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.0001520952209830284
      

      outcome:

      passed
      

    Function: test_next_int

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002141948789358139
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014143390581011772
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014525605365633965
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022178096696734428
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013529881834983826
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014503113925457
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002215779386460781
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001555299386382103
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013640988618135452
      

      outcome:

      passed
      

    Function: test_zero_pad

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00027044303715229034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014372821897268295
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015361513942480087
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002804226242005825
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014220969751477242
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00015411386266350746
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00025845691561698914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004943888634443283
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00017639202997088432
      

      outcome:

      passed
      

    Function: test_iround

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023411493748426437
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00014867540448904037
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014266185462474823
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023566093295812607
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001447242684662342
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014742137864232063
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00023449212312698364
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00013851188123226166
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00014433078467845917
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00022526923567056656
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001399652101099491
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013840990141034126
      

      outcome:

      passed
      

    Function: test_sorted_naturally

    • Test 318
      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.0002228408120572567
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016746670007705688
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00013742689043283463
      

      outcome:

      passed
      
    • Test 319
      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.00022182567045092583
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016065500676631927
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00016115186735987663
      

      outcome:

      passed
      

    Function: test_sorted_naturally_reverse

    • Test 320
      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.00021193968132138252
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00015498138964176178
      

      outcome:

      passed
      

      📌 Teardown phase

      duration:

      0.00044751865789294243
      

      outcome:

      passed
      
Failed (69)
  • 📄 test_utils_ask_yes_no.py

    Function: test_ask_yes_no

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00246072793379426
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = 'y', expected_output = True
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002951938658952713
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002397764939814806
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = 'yes', expected_output = True
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00030123675242066383
      

      outcome:

      passed
      
    • Test 35
      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.00037070829421281815
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023537511005997658
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = 'n', expected_output = False
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002791467122733593
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023277071304619312
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = 'no', expected_output = False
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002803909592330456
      

      outcome:

      passed
      
    • Test 37
      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.0003701397217810154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023301569744944572
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['maybe', 'y'], expected_output = True
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00029362877830863
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023739957250654697
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['', 'no'], expected_output = False
      expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003462480381131172
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002585657872259617
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['invalid', '', 'invalid', 'yes']
      expected_output = True, expected_prompt = 'Question? [y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003598160110414028
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027868542820215225
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = 'y', expected_output = True
      expected_prompt = 'Question? [Y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00035629281774163246
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0028004441410303116
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = 'n', expected_output = False
      expected_prompt = 'Question? [Y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003804480656981468
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027184821665287018
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = '', expected_output = True
      expected_prompt = 'Question? [Y/n] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003583300858736038
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002747718244791031
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = 'y', expected_output = True
      expected_prompt = 'Question? [y/N] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00036123907193541527
      

      outcome:

      passed
      
    • Test 44
      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.0004155123606324196
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0026824581436812878
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = 'n', expected_output = False
      expected_prompt = 'Question? [y/N] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003707008436322212
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00274208327755332
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 39
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = '', expected_output = False
      expected_prompt = 'Question? [y/N] '
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, expected_prompt",
              [
                  # Basic cases
                  (None, 'y', True, "Question? [y/n] "),
                  (None, 'yes', True, "Question? [y/n] "),
                  (None, 'n', False, "Question? [y/n] "),
                  (None, 'no', False, "Question? [y/n] "),
                  # Invalid entrances first
                  (None, ['maybe', 'y'], True, "Question? [y/n] "),
                  (None, ['', 'no'], False, "Question? [y/n] "),
                  (None, ['invalid', '', 'invalid', 'yes'], True, "Question? [y/n] "),
                  # Try different defaults values than None
                  ('y', 'y', True, "Question? [Y/n] "),
                  ('y', 'n', False, "Question? [Y/n] "),
                  ('y', '', True, "Question? [Y/n] "),
      
                  ('n', 'y', True, "Question? [y/N] "),
                  ('n', 'n', False, "Question? [y/N] "),
                  ('n', '', False, "Question? [y/N] "),
              ]
          )
          def test_ask_yes_no(default, user_input, expected_output, expected_prompt):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, return_value=user_input)
      
      >       with input_patch as mock_input:
      
      tests/test_utils_ask_yes_no.py:39: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.000363033264875412
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_c

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0026411497965455055
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = <class 'KeyboardInterrupt'>
      expected_output = False, ctrl_c = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00035490794107317924
      

      outcome:

      passed
      
    • Test 47
      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.0004343288019299507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002646312117576599
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = <class 'KeyboardInterrupt'>, expected_output = True
      ctrl_c = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00035714684054255486
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027729240246117115
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = <class 'KeyboardInterrupt'>, expected_output = False
      ctrl_c = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003824271261692047
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027591846883296967
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = <class 'KeyboardInterrupt'>, expected_output = True
      ctrl_c = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.000366398598998785
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002671461086720228
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = <class 'KeyboardInterrupt'>, expected_output = False
      ctrl_c = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003827321343123913
      

      outcome:

      passed
      
    • Test 51
      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.0004195370711386204
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002699845004826784
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None
      user_input = ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]
      expected_output = False, ctrl_c = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0005001919344067574
      

      outcome:

      passed
      
    • Test 52
      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.0006155576556921005
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.003091739024966955
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None
      user_input = ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>]
      expected_output = True, ctrl_c = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00036880094558000565
      

      outcome:

      passed
      
    • Test 53
      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.00042400695383548737
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002698037773370743
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None
      user_input = ['foo', '', <class 'KeyboardInterrupt'>, '', 'invalid', <class 'KeyboardInterrupt'>, ...]
      expected_output = False, ctrl_c = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003511449322104454
      

      outcome:

      passed
      
    • Test 54
      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.00041312212124466896
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002714170143008232
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n'
      user_input = [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']
      expected_output = False, ctrl_c = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003623589873313904
      

      outcome:

      passed
      
    • Test 55
      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.00040814001113176346
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0026952382177114487
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 75
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n'
      user_input = [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, '']
      expected_output = False, ctrl_c = 'Invalid'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_c",
              [
                  # Basic cases where it takes directly ctrl_c value
                  (None, KeyboardInterrupt, False, "n"),
                  (None, KeyboardInterrupt, True, "y"),
                  ('y', KeyboardInterrupt, False, "n"),
                  ('y', KeyboardInterrupt, True, "y"),
                  ('n', KeyboardInterrupt, False, "n"),
      
                  # Complex case where at the end it takes ctrl_c value after some loop
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], False, "n"),
                  (None, ['invalid', '', 'invalid', KeyboardInterrupt], True, "y"),
      
                  # Cases where at the end even with some KeyboardInterrupt it don't takes the ctrl_c value
                  (None, ['foo', '', KeyboardInterrupt, '', 'invalid', KeyboardInterrupt,'no'], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, None),
                  ('n', [KeyboardInterrupt, KeyboardInterrupt, KeyboardInterrupt, ''], False, "Invalid")
              ]
          )
      
          def test_ask_yes_no_ctrl_c(default, user_input, expected_output, ctrl_c):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:75: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00035676173865795135
      

      outcome:

      passed
      

    Function: test_ask_yes_no_ctrl_d

    • Test 56
      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.0004176199436187744
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027428530156612396
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = <class 'EOFError'>, expected_output = False
      ctrl_d = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.000357253011316061
      

      outcome:

      passed
      
    • Test 57
      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.00042197201400995255
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002679770812392235
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = <class 'EOFError'>, expected_output = True
      ctrl_d = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00036454061046242714
      

      outcome:

      passed
      
    • Test 58
      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.0004202318377792835
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002623004838824272
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = <class 'EOFError'>, expected_output = True
      ctrl_d = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00034005334600806236
      

      outcome:

      passed
      
    • Test 59
      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.0004045278765261173
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002580387983471155
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = <class 'EOFError'>, expected_output = True
      ctrl_d = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00036088889464735985
      

      outcome:

      passed
      
    • Test 60
      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.00041398126631975174
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0026619271375238895
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = <class 'EOFError'>, expected_output = False
      ctrl_d = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00035046180710196495
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0027825008146464825
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['foo', <class 'EOFError'>], expected_output = True
      ctrl_d = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00037664175033569336
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0036846245639026165
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['foo', <class 'EOFError'>]
      expected_output = False, ctrl_d = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.000351788941770792
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0025591826997697353
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'y', user_input = <class 'EOFError'>, expected_output = True
      ctrl_d = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00037061143666505814
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002828818280249834
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = <class 'EOFError'>, expected_output = False
      ctrl_d = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0003590644337236881
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00269297044724226
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None
      user_input = ['invalid', 'ok', '', <class 'EOFError'>, 'ok', 'y']
      expected_output = True, ctrl_d = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00032234564423561096
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0026080957613885403
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = 'n', user_input = ['no', <class 'EOFError'>], expected_output = False
      ctrl_d = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00030317483469843864
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002471594139933586
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None
      user_input = [<class 'EOFError'>, <class 'EOFError'>, <class 'EOFError'>, 'y']
      expected_output = True, ctrl_d = None
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002897130325436592
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002422558143734932
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['invalid', '', 'nope', <class 'EOFError'>]
      expected_output = False, ctrl_d = 'n'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002965610474348068
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002390054054558277
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 113
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, user_input = ['nope', 'nope', <class 'EOFError'>]
      expected_output = True, ctrl_d = 'y'
      
          @pytest.mark.parametrize(
              "default, user_input, expected_output, ctrl_d",
              [
                  # Basic cases, where it takes directly ctrl_c value
                  (None, EOFError, False, "n"),
                  (None, EOFError, True, "y"),
                  ('y', EOFError, True, "y"),
                  ('n', EOFError, True, "y"),
                  ('n', EOFError, False, "n"),
                  (None, ['foo', EOFError], True, "y"),
                  (None, ['foo', EOFError], False, "n"),
      
                  # Ctrl_d = None cases
                  ('y', EOFError, True, None),
                  ('n', EOFError, False, None),
                  (None, ['invalid', 'ok', '', EOFError, 'ok', 'y'], True, None),
                  ('n', ['no', EOFError], False, None),
                  (None, [EOFError, EOFError, EOFError, 'y'], True, None),
      
                  # Long sequences
                  (None, ['invalid', '', 'nope', EOFError], False, "n"),
                  (None, ['nope', 'nope', EOFError], True, "y"),
      
              ]
          )
      
          def test_ask_yes_no_ctrl_d(default, user_input, expected_output, ctrl_d):
              patch_target = 'slic.utils.ask_yes_no.read_input'
              if isinstance(user_input, list):
                  input_patch = patch(patch_target, side_effect=user_input)
              else:
                  input_patch = patch(patch_target, side_effect=[user_input])
      
      >       with input_patch:
      
      tests/test_utils_ask_yes_no.py:113: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00029622483998537064
      

      outcome:

      passed
      

    Function: test_ask_yes_no_mixed_sequences

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0024064057506620884
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 128
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, ctrl_c = 'invalid', ctrl_d = None
      user_input = ['what', '', 'nope', <class 'KeyboardInterrupt'>, 'ok', <class 'EOFError'>, ...]
      expected_output = False
      
          @pytest.mark.parametrize(
              "default, ctrl_c, ctrl_d, user_input, expected_output",
              [
                  (None, "invalid", None, ['what', '', 'nope', KeyboardInterrupt, 'ok', EOFError, 'no'], False),
                  (None, None, "notananswer", ['maybe', KeyboardInterrupt, 'nop', 'yep', EOFError, 'yes'], True),
                  (None, "n", "nop", ['ok', EOFError, EOFError, 'maybe', EOFError, 'nah', KeyboardInterrupt], False),
              ]
          )
          def test_ask_yes_no_mixed_sequences(default, ctrl_c, ctrl_d, user_input, expected_output):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      >       with patch(patch_target, side_effect=user_input):
      
      tests/test_utils_ask_yes_no.py:128: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002954290248453617
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023927930742502213
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 128
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, ctrl_c = None, ctrl_d = 'notananswer'
      user_input = ['maybe', <class 'KeyboardInterrupt'>, 'nop', 'yep', <class 'EOFError'>, 'yes']
      expected_output = True
      
          @pytest.mark.parametrize(
              "default, ctrl_c, ctrl_d, user_input, expected_output",
              [
                  (None, "invalid", None, ['what', '', 'nope', KeyboardInterrupt, 'ok', EOFError, 'no'], False),
                  (None, None, "notananswer", ['maybe', KeyboardInterrupt, 'nop', 'yep', EOFError, 'yes'], True),
                  (None, "n", "nop", ['ok', EOFError, EOFError, 'maybe', EOFError, 'nah', KeyboardInterrupt], False),
              ]
          )
          def test_ask_yes_no_mixed_sequences(default, ctrl_c, ctrl_d, user_input, expected_output):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      >       with patch(patch_target, side_effect=user_input):
      
      tests/test_utils_ask_yes_no.py:128: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.000331818126142025
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023881359957158566
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ask_yes_no.py
        lineno: 128
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      default = None, ctrl_c = 'n', ctrl_d = 'nop'
      user_input = ['ok', <class 'EOFError'>, <class 'EOFError'>, 'maybe', <class 'EOFError'>, 'nah', ...]
      expected_output = False
      
          @pytest.mark.parametrize(
              "default, ctrl_c, ctrl_d, user_input, expected_output",
              [
                  (None, "invalid", None, ['what', '', 'nope', KeyboardInterrupt, 'ok', EOFError, 'no'], False),
                  (None, None, "notananswer", ['maybe', KeyboardInterrupt, 'nop', 'yep', EOFError, 'yes'], True),
                  (None, "n", "nop", ['ok', EOFError, EOFError, 'maybe', EOFError, 'nah', KeyboardInterrupt], False),
              ]
          )
          def test_ask_yes_no_mixed_sequences(default, ctrl_c, ctrl_d, user_input, expected_output):
              patch_target = 'slic.utils.ask_yes_no.read_input'
      >       with patch(patch_target, side_effect=user_input):
      
      tests/test_utils_ask_yes_no.py:128: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00032107578590512276
      

      outcome:

      passed
      
  • 📄 test_utils_debug.py

    Function: test_traceable

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0024813818745315075
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 48
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      cls = <class 'test_utils_debug.A'>, entry = ([10, 20], {})
      expected = 'creating: A(10, 20)'
      
          @pytest.mark.parametrize(
              "cls, entry, expected",
              [
                  # A(10, 20)
                  (A, ([10, 20], {}),
                   "creating: A(10, 20)"),
      
                  # A(10, 20, e=100)
                  (A, ([10, 20], {"e": 100}),
                   "creating: A(10, 20, e=100)"),
      
                  # A('foo', [1,2,3], flag=True, data={'x': 9})
                  (A, (['foo', [1,2,3]], {"flag": True, "data": {"x": 9}}),
                   f"creating: A('foo', [1, 2, 3], flag={short_repr(True)}, data={short_repr({'x': 9})})"),
      
                  # A(CustomObj("big"), [0]*12, name="test", meta="y"*70)
                  (A, ([CustomObj("big"), [0]*12], {"name": "test", "meta": "y"*70}),
                   f"creating: A({short_repr(CustomObj('big'))}, {short_repr([0]*12)}, name={short_repr('test')}, meta={short_repr('y'*70)})"),
      
                  # A("A"*60, [0]*5)  # long string, no kwargs
                  (A, (["A"*60, [0]*5], {}),
                   f"creating: A({short_repr('A'*60)}, {short_repr([0]*5)})"),
              ]
          )
          def test_traceable(cls, entry, expected):
              args, kwargs = entry
      >       with patch("slic.utils.debug.log.trace") as mock_trace:
      
      tests/test_utils_debug.py:48: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002936762757599354
      

      outcome:

      passed
      
    • Test 101
      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.00034405384212732315
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0023749182000756264
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 48
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      cls = <class 'test_utils_debug.A'>, entry = ([10, 20], {'e': 100})
      expected = 'creating: A(10, 20, e=100)'
      
          @pytest.mark.parametrize(
              "cls, entry, expected",
              [
                  # A(10, 20)
                  (A, ([10, 20], {}),
                   "creating: A(10, 20)"),
      
                  # A(10, 20, e=100)
                  (A, ([10, 20], {"e": 100}),
                   "creating: A(10, 20, e=100)"),
      
                  # A('foo', [1,2,3], flag=True, data={'x': 9})
                  (A, (['foo', [1,2,3]], {"flag": True, "data": {"x": 9}}),
                   f"creating: A('foo', [1, 2, 3], flag={short_repr(True)}, data={short_repr({'x': 9})})"),
      
                  # A(CustomObj("big"), [0]*12, name="test", meta="y"*70)
                  (A, ([CustomObj("big"), [0]*12], {"name": "test", "meta": "y"*70}),
                   f"creating: A({short_repr(CustomObj('big'))}, {short_repr([0]*12)}, name={short_repr('test')}, meta={short_repr('y'*70)})"),
      
                  # A("A"*60, [0]*5)  # long string, no kwargs
                  (A, (["A"*60, [0]*5], {}),
                   f"creating: A({short_repr('A'*60)}, {short_repr([0]*5)})"),
              ]
          )
          def test_traceable(cls, entry, expected):
              args, kwargs = entry
      >       with patch("slic.utils.debug.log.trace") as mock_trace:
      
      tests/test_utils_debug.py:48: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002776682376861572
      

      outcome:

      passed
      
    • Test 102
      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.0003828606568276882
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002392145339399576
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 48
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      cls = <class 'test_utils_debug.A'>
      entry = (['foo', [1, 2, 3]], {'data': {'x': 9}, 'flag': True})
      expected = "creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"
      
          @pytest.mark.parametrize(
              "cls, entry, expected",
              [
                  # A(10, 20)
                  (A, ([10, 20], {}),
                   "creating: A(10, 20)"),
      
                  # A(10, 20, e=100)
                  (A, ([10, 20], {"e": 100}),
                   "creating: A(10, 20, e=100)"),
      
                  # A('foo', [1,2,3], flag=True, data={'x': 9})
                  (A, (['foo', [1,2,3]], {"flag": True, "data": {"x": 9}}),
                   f"creating: A('foo', [1, 2, 3], flag={short_repr(True)}, data={short_repr({'x': 9})})"),
      
                  # A(CustomObj("big"), [0]*12, name="test", meta="y"*70)
                  (A, ([CustomObj("big"), [0]*12], {"name": "test", "meta": "y"*70}),
                   f"creating: A({short_repr(CustomObj('big'))}, {short_repr([0]*12)}, name={short_repr('test')}, meta={short_repr('y'*70)})"),
      
                  # A("A"*60, [0]*5)  # long string, no kwargs
                  (A, (["A"*60, [0]*5], {}),
                   f"creating: A({short_repr('A'*60)}, {short_repr([0]*5)})"),
              ]
          )
          def test_traceable(cls, entry, expected):
              args, kwargs = entry
      >       with patch("slic.utils.debug.log.trace") as mock_trace:
      
      tests/test_utils_debug.py:48: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.0002786410041153431
      

      outcome:

      passed
      
    • Test 103
      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.0003444775938987732
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0024063587188720703
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 48
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      cls = <class 'test_utils_debug.A'>
      entry = ([CustomObj(big), [0, 0, 0, 0, 0, 0, ...]], {'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', 'name': 'test'})
      expected = "creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"
      
          @pytest.mark.parametrize(
              "cls, entry, expected",
              [
                  # A(10, 20)
                  (A, ([10, 20], {}),
                   "creating: A(10, 20)"),
      
                  # A(10, 20, e=100)
                  (A, ([10, 20], {"e": 100}),
                   "creating: A(10, 20, e=100)"),
      
                  # A('foo', [1,2,3], flag=True, data={'x': 9})
                  (A, (['foo', [1,2,3]], {"flag": True, "data": {"x": 9}}),
                   f"creating: A('foo', [1, 2, 3], flag={short_repr(True)}, data={short_repr({'x': 9})})"),
      
                  # A(CustomObj("big"), [0]*12, name="test", meta="y"*70)
                  (A, ([CustomObj("big"), [0]*12], {"name": "test", "meta": "y"*70}),
                   f"creating: A({short_repr(CustomObj('big'))}, {short_repr([0]*12)}, name={short_repr('test')}, meta={short_repr('y'*70)})"),
      
                  # A("A"*60, [0]*5)  # long string, no kwargs
                  (A, (["A"*60, [0]*5], {}),
                   f"creating: A({short_repr('A'*60)}, {short_repr([0]*5)})"),
              ]
          )
          def test_traceable(cls, entry, expected):
              args, kwargs = entry
      >       with patch("slic.utils.debug.log.trace") as mock_trace:
      
      tests/test_utils_debug.py:48: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00028665410354733467
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.002447422593832016
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_debug.py
        lineno: 48
        message: None
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1377
        message: in __enter__
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1552
        message: in <lambda>
      -   path: .pixi/envs/default/lib/python3.8/unittest/mock.py
        lineno: 1224
        message: in _importer
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      cls = <class 'test_utils_debug.A'>
      entry = (['AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', [0, 0, 0, 0, 0]], {})
      expected = "creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"
      
          @pytest.mark.parametrize(
              "cls, entry, expected",
              [
                  # A(10, 20)
                  (A, ([10, 20], {}),
                   "creating: A(10, 20)"),
      
                  # A(10, 20, e=100)
                  (A, ([10, 20], {"e": 100}),
                   "creating: A(10, 20, e=100)"),
      
                  # A('foo', [1,2,3], flag=True, data={'x': 9})
                  (A, (['foo', [1,2,3]], {"flag": True, "data": {"x": 9}}),
                   f"creating: A('foo', [1, 2, 3], flag={short_repr(True)}, data={short_repr({'x': 9})})"),
      
                  # A(CustomObj("big"), [0]*12, name="test", meta="y"*70)
                  (A, ([CustomObj("big"), [0]*12], {"name": "test", "meta": "y"*70}),
                   f"creating: A({short_repr(CustomObj('big'))}, {short_repr([0]*12)}, name={short_repr('test')}, meta={short_repr('y'*70)})"),
      
                  # A("A"*60, [0]*5)  # long string, no kwargs
                  (A, (["A"*60, [0]*5], {}),
                   f"creating: A({short_repr('A'*60)}, {short_repr([0]*5)})"),
              ]
          )
          def test_traceable(cls, entry, expected):
              args, kwargs = entry
      >       with patch("slic.utils.debug.log.trace") as mock_trace:
      
      tests/test_utils_debug.py:48: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1377: in __enter__
          self.target = self.getter()
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1552: in <lambda>
          getter = lambda: _importer(target)
      .pixi/envs/default/lib/python3.8/unittest/mock.py:1224: in _importer
          thing = __import__(import_path)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00027642399072647095
      

      outcome:

      passed
      

    Function: test_short_repr

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002808081917464733
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007414054125547409
      

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

      outcome:

      passed
      
    • Test 110
      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.00026922766119241714
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005454039201140404
      

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

      outcome:

      passed
      
  • 📄 test_utils_npy.py

    Function: test_nice_arange

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003540688194334507
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008615669794380665
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00022346759214997292
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00033705588430166245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0005231532268226147
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0002224738709628582
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00032804813235998154
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0008162539452314377
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00020896689966320992
      

      outcome:

      passed
      

    Function: test_nice_steps_left_aligned

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003777039237320423
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00044850679114460945
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0002382867969572544
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003722463734447956
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000460929237306118
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00023432495072484016
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003991820849478245
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00047458894550800323
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00022770371288061142
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038027018308639526
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004741549491882324
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00024309195578098297
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003745071589946747
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046417489647865295
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0002602478489279747
      

      outcome:

      passed
      

    Function: test_nice_steps_right_aligned

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003803400322794914
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00048226723447442055
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0002382560633122921
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.000389748252928257
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004580570384860039
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.000231059268116951
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00039860187098383904
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.000799247995018959
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00023930706083774567
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0003691818565130234
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0007595974020659924
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00022971397265791893
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00039588892832398415
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00046050315722823143
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00024565402418375015
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00039319368079304695
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0004890630953013897
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.00025393394753336906
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00038455333560705185
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00048261601477861404
      

      outcome:

      failed
      

      crash:

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

      traceback:

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

      longrepr:

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

      📌 Teardown phase

      duration:

      0.0002981480211019516
      

      outcome:

      passed
      
  • 📄 test_utils_snapshot.py

    Function: test_snapshot

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018949620425701141
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('v1', 'Visible', False), ('h1', 'Hidden', True)]
      expected = ['Visible'], kwargs = {}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>
      args = ('v1', 'Visible', False), kwargs = {}, cls_name = 'FakeAdjustable'
      printable_args = ["'v1'", "'Visible'", 'False'], printable_kwargs = []
      combined = "'v1', 'Visible', False"
      line = "FakeAdjustable('v1', 'Visible', False)"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.00020123738795518875
      

      outcome:

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

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001822211779654026
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('v1', 'Visible', False), ('h1', 'Hidden', True)]
      expected = ['Visible', 'Hidden'], kwargs = {'include_internal': True}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>
      args = ('v1', 'Visible', False), kwargs = {}, cls_name = 'FakeAdjustable'
      printable_args = ["'v1'", "'Visible'", 'False'], printable_kwargs = []
      combined = "'v1', 'Visible', False"
      line = "FakeAdjustable('v1', 'Visible', False)"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.00019904272630810738
      

      outcome:

      passed
      
    • Test 282
      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.00025900499895215034
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00016558682546019554
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('3', 'Charlie'), ('1', 'Alpha'), ('2', 'Beta')]
      expected = ['Alpha', 'Beta', 'Charlie'], kwargs = {'sort_key': <class 'str'>}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>, args = ('3', 'Charlie')
      kwargs = {}, cls_name = 'FakeAdjustable', printable_args = ["'3'", "'Charlie'"]
      printable_kwargs = [], combined = "'3', 'Charlie'"
      line = "FakeAdjustable('3', 'Charlie')"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.00019572395831346512
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00029174378141760826
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00018104864284396172
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('z3', 'C'), ('a1', 'A'), ('m2', 'B')], expected = ['A', 'B', 'C']
      kwargs = {'sort_key': <function <lambda> at 0x7f9c6bb8ef70>}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>, args = ('z3', 'C')
      kwargs = {}, cls_name = 'FakeAdjustable', printable_args = ["'z3'", "'C'"]
      printable_kwargs = [], combined = "'z3', 'C'"
      line = "FakeAdjustable('z3', 'C')"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.00019637122750282288
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002858089283108711
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001715649850666523
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('3', 'Charlie'), ('1', 'alpha'), ('2', 'Beta')]
      expected = ['alpha', 'Beta', 'Charlie']
      kwargs = {'sort_key': <function <lambda> at 0x7f9c6bb8e790>}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>, args = ('3', 'Charlie')
      kwargs = {}, cls_name = 'FakeAdjustable', printable_args = ["'3'", "'Charlie'"]
      printable_kwargs = [], combined = "'3', 'Charlie'"
      line = "FakeAdjustable('3', 'Charlie')"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.0002024197019636631
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.00028349319472908974
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.0001746630296111107
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('1', 'A'), ('2', 'BB'), ('3', 'CCC')]
      expected = ['A', 'BB', 'CCC']
      kwargs = {'sort_key': <function <lambda> at 0x7f9c6bb8ec10>}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>, args = ('1', 'A')
      kwargs = {}, cls_name = 'FakeAdjustable', printable_args = ["'1'", "'A'"]
      printable_kwargs = [], combined = "'1', 'A'", line = "FakeAdjustable('1', 'A')"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.0001989118754863739
      

      outcome:

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

      📌 Runtime Parameters

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

      📌 Setup phase

      duration:

      0.0002869013696908951
      

      outcome:

      passed
      

      📌 Call phase

      duration:

      0.00017618900164961815
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/debug.py
      lineno: 19
      message: AttributeError: 'Logger' object has no attribute 'trace'
      

      traceback:

      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: None
      -   path: tests/test_utils_snapshot.py
        lineno: 87
        message: in <listcomp>
      -   path: slic/utils/registry.py
        lineno: 19
        message: in __call__
      -   path: slic/utils/debug.py
        lineno: 19
        message: AttributeError
      

      longrepr:

      test_input = [('1', 'A'), ('2', 'B'), ('3', 'C')], expected = ['C', 'B', 'A']
      kwargs = {'sort_key': <function <lambda> at 0x7f9c6bb8e5e0>}
      
          @pytest.mark.parametrize("test_input,expected,kwargs", test_cases)
          def test_snapshot(test_input, expected, kwargs):
      
      >       adjustables = [FakeAdjustable(*args) for args in test_input]
      
      tests/test_utils_snapshot.py:87: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      tests/test_utils_snapshot.py:87: in <listcomp>
          adjustables = [FakeAdjustable(*args) for args in test_input]
      slic/utils/registry.py:19: in __call__
          inst = super().__call__(*args, **kwargs) # creates the instance (calls __new__ and __init__ methods)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      cls = <class 'test_utils_snapshot.FakeAdjustable'>, args = ('1', 'A')
      kwargs = {}, cls_name = 'FakeAdjustable', printable_args = ["'1'", "'A'"]
      printable_kwargs = [], combined = "'1', 'A'", line = "FakeAdjustable('1', 'A')"
      
          def __new__(cls, *args, **kwargs):
              cls_name = cls.__name__
      
              printable_args = [short_repr(i) for i in args]
              printable_kwargs = [f"{k}={short_repr(v)}" for k, v in kwargs.items()]
      
              combined = printable_args + printable_kwargs
              combined = ", ".join(combined)
      
              line = f"{cls_name}({combined})"
      >       log.trace(f"creating: {line}", stacklevel=2) # increase stacklevel by 1 to skip Registry
      E       AttributeError: 'Logger' object has no attribute 'trace'
      
      slic/utils/debug.py:19: AttributeError
      

      📌 Teardown phase

      duration:

      0.00020677689462900162
      

      outcome:

      passed
      
Error (1)
  • 📄 test_utils_ipy.py

    Function: test_devices_repr_fallback_and_ignore

    • Test 162

      📌 Setup phase

      duration:

      0.002835473045706749
      

      outcome:

      failed
      

      crash:

      path: /workspace/tligui_y/slic/slic/utils/pv.py
      lineno: 1
      message: ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      

      traceback:

      -   path: tests/test_utils_ipy.py
        lineno: 17
        message: None
      -   path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/monkeypatch.py
        lineno: 102
        message: in derive_importpath
      -   path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/monkeypatch.py
        lineno: 65
        message: in resolve
      -   path: slic/__init__.py
        lineno: 4
        message: in <module>
      -   path: slic/gui/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/gui.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqframe.py
        lineno: 3
        message: in <module>
      -   path: slic/gui/daqpanels/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/gui/daqpanels/config.py
        lineno: 3
        message: in <module>
      -   path: slic/core/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/__init__.py
        lineno: 2
        message: in <module>
      -   path: slic/core/acquisition/bsacquisition.py
        lineno: 6
        message: in <module>
      -   path: slic/core/acquisition/acquisition.py
        lineno: 5
        message: in <module>
      -   path: slic/utils/__init__.py
        lineno: 20
        message: in <module>
      -   path: slic/utils/pv.py
        lineno: 1
        message: ModuleNotFoundError
      

      longrepr:

      fake_ipython = <test_utils_ipy.fake_ipython.<locals>.FakeIPython object at 0x7f9c6af02c40>
      monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9c6af02280>
      
          @pytest.fixture(autouse=True)
          def simulate_ipython(fake_ipython, monkeypatch):
      >       monkeypatch.setattr("slic.utils.ipy.get_ipython", lambda: fake_ipython)
      
      tests/test_utils_ipy.py:17: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      .pixi/envs/default/lib/python3.8/site-packages/_pytest/monkeypatch.py:102: in derive_importpath
          target = resolve(module)
      .pixi/envs/default/lib/python3.8/site-packages/_pytest/monkeypatch.py:65: in resolve
          found: object = __import__(used)
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      >   import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
      slic/utils/pv.py:1: ModuleNotFoundError
      

      📌 Teardown phase

      duration:

      0.00026812683790922165
      

      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:
      []
      
morbidissimo (6 tests)
  • morbidissimo
    • Outcome: passed
    • result:
    -   nodeid: morbidissimo/morbidissimo
      type: Package
    
    • morbidissimo/morbidissimo
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman
        type: Package
      -   nodeid: morbidissimo/morbidissimo/morioc
        type: Package
      
    • morbidissimo/morbidissimo/modman
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/modman/scripts
        type: Dir
      
    • morbidissimo/morbidissimo/modman/scripts
      • Outcome: passed
      • result:
      []
      
    • morbidissimo/morbidissimo/morioc
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py
        type: Module
      
    • morbidissimo/morbidissimo/morioc/test_infer_type.py
      • Outcome: passed
      • result:
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_str
        type: Function
        lineno: 14
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_float
        type: Function
        lineno: 17
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_int
        type: Function
        lineno: 20
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_str
        type: Function
        lineno: 24
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_long_str
        type: Function
        lineno: 27
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_float
        type: Function
        lineno: 32
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_int
        type: Function
        lineno: 35
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_str
        type: Function
        lineno: 39
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_float
        type: Function
        lineno: 42
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_int
        type: Function
        lineno: 45
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_str
        type: Function
        lineno: 49
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_float
        type: Function
        lineno: 52
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_int
        type: Function
        lineno: 55
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_str
        type: Function
        lineno: 59
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_float
        type: Function
        lineno: 62
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_int
        type: Function
        lineno: 65
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_None
        type: Function
        lineno: 69
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_True
        type: Function
        lineno: 72
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_False
        type: Function
        lineno: 75
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_nan
        type: Function
        lineno: 78
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_nan
        type: Function
        lineno: 81
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_int
        type: Function
        lineno: 85
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_int
        type: Function
        lineno: 91
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_float
        type: Function
        lineno: 99
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_float
        type: Function
        lineno: 105
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_bool
        type: Function
        lineno: 114
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_object
        type: Function
        lineno: 119
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_int
        type: Function
        lineno: 126
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_float
        type: Function
        lineno: 131
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_bool
        type: Function
        lineno: 136
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_list
        type: Function
        lineno: 145
      -   nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_tuple
        type: Function
        lineno: 150
      
outputs (1 tests)
  • outputs
    • Outcome: passed
    • result:
    []
    
slic (30 tests)
  • slic
    • Outcome: passed
    • result:
    -   nodeid: slic/core
      type: Package
    -   nodeid: slic/devices
      type: Package
    -   nodeid: slic/gui
      type: Package
    -   nodeid: slic/utils
      type: Package
    
    • slic/core
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition
        type: Package
      -   nodeid: slic/core/adjustable
        type: Package
      -   nodeid: slic/core/condition
        type: Package
      -   nodeid: slic/core/device
        type: Package
      -   nodeid: slic/core/scanner
        type: Package
      -   nodeid: slic/core/sensor
        type: Package
      -   nodeid: slic/core/task
        type: Package
      
    • slic/core/acquisition
      • Outcome: passed
      • result:
      -   nodeid: slic/core/acquisition/broker
        type: Package
      
    • slic/core/acquisition/broker
      • Outcome: passed
      • result:
      []
      
    • slic/core/adjustable
      • Outcome: passed
      • result:
      []
      
    • slic/core/condition
      • Outcome: passed
      • result:
      []
      
    • slic/core/device
      • Outcome: passed
      • result:
      []
      
    • slic/core/scanner
      • Outcome: passed
      • result:
      []
      
    • slic/core/sensor
      • Outcome: passed
      • result:
      []
      
    • slic/core/task
      • Outcome: passed
      • result:
      []
      
    • slic/devices
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/cameras
        type: Package
      -   nodeid: slic/devices/endstations
        type: Package
      -   nodeid: slic/devices/general
        type: Package
      -   nodeid: slic/devices/loptics
        type: Package
      -   nodeid: slic/devices/timing
        type: Package
      -   nodeid: slic/devices/xdiagnostics
        type: Package
      -   nodeid: slic/devices/xoptics
        type: Package
      
    • slic/devices/cameras
      • Outcome: passed
      • result:
      []
      
    • slic/devices/endstations
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/general/detectors
        type: Package
      -   nodeid: slic/devices/general/unused
        type: Dir
      
    • slic/devices/general/detectors
      • Outcome: passed
      • result:
      []
      
    • slic/devices/general/unused
      • Outcome: passed
      • result:
      []
      
    • slic/devices/loptics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/timing
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/timing/events
        type: Package
      
    • slic/devices/timing/events
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xdiagnostics
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics
      • Outcome: passed
      • result:
      -   nodeid: slic/devices/xoptics/slits
        type: Package
      -   nodeid: slic/devices/xoptics/unused
        type: Dir
      
    • slic/devices/xoptics/slits
      • Outcome: passed
      • result:
      []
      
    • slic/devices/xoptics/unused
      • Outcome: passed
      • result:
      []
      
    • slic/gui
      • Outcome: passed
      • result:
      -   nodeid: slic/gui/daqpanels
        type: Package
      -   nodeid: slic/gui/widgets
        type: Package
      
    • slic/gui/daqpanels
      • Outcome: passed
      • result:
      []
      
    • slic/gui/widgets
      • Outcome: passed
      • result:
      []
      
    • slic/utils
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/ioc
        type: Package
      -   nodeid: slic/utils/unused
        type: Dir
      
    • slic/utils/ioc
      • Outcome: passed
      • result:
      []
      
    • slic/utils/unused
      • Outcome: passed
      • result:
      -   nodeid: slic/utils/unused/xsim
        type: Package
      
    • slic/utils/unused/xsim
      • Outcome: passed
      • result:
      []
      
temp-ci (1 tests)
  • temp-ci
    • Outcome: passed
    • result:
    []
    
tests (41 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_ipy.py
      type: Module
    -   nodeid: tests/test_utils_jsonext.py
      type: Module
    -   nodeid: tests/test_utils_lazypv.py
      type: Module
    -   nodeid: tests/test_utils_logcfg.py
      type: Module
    -   nodeid: tests/test_utils_logign.py
      type: Module
    -   nodeid: tests/test_utils_metaclasses.py
      type: Module
    -   nodeid: tests/test_utils_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_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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_argfwd.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_argfwd.py:7: in <module>
          from slic.utils.argfwd import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:4: in <module>
          from slic.utils.channels import Channels
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_dictext.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_dictext.py:5: in <module>
          from slic.utils.dictext import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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:
      []
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_get_adj.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_get_adj.py:6: in <module>
          from slic.utils.get_adj import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_lazypv.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_lazypv.py:5: in <module>
          from slic.utils.lazypv import PV
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_logcfg.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_logcfg.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_logcfg.py:10: in <module>
          from slic.utils.logcfg import add_log_Level, logcfg, setup_import_logging
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_logign.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_logign.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_logign.py:6: in <module>
          from slic.utils.logcfg import add_log_Level, logcfg
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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_steps_centered[-2-2-2-True-expected0]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3]
        type: Function
        lineno: 32
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6]
        type: Function
        lineno: 42
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6]
        type: Function
        lineno: 56
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True]
        type: Function
        lineno: 70
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0]
        type: Function
        lineno: 81
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0]
        type: Function
        lineno: 92
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float]
        type: Function
        lineno: 101
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2]
        type: Function
        lineno: 114
      -   nodeid: tests/test_utils_npy.py::test_is_array[val0-True]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[val1-False]
        type: Function
        lineno: 123
      -   nodeid: tests/test_utils_npy.py::test_is_array[42-False]
        type: Function
        lineno: 123
      
    • tests/test_utils_opmsg.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_opmsg.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_opmsg.py:6: in <module>
          from slic.utils.opmsg import (
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_path.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_path.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_path.py:8: in <module>
          import slic.utils.ask_yes_no
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_pv.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_pv.py:9: in <module>
          from slic.utils.pv import PV
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_pvpreload.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_pvpreload.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_pvpreload.py:15: in <module>
          from slic.utils.pv import PV
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_rangebar.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_rangebar.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_rangebar.py:7: in <module>
          from slic.utils.rangebar import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_readable.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_readable.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_readable.py:2: in <module>
          from slic.utils.readable import readable_seconds
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_richcfg.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_richcfg.py:8: in <module>
          from slic.utils.richcfg import replace_ipython_inspect
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_run_later.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_run_later.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_run_later.py:6: in <module>
          from slic.utils.run_later import run_at, run_in, run_later, today, tomorrow, yesterday
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_sendmail.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_sendmail.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_sendmail.py:6: in <module>
          from slic.utils.sendmail import sendmail
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_shortcut.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_shortcut.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_shortcut.py:5: in <module>
          from slic.utils.shortcut import Shortcut, as_shortcut, shortcuts, Registry
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_termtitle.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_termtitle.py:5: in <module>
          from slic.utils.termtitle import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_tqdm_mod.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_tqdm_mod.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_tqdm_mod.py:12: in <module>
          from slic.utils.tqdm_mod import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_trinary.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_trinary.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_trinary.py:5: in <module>
          from slic.utils.trinary import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • tests/test_utils_typecast.py
      • Outcome: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_typecast.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_typecast.py:5: in <module>
          from slic.utils.typecast import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
    • 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: failed
      • result:
      []
      
      • longrepr:
      ImportError while importing test module '/workspace/tligui_y/slic/tests/test_utils_xrange.py'.
      Hint: make sure your test modules/packages have valid Python names.
      Traceback:
      .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module
          return _bootstrap._gcd_import(name[level:], package, level)
      tests/test_utils_xrange.py:6: in <module>
          from slic.utils.xrange import *
      slic/__init__.py:4: in <module>
          from slic.gui.wxdebug import wxdebug as _wxdebug
      slic/gui/__init__.py:2: in <module>
          from .gui import GUI, run
      slic/gui/gui.py:3: in <module>
          from .daqframe import DAQFrame
      slic/gui/daqframe.py:3: in <module>
          from .daqpanels import ConfigPanel, StaticPanel, ScanPanel, Scan2DPanel, TweakPanel, GoToPanel
      slic/gui/daqpanels/__init__.py:2: in <module>
          from .config import ConfigPanel
      slic/gui/daqpanels/config.py:3: in <module>
          from slic.core.acquisition import BSChannels, PVChannels
      slic/core/__init__.py:2: in <module>
          from . import acquisition
      slic/core/acquisition/__init__.py:2: in <module>
          from .bsacquisition import BSAcquisition
      slic/core/acquisition/bsacquisition.py:6: in <module>
          from .acquisition import Acquisition
      slic/core/acquisition/acquisition.py:5: in <module>
          from slic.utils import can_create_file, typename
      slic/utils/__init__.py:20: in <module>
          from .pv import PV
      slic/utils/pv.py:1: in <module>
          import patch_put.py
      E   ModuleNotFoundError: No module named 'patch_put.py'; 'patch_put' is not a package
      
. (1 tests)
  • .
    • Outcome: passed
    • result:
    -   nodeid: ci-reports
      type: Dir
    -   nodeid: morbidissimo
      type: Dir
    -   nodeid: outputs
      type: Dir
    -   nodeid: slic
      type: Package
    -   nodeid: temp-ci
      type: Dir
    -   nodeid: tests
      type: Dir
    

⚠️ Warnings

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