cucu 1.3.2__py3-none-any.whl → 1.3.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cucu might be problematic. Click here for more details.

cucu/cli/core.py CHANGED
@@ -301,9 +301,13 @@ def run(
301
301
  if record_env_vars:
302
302
  os.environ["CUCU_RECORD_ENV_VARS"] = "true"
303
303
 
304
- os.environ["CUCU_RUN_ID"] = CONFIG["CUCU_RUN_ID"] = generate_short_id()
304
+ cucu_run_id_seed = f"{time.perf_counter()}_{os.getpid()}"
305
+ os.environ["CUCU_RUN_ID"] = CONFIG["CUCU_RUN_ID"] = generate_short_id(
306
+ cucu_run_id_seed
307
+ )
308
+ worker_id_seed = f"{CONFIG['CUCU_RUN_ID']}_{os.getpid()}"
305
309
  os.environ["WORKER_PARENT_ID"] = CONFIG["WORKER_RUN_ID"] = (
306
- generate_short_id()
310
+ generate_short_id(worker_id_seed)
307
311
  )
308
312
  if not dry_run:
309
313
  create_run(results, filepath)
cucu/db.py CHANGED
@@ -117,7 +117,7 @@ class step(BaseModel):
117
117
  text = TextField(null=True)
118
118
  table_data = JSONField(null=True)
119
119
  location = TextField()
120
- is_substep = BooleanField()
120
+ is_substep = BooleanField(null=True) # info available after step ends
121
121
  has_substeps = BooleanField()
122
122
  status = TextField(null=True)
123
123
  duration = FloatField(null=True)
@@ -200,7 +200,6 @@ def start_step_record(ctx, step_obj):
200
200
  text=step_obj.text if step_obj.text else None,
201
201
  table_data=table if step_obj.table else None,
202
202
  location=str(step_obj.location),
203
- is_substep=step_obj.is_substep,
204
203
  has_substeps=step_obj.has_substeps,
205
204
  section_level=getattr(step_obj, "section_level", None),
206
205
  start_at=step_obj.start_at,
@@ -227,6 +226,7 @@ def finish_step_record(step_obj, duration):
227
226
  parent_seq=step_obj.parent_seq,
228
227
  has_substeps=step_obj.has_substeps,
229
228
  status=step_obj.status.name,
229
+ is_substep=step_obj.is_substep,
230
230
  duration=duration,
231
231
  end_at=step_obj.end_at,
232
232
  debug_output=step_obj.debug_output,
cucu/environment.py CHANGED
@@ -2,6 +2,7 @@ import datetime
2
2
  import json
3
3
  import os
4
4
  import sys
5
+ import time
5
6
  import traceback
6
7
  from functools import partial
7
8
  from pathlib import Path
@@ -64,7 +65,7 @@ def before_all(ctx):
64
65
  logger.debug(
65
66
  "Create a new worker db since this isn't the parent process"
66
67
  )
67
- # use seed unique enough for multiple cucu_runs to be combined
68
+ # use seed unique enough for multiple cucu_runs to be combined but predictable within the same run
68
69
  worker_id_seed = f"{CONFIG['WORKER_PARENT_ID']}_{os.getpid()}"
69
70
  CONFIG["WORKER_RUN_ID"] = generate_short_id(worker_id_seed)
70
71
 
@@ -98,7 +99,8 @@ def after_all(ctx):
98
99
 
99
100
 
100
101
  def before_feature(ctx, feature):
101
- feature.feature_run_id = generate_short_id()
102
+ feature_run_id_seed = f"{CONFIG['WORKER_RUN_ID']}_{time.perf_counter()}"
103
+ feature.feature_run_id = generate_short_id(feature_run_id_seed)
102
104
  feature.custom_data = {}
103
105
  record_feature(feature)
104
106
 
@@ -170,7 +172,12 @@ def before_scenario(ctx, scenario):
170
172
  )
171
173
  ctx.browser_log_tee = TeeStream(ctx.browser_log_file)
172
174
 
173
- CONFIG["SCENARIO_RUN_ID"] = scenario.scenario_run_id = generate_short_id()
175
+ scenario_run_id_seed = (
176
+ f"{ctx.feature.feature_run_id}_{time.perf_counter()}"
177
+ )
178
+ CONFIG["SCENARIO_RUN_ID"] = scenario.scenario_run_id = generate_short_id(
179
+ scenario_run_id_seed
180
+ )
174
181
  record_scenario(ctx)
175
182
 
176
183
  # run before all scenario hooks
@@ -278,7 +285,10 @@ def cleanup_browsers(ctx):
278
285
 
279
286
 
280
287
  def before_step(ctx, step):
281
- step.step_run_id = generate_short_id()
288
+ step_run_id_seed = f"{ctx.scenario.scenario_run_id}_{ctx.step_index}_{time.perf_counter()}"
289
+ step.step_run_id = generate_short_id(
290
+ step_run_id_seed, length=10
291
+ ) # up to 10 characters to give two orders of magnitude less chance of collision
282
292
  step.start_at = datetime.datetime.now().isoformat()[:-3]
283
293
 
284
294
  sys.stdout.captured()
cucu/utils.py CHANGED
@@ -43,14 +43,14 @@ class StopRetryException(Exception):
43
43
  pass
44
44
 
45
45
 
46
- def generate_short_id(seed=None):
46
+ def generate_short_id(seed=None, length=7):
47
47
  """
48
- Generate a short 7-character ID based on seed (defaults to current performance counter).
48
+ Generate a short character ID based on seed (defaults to current performance counter).
49
49
  """
50
50
  if seed is None:
51
51
  seed = time.perf_counter()
52
52
 
53
- return hashlib.sha256(str(seed).encode("utf-8")).hexdigest()[:7]
53
+ return hashlib.sha256(str(seed).encode("utf-8")).hexdigest()[:length]
54
54
 
55
55
 
56
56
  def format_gherkin_table(table, headings=[], prefix=""):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: cucu
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: Easy BDD web testing
5
5
  Keywords: cucumber,selenium,behave
6
6
  Author: Domino Data Lab, Rodney Gomes, Cedric Young, Xin Dong, Kavya, Kevin Garton, Joy Liao
@@ -0,0 +1,93 @@
1
+ cucu/__init__.py,sha256=YtuajsJBj3_DgNoygHen9gKojeQF523Oc27kyCUzoG0,1013
2
+ cucu/ansi_parser.py,sha256=_yTlqr6KruLsqgWR6BkpJUC3bmlQy_9JbkuxFx6Jrbo,2213
3
+ cucu/behave_tweaks.py,sha256=MqIL9BDHMvmyXyzkVGbD3wd8IP38_8pgp3NPGDWudm8,6873
4
+ cucu/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ cucu/browser/core.py,sha256=Ixcqr8l4xshzdW4AKcl1IkH98xHwRYsbt4snV7wUDlo,2692
6
+ cucu/browser/frames.py,sha256=IW7kzRJn5PkbMaovIelAeCWO-T-2sOTwqaYBw-0-LKU,3545
7
+ cucu/browser/selenium.py,sha256=eUC2DZkhUIZi70sVTaNE_0AhanGTceyx_pCLIT7PN6o,13299
8
+ cucu/browser/selenium_tweaks.py,sha256=oUIhWVhBZbc9qsmQUJMpIr9uUWKxtgZBcnySWU6Yttk,879
9
+ cucu/cli/__init__.py,sha256=uXX5yVG1konJ_INdlrcfMg-Tt_5_cSx29Ed8R8v908A,62
10
+ cucu/cli/core.py,sha256=uHxGm6qF3a3cZygfqg9-MQMfKOEzWIJ8kte4jsGV47I,27728
11
+ cucu/cli/run.py,sha256=pIymhrx3w-dCkvh-YqSH9HldCPEgMB0MxDNHgS-RvFY,5935
12
+ cucu/cli/steps.py,sha256=lg5itVH_C-0_3RelWXv9X2qQUHggdxuxLCGwH5l1bf4,4210
13
+ cucu/cli/thread_dumper.py,sha256=Z3XnYSxidx6pqjlQ7zu-TKMIYZWk4z9c5YLdPkcemiU,1593
14
+ cucu/config.py,sha256=5AE6GrkqzjNhzzrB-eZrINgeztV7CCGuSdWJ-5GtWhk,14939
15
+ cucu/db.py,sha256=hQg54M7LvCIO-5Pluw5CR0jvC_0MXxrUAyhctoLCGKU,11865
16
+ cucu/edgedriver_autoinstaller/README.md,sha256=tDkAWIqgRdCjt-oX1nYqikIC_FfiOEM2-pc5S5VbRLo,84
17
+ cucu/edgedriver_autoinstaller/__init__.py,sha256=fo6xJJPvcc5Xvni8epXfxDoPxJH5_b6Vk2jD9JTwfRs,969
18
+ cucu/edgedriver_autoinstaller/utils.py,sha256=iRKTww77CGaTAntt_QDvxlKPxpMU4otx95OeD97khcM,6802
19
+ cucu/environment.py,sha256=snMpafsBsBGRQwzf2MwfccQuZjDGkzUtnOicHyy6hQw,13714
20
+ cucu/external/jquery/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
21
+ cucu/formatter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ cucu/formatter/cucu.py,sha256=jHi6W9STRQjDy0j1P_HLLlBTPsS6EvUyvqeUjtWs3vM,9291
23
+ cucu/formatter/json.py,sha256=fJ1dZBGwYD4OkhQFDE49MRKGNzsrhDzQYq-dUfsYh94,10589
24
+ cucu/formatter/junit.py,sha256=aJ9dGLbamMH-wUi_msF66_-_c_YUq07-8_wCNEjUju4,10129
25
+ cucu/fuzzy/__init__.py,sha256=ce4JRmaBF6oab6U99Qbpt7DrD3elhH32__-ND6fw5xc,104
26
+ cucu/fuzzy/core.py,sha256=tmQKX_Ni-2ohoxzctRUg2x7zMeEW8MlJJmpU3PfTmvQ,3153
27
+ cucu/fuzzy/fuzzy.js,sha256=ee-TytISLyUo7cMAkuVI5qbLXdt0eoFWczTsoU4zYhg,11618
28
+ cucu/helpers.py,sha256=l_YMmbuXjtBRo-MER-qe6soUIyjt0ey2BoSgWs4zYwA,36285
29
+ cucu/hooks.py,sha256=3Z1mavU42XMQ0DZ7lVWwTB-BJYHRyYUOzzOtmkdIsow,7117
30
+ cucu/init_data/.gitignore,sha256=FgMovmORdGgSvRH6EoFK6ch_EyCMyQof61yamXG0P50,137
31
+ cucu/init_data/README.md,sha256=M9nx3JTJxGkExHuy7-JJGcPglRqMFEGI1rX0x36QinQ,1596
32
+ cucu/init_data/cucurc.yml,sha256=3guzj3cu1n0EDaMszvFDGsAghGfemquhXBgf6twYRGY,424
33
+ cucu/init_data/data/www/example.html,sha256=SB0U1Fn1L2BS19Ta3QJKQAf9OlMh4mcbeEn23rE63DA,788
34
+ cucu/init_data/features/cucurc.yml,sha256=OIdK6fbD8aKXm3Sd_roe5_lEb8OpipcZB81T86YK1E0,291
35
+ cucu/init_data/features/environment.py,sha256=uHu-IiPy4Yofk7R8YAAHDTmNKI0kno6In_A80GlANlw,3021
36
+ cucu/init_data/features/example.feature,sha256=f99YDdawnizs4cmUJYKNhfpcghZopVrf6XQtCMeVjf4,1010
37
+ cucu/init_data/features/lint_rules/sid.yaml,sha256=uNYb3f58VJiRKzz7aQnXO6gkHwTU1Ymc1ei3pZoza9U,877
38
+ cucu/init_data/features/steps/__init__.py,sha256=rM252Kn5nESojPltNcpyY9gCxgewmE9UkcRU7UGz5nc,267
39
+ cucu/init_data/features/steps/my_steps.py,sha256=1Rciu2N0iakp9cAAFcRmGVA4bOVqIZJIzxCJj4ylZEA,804
40
+ cucu/language_server/__init__.py,sha256=IUO7FXpRDgvEmljSuB_WpT_BoBRdgG7lhTBFWUwmMR8,75
41
+ cucu/language_server/core.py,sha256=mUCdkk484ldlXRC7hQmLKXGnQ37NumwuERqNZEyCUN4,3532
42
+ cucu/lint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ cucu/lint/linter.py,sha256=EeeU9DHL4s2MJDglJb1m8wXv4uolY7XAgfgnLY1Hqh8,13246
44
+ cucu/lint/rules/format.yaml,sha256=Gm7Mx_KnL6s8EOyKGtZZBgREJPrviv-FuYzya3tyV_E,3168
45
+ cucu/logger.py,sha256=Y4eHmNFCphqXEzUQD-DJ8dsaqTNtqxmaKSCdo66Oc-g,3349
46
+ cucu/matcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ cucu/matcher/core.py,sha256=o2j4NNGORZ0BtHEbBTeE2T_vi6EJlWVkrjOoS2L7UNk,1032
48
+ cucu/page_checks.py,sha256=CW1AqIxZ7rrLxpkf8nEFwcw6amnoN3Tb-acoN8dq3g0,2179
49
+ cucu/reporter/__init__.py,sha256=nS2lIp43gifspIDgieSS3dzBMvnKfd--O8Pb3RTr4yE,71
50
+ cucu/reporter/external/bootstrap.min.css,sha256=eHMy9CG2IWZObUwZAkNVWc6DTIds3OavzUguDY0VsIo,163874
51
+ cucu/reporter/external/bootstrap.min.js,sha256=eZoFcnJ9Ooanw0yPsrZ3CHiXIYUBW-7_hNNqch50sLI,48945
52
+ cucu/reporter/external/dataTables.bootstrap.min.css,sha256=AVjWb9eSGQ0-3f4WNiVU1pfkyoNvthJdaw_IxK9Y2c0,10611
53
+ cucu/reporter/external/dataTables.bootstrap.min.js,sha256=H_ZJHj902eqGocNJYjkD3OButj68n-T2NSBjnfV2Qok,4401
54
+ cucu/reporter/external/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
55
+ cucu/reporter/external/jquery.dataTables.min.js,sha256=XNhaB1tBOSFMHu96BSAJpZOJzfZ4SZI1nwAbnwry2UY,90265
56
+ cucu/reporter/external/popper.min.js,sha256=pS96pU17yq-gVu4KBQJi38VpSuKN7otMrDQprzf_DWY,19188
57
+ cucu/reporter/favicon.png,sha256=9ikXLAmzfQzy2NQps_8CGaZog2FvQrOX8nnSZ0e1UmM,2161
58
+ cucu/reporter/html.py,sha256=OsMGmw2LRrdMJU18RUEE9a_di_mnPrT60AtgHu4eu3A,16677
59
+ cucu/reporter/templates/feature.html,sha256=IBkwGiul-sRO5lT8q8VFXMUJx1owsAd1YbdDzziSjKw,3645
60
+ cucu/reporter/templates/flat.html,sha256=JGsMq-IWz6YUpJX9hcN65-15HxcX3NJclOmMDtW3HZE,2358
61
+ cucu/reporter/templates/index.html,sha256=LFth3SS__9881NKvPIIFdnrQEIcDTXWvToSWKNtjyKI,2726
62
+ cucu/reporter/templates/layout.html,sha256=2iDRbm8atO8mgHWgijIvDCrBMKvcP6YHrmr95WtJiE4,4561
63
+ cucu/reporter/templates/scenario.html,sha256=vTDBDTftFGodtNozfVt7Ol-fppTqPh1bW31_ENc1CWQ,10115
64
+ cucu/steps/__init__.py,sha256=seSmASBlWu6-6wbFbvEbPwigBcRXiYP18C4X_2cW8Ng,753
65
+ cucu/steps/base_steps.py,sha256=0fPvdaKoan8lMAKrDnK0-zrALpxm11P1zVAY5CN7iXA,1893
66
+ cucu/steps/browser_steps.py,sha256=iTRl5ffpf2YrFk5qh655WFHAeSOwoE3HFhmXhjsZtao,12687
67
+ cucu/steps/button_steps.py,sha256=ej3urWbdffi7HimmPbrdUBkdLIA_xYcfLlsqOF-5_5s,2713
68
+ cucu/steps/checkbox_steps.py,sha256=B2HKFA-uwsrCa1DmzS7u1o1XH12b5BzLPg5qY1c445E,3386
69
+ cucu/steps/command_steps.py,sha256=nVCc8-TEitetk-zhk4z1wa0owqLQyHeQVH5THioUw-k,5094
70
+ cucu/steps/draggable_steps.py,sha256=lnQLicp0GZJaxD_Qm2P13ruUZAsl3mptwaI5-SQ6XJ0,4655
71
+ cucu/steps/dropdown_steps.py,sha256=abykG--m79kDQ4LU1tm73fNLFPmrKDavyFzJb2MYCu0,15601
72
+ cucu/steps/file_input_steps.py,sha256=LLMAozVpceLMD-kJOE-auKHAdWLbNprH8eCfVQuNoGg,5523
73
+ cucu/steps/filesystem_steps.py,sha256=8l37A-yPxT4Mzdi1JNSTShZkwyFxgSwnh6C0V-hM_RA,4741
74
+ cucu/steps/flow_control_steps.py,sha256=vlW0CsphVS9NvrOnpT8wSS2ngHmO3Z87H9siKIQwsAw,6365
75
+ cucu/steps/image_steps.py,sha256=4X6bdumsIybcJBuao83TURxWAIshZyCvKi1uTJEoy1k,941
76
+ cucu/steps/input_steps.py,sha256=TYQhkmke-W5dJt4EsU-JHjRwnbd7zvXnhEjw5PQ4Wxs,9679
77
+ cucu/steps/link_steps.py,sha256=MQLxyjCbiF2dOsmj6IrKKlRYhaqJjxDUNTf5Cau4J0w,1625
78
+ cucu/steps/menuitem_steps.py,sha256=9JlaPO6BSmW2GPmk43gxGy5S03rEtEx4KE0uCFBkjk0,1133
79
+ cucu/steps/platform_steps.py,sha256=G7HtBMhdRu58-2_LdXC5rkJM9F1ivGdlRa9BzTiHaaY,754
80
+ cucu/steps/radio_steps.py,sha256=FygUNPCEBXzmzGMHL8DYNtLe9q4qjeyITiRLH-5Nbag,5931
81
+ cucu/steps/section_steps.py,sha256=BBsRtJTub_L1grKngRCj7t-f8S4ihOQht68TCzPHZxw,1283
82
+ cucu/steps/step_utils.py,sha256=Chd0NQbMnfAEJmQkoVQRMbVRbCnJIBvVeH7CmXrCMm0,1417
83
+ cucu/steps/tab_steps.py,sha256=TVVytkihvJ2GYQ9bwAs1CVzb-twzUq11QONlEbd6uO0,1818
84
+ cucu/steps/table_steps.py,sha256=5bBT2HcuLy-wJ8vUschqkHEED-_GPPJwqdpLFlS4e9c,13744
85
+ cucu/steps/tables.js,sha256=Os2a7Fo-cg03XVli7USvcnBVad4N7idXr-HBuzdLvVQ,945
86
+ cucu/steps/text_steps.py,sha256=Jj_GHoHeemNwVdUOdqcehArNp7WM-WMjljA4w0pLXuw,2576
87
+ cucu/steps/variable_steps.py,sha256=WSctH3_xcxjijGPYZlxp-foC_SIAAKtF__saNtgZJbk,2966
88
+ cucu/steps/webserver_steps.py,sha256=wWkpSvcSMdiskPkh4cqlepWx1nkvEpTU2tRXQmPDbyo,1410
89
+ cucu/utils.py,sha256=LCcs8sMzvdvH05N8P5QYO4lO6j-_PQC530mEAD96go8,10957
90
+ cucu-1.3.4.dist-info/WHEEL,sha256=4n27za1eEkOnA7dNjN6C5-O2rUiw6iapszm14Uj-Qmk,79
91
+ cucu-1.3.4.dist-info/entry_points.txt,sha256=11WRIhQM7LuUnQg1lAoZQoNvvBvYNN1maDgQS4djwJo,40
92
+ cucu-1.3.4.dist-info/METADATA,sha256=jrpEcbly42DGq9wJyh8Mh6qvcXYr_izwqyDe-h4cCtA,16705
93
+ cucu-1.3.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.8.12
2
+ Generator: uv 0.8.13
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,93 +0,0 @@
1
- cucu/__init__.py,sha256=62db9a8ec2418f7fc380da328077a7f602a88de405e76dce736ee4c82533a06d,1013
2
- cucu/ansi_parser.py,sha256=ff24e5aabe8aaee2ecaa0591e819292540b76e6950cbff496e4bb1171e89adba,2213
3
- cucu/behave_tweaks.py,sha256=32a20bf410c732f9b25f2ce45466c3df077c20fdfcffca60a7734f1835ae766f,6873
4
- cucu/browser/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
5
- cucu/browser/core.py,sha256=23172aafc978c6c873756e0029c9752241fdf311f0458b1bb78b2757bc140e5a,2692
6
- cucu/browser/frames.py,sha256=216ee4cd1267e4f91b31aa2f21e94078258ef93fb6b0e4f0a9a601c3ed3e2ca5,3545
7
- cucu/browser/selenium.py,sha256=7940b60d9921508662ef4b154da344ff40216a719371ecb1fe908b213ecf37aa,13299
8
- cucu/browser/selenium_tweaks.py,sha256=a1422159584165b73daac99050932922bf6e5162b1b60641727c92594e98b6d9,879
9
- cucu/cli/__init__.py,sha256=b975f9c951b59289c9fc835d96b71f320f93b7fe7f712c76f4477c47cbfdd3c0,62
10
- cucu/cli/core.py,sha256=07b02c622c7f5b9872ade0a9a81bf1eb724aa5b0eaa12349d49802e0b949d41f,27560
11
- cucu/cli/run.py,sha256=a48ca686bc77c3e74292f87e62a487f4795d08f120301d0cc43347812f91bc56,5935
12
- cucu/cli/steps.py,sha256=960e62b551ff0bed3fdd17a5597bfd5f6a90507820771bb12c21b01f99756dfe,4210
13
- cucu/cli/thread_dumper.py,sha256=6775e7612c62771ea9aa3950ef3bbe4ca3086195a4e33f5ce582dd3e471e9a25,1593
14
- cucu/config.py,sha256=e4013a1ab92ace3361cf3ac1f9e66b20d81eced57b0821ae49d589fb91ad5a19,14939
15
- cucu/db.py,sha256=d1aad16458f7aad58bab0639687a43c4d0bb05ee6ca411c3ee8ec36c725009a2,11822
16
- cucu/edgedriver_autoinstaller/README.md,sha256=b43900588aa045d0a3b7ea17d6762a8a4202fc57e2384336fa97394b955b44ba,84
17
- cucu/edgedriver_autoinstaller/__init__.py,sha256=7e8eb12493ef71ce57be78bc7a95dfc43a0fc491f9fdbe959368c3f494f07d1b,969
18
- cucu/edgedriver_autoinstaller/utils.py,sha256=891293c30efb086693027b6dfd00efc6528fc69314e28b71f7939e0fdee485c3,6802
19
- cucu/environment.py,sha256=d69036c08040961261df71f097a06984a984ac2d88cc481e05f1209026b4365c,13222
20
- cucu/external/jquery/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
21
- cucu/formatter/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
22
- cucu/formatter/cucu.py,sha256=8c78ba5bd4934508c3cb48f53ff1cb2e50533ec4ba12f532bea7948ed5acdef3,9291
23
- cucu/formatter/json.py,sha256=7c9d5d6411b0603e0e9214050c4e3d311286373b2b843cd062af9d51fb1887de,10589
24
- cucu/formatter/junit.py,sha256=689f5d18b6da98c1fec148bf9ac17aebffbf73f614ab4efef3fc023448d48eee,10129
25
- cucu/fuzzy/__init__.py,sha256=71ee0946668117aa1a6fa53df506e9b7b0eb0f77a5847df6ffff8d0fa7f0e717,104
26
- cucu/fuzzy/core.py,sha256=b6640a5ff362fb6a21a31cdcb51520db1ef331e116f0c949266a54dcf7d39af4,3153
27
- cucu/fuzzy/fuzzy.js,sha256=79ef93cad2122f2528edc30092e548e6a6cb5ddb747a81567334eca14e336218,11618
28
- cucu/helpers.py,sha256=97f60c99bb978ed051a3e30447ea9eeaca142328edd1ecb60684a05ace336300,36285
29
- cucu/hooks.py,sha256=dd9d666af538d97310d0367b9555b04c1f812581d1c9850ecf33ad9a4748b28c,7117
30
- cucu/init_data/.gitignore,sha256=160328be6391746812bd11fa12814ae9c87f13208cc90a1feb5c9a9971b43f9d,137
31
- cucu/init_data/README.md,sha256=33d9f1dc94c9c46904c47bb2efe24919c3e0951a8c144188d6b5f4c77e908a74,1596
32
- cucu/init_data/cucurc.yml,sha256=de0bb38f772ed67d040da32ccef1431ac0208467de9aaba15c181feadc184466,424
33
- cucu/init_data/data/www/example.html,sha256=481d14d459f52f6052d7d4dadd024a4007fd3a5321e2671b7849f6deb13adc30,788
34
- cucu/init_data/features/cucurc.yml,sha256=38874ae9f6c3f1a2979b749dfeba1ee7f9446fc3a98a971907cd53f3a60ad44d,291
35
- cucu/init_data/features/environment.py,sha256=b87bbe2223f2e18a1f93b47c6000070d398d288d249e8e889ff03cd06940365c,3021
36
- cucu/init_data/features/example.feature,sha256=7fdf580dd6b09e2cece1c99425828d85fa5c821668a55adfe9742d08c7958dfe,1010
37
- cucu/init_data/features/lint_rules/sid.yaml,sha256=b8d61bddfe7c5498912b3cfb6909d73ba8241f04d4d5899cd5e8b7a59a336bd5,877
38
- cucu/init_data/features/steps/__init__.py,sha256=accdb9d8a9f99c44a88cf96d35ca7263d802c607b0984f5491c454ed41b3e677,267
39
- cucu/init_data/features/steps/my_steps.py,sha256=d51722bb637489a929f5c00015c4661950386ce56a219248cf10898f8ca56440,804
40
- cucu/language_server/__init__.py,sha256=2143bb157a510e0bc49a58d2b81fd6a53fc1a0145d806ee5853045594c26311f,75
41
- cucu/language_server/core.py,sha256=99409d924e3ce257655d10bb85098b2971a7437ecdba6c2e111a8d644c8250de,3532
42
- cucu/lint/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
43
- cucu/lint/linter.py,sha256=11e794f431cbe2cd8c24382525bd66f305efe2ea2563b5c081f8272d8d47aa1f,13246
44
- cucu/lint/rules/format.yaml,sha256=1a6eccc7f2a72fab3c10ec8a1ad65906044424faef8aff85b98cf26b7b7257f1,3168
45
- cucu/logger.py,sha256=63878798d142a61a971335100fe0c9f1db1aa9336dab199a29209da3ae8e73e8,3349
46
- cucu/matcher/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
47
- cucu/matcher/core.py,sha256=a368f834d18e459d01b4711b053784d93fef8ba109956564ae33a84b62fb50d9,1032
48
- cucu/page_checks.py,sha256=096d40a88c59eebacbc6991ff27105c1cc3a6a69e83774dbf9a72837c76ade0d,2179
49
- cucu/reporter/__init__.py,sha256=9d2da5229e378227eca480e089e492dddcc132f9ca7ddfbe3bc3dbdd14ebe321,71
50
- cucu/reporter/external/bootstrap.min.css,sha256=787332f421b621664e6d4c1902435559ce834c876cdce6afcd482e0d8d15b08a,163874
51
- cucu/reporter/external/bootstrap.min.js,sha256=799a0572727d3a86a7c34c8fb2b6770878972185015beeff84d36a721e74b0b2,48945
52
- cucu/reporter/external/dataTables.bootstrap.min.css,sha256=0158d66fd792190d3eddfe16362554d697e4ca836fb6125d6b0fc8c4af58d9cd,10611
53
- cucu/reporter/external/dataTables.bootstrap.min.js,sha256=1ff6491e3f74d9ea86a1c349623903dce06eb63ebc9fe4f63520639df5764289,4401
54
- cucu/reporter/external/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
55
- cucu/reporter/external/jquery.dataTables.min.js,sha256=5cd85a075b4139214c1eef7a052009a59389cdf6784992359f001b9f0af2d946,90265
56
- cucu/reporter/external/popper.min.js,sha256=a52f7aa54d7bcaafa056ee0a050262dfc5694ae28dee8b4cac3429af37ff0d66,19188
57
- cucu/reporter/favicon.png,sha256=f629172c09b37d0cf2d8d429b3ff0219a66883616f42b397f279d26747b55263,2161
58
- cucu/reporter/html.py,sha256=3ac3069b0d8b46b74c254d7c454104f5afdd8bf9a73eb4fad00b601eee1ebb70,16677
59
- cucu/reporter/templates/feature.html,sha256=2019301a2ba5fac44ee654fcabc5455cc509c75a30b0077561b743cf38928cac,3645
60
- cucu/reporter/templates/flat.html,sha256=246b0cabe216cfa614a495fd85c37ae7ed791f1717dcd25c94e98c0ed5b71d91,2358
61
- cucu/reporter/templates/index.html,sha256=2c5b61dd24bfffdf3cd4d2af3c8205767ad01087034d75af4e849628db63c8a2,2726
62
- cucu/reporter/templates/layout.html,sha256=da20d16e6f1ab4ef268075a08a322f0c2ac130abdc3fa607ae6afde56b49884e,4561
63
- cucu/reporter/templates/scenario.html,sha256=bd30c10d37ed146a1db4da337d5b7b3a5f9fa694ea3e1d5b5b7d7f10d7350964,10115
64
- cucu/steps/__init__.py,sha256=b1e4a60120655aeebeeb06c56ef11b3f08a005c4578983f5f02e17ff6716f0d8,753
65
- cucu/steps/base_steps.py,sha256=d1f3ef75a2a86a7f253002ab0e72b4fb3ac02e9c66d753f5cd5018e4237b8970,1893
66
- cucu/steps/browser_steps.py,sha256=893465e5f7e97f662b164e6a87ae795851c07923b0a04dc7161997863b19b5aa,12687
67
- cucu/steps/button_steps.py,sha256=7a3deead66dd7df8bb1e29a63dbadd50191d2c803fc5871f2e5b2a385fb9ff9b,2713
68
- cucu/steps/checkbox_steps.py,sha256=0761ca140faec2cac26b50e6cd2eeed68d571f5d9be41ccb3e0e6a635738e391,3386
69
- cucu/steps/command_steps.py,sha256=9d509cf3e4c48ad7ad93ece1938cf5c1ad28c2a2d0c87790547e531e2a14c3e9,5094
70
- cucu/steps/draggable_steps.py,sha256=96740b89ca7419925ac43fd09b63f5debb94640b25de6a6dc1a239f9243a5c9d,4655
71
- cucu/steps/dropdown_steps.py,sha256=69bca41befa6efd9034382d4d6d9bbddf34b14f9ab2836afc85cc96f63180aed,15601
72
- cucu/steps/file_input_steps.py,sha256=2cb300a3356971e2cc0fe909384f9ab8a1c07562db369ac7f1e09f550b8da068,5523
73
- cucu/steps/filesystem_steps.py,sha256=f25dfb03ec8fc53e0ccdd8b524d4934a1664c32171812c2787a0b457e84cfd10,4741
74
- cucu/steps/flow_control_steps.py,sha256=be55b40aca61552f4dbeb3a7a53f30492da780798edd9f3b1fdb22288430b00c,6365
75
- cucu/steps/image_steps.py,sha256=e17e9b76e9ac2326dc241b9aa3cdd3511c56008b216720af2a2d6e4c9128cb59,941
76
- cucu/steps/input_steps.py,sha256=4d842192691ef96e5d26de04b14f891e34709db77bcef5e78448f0e4f4385b1b,9679
77
- cucu/steps/link_steps.py,sha256=3102f1ca309b885d9d3ac9a3e88aca2a545885aa898f10d43537f909abb8274c,1625
78
- cucu/steps/menuitem_steps.py,sha256=f4995a3cee814a65b618f9a4e378311b2e52d37ac4b44c78284d2e0850648e4d,1133
79
- cucu/steps/platform_steps.py,sha256=1bb1ed04c85d46ee7cfb6fcb7570b9ae424cf45d62bc676545af41cd388769a6,754
80
- cucu/steps/radio_steps.py,sha256=17281434f084057ce6cc63072fc0d836d2def6ae2a8dec884e244b1fee4d6da8,5931
81
- cucu/steps/section_steps.py,sha256=041b11b494ee6ff2f582b2a78110a3eedf9ff12e2284e421b7af130b33c7671c,1283
82
- cucu/steps/step_utils.py,sha256=0a17743506cc9df004266424a1541131b5516c29c9201bd5787ec2997ac2326d,1417
83
- cucu/steps/tab_steps.py,sha256=4d5572b648a1bc9d86610f5bc00b35095cdbfadc3352ad7540e36511b77ab8ed,1818
84
- cucu/steps/table_steps.py,sha256=e5b053d8772e2f2fb027cbd4b1c86a9071040fefc63cf270a9da4b1654b87bd7,13744
85
- cucu/steps/tables.js,sha256=3acd9aec5a3e720d375d5962ed44af72705569de0dee2757afe1c1bb374bbd54,945
86
- cucu/steps/text_steps.py,sha256=263fc61e81de7a637055d50e76a71e840acda7b58cf96323963038c34a4b5eec,2576
87
- cucu/steps/variable_steps.py,sha256=59272d1f7ff17318e28c63d8665c69f9fa02fd220000ab45fffb1a36d81925b9,2966
88
- cucu/steps/webserver_steps.py,sha256=c169294af71231d8ac90f921e1caa57a95b1d6792f1294d4dad4574263c36f2a,1410
89
- cucu/utils.py,sha256=7b4a379dcf76b73eec6953f72bc550e3573e7d4220750e5722148df8f8de222c,10944
90
- cucu-1.3.2.dist-info/WHEEL,sha256=76443c98c0efcfdd1191eac5fa1d8223dba1c474dbd47676674a255e7ca48770,79
91
- cucu-1.3.2.dist-info/entry_points.txt,sha256=d7559122140cecbb949d0835940a1942836fbc1bd834dd666838104b8763c09a,40
92
- cucu-1.3.2.dist-info/METADATA,sha256=6ae4ac453333e6f5f4f8b93f7563a8a4b3a5d236ab2eeba88de6e8555b7cb721,16705
93
- cucu-1.3.2.dist-info/RECORD,,