ansible-core 2.15.0__py3-none-any.whl → 2.15.2__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 ansible-core might be problematic. Click here for more details.
- ansible/config/manager.py +1 -1
- ansible/galaxy/collection/__init__.py +17 -30
- ansible/galaxy/collection/concrete_artifact_manager.py +12 -6
- ansible/galaxy/dependency_resolution/dataclasses.py +6 -3
- ansible/module_utils/ansible_release.py +1 -1
- ansible/modules/apt_key.py +8 -5
- ansible/modules/apt_repository.py +2 -0
- ansible/modules/deb822_repository.py +1 -1
- ansible/modules/dnf5.py +8 -8
- ansible/modules/find.py +3 -0
- ansible/modules/uri.py +9 -1
- ansible/modules/validate_argument_spec.py +1 -1
- ansible/plugins/action/template.py +26 -15
- ansible/plugins/connection/paramiko_ssh.py +8 -0
- ansible/plugins/connection/psrp.py +3 -3
- ansible/plugins/connection/ssh.py +19 -2
- ansible/plugins/filter/comment.yml +1 -1
- ansible/plugins/filter/split.yml +1 -1
- ansible/plugins/filter/to_yaml.yml +1 -1
- ansible/plugins/lookup/template.py +11 -6
- ansible/plugins/strategy/__init__.py +20 -12
- ansible/plugins/test/change.yml +1 -1
- ansible/plugins/test/changed.yml +1 -1
- ansible/plugins/test/reachable.yml +1 -1
- ansible/plugins/test/succeeded.yml +1 -1
- ansible/plugins/test/success.yml +1 -1
- ansible/plugins/test/successful.yml +1 -1
- ansible/plugins/test/unreachable.yml +1 -1
- ansible/release.py +1 -1
- ansible/template/__init__.py +42 -28
- ansible/utils/_junit_xml.py +5 -1
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/METADATA +1 -1
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/RECORD +61 -61
- ansible_test/_data/completion/remote.txt +2 -1
- ansible_test/_internal/__init__.py +11 -0
- ansible_test/_internal/cli/commands/env.py +1 -1
- ansible_test/_internal/commands/env/__init__.py +14 -17
- ansible_test/_internal/commands/integration/__init__.py +1 -1
- ansible_test/_internal/commands/integration/cloud/__init__.py +3 -3
- ansible_test/_internal/commands/sanity/pylint.py +4 -4
- ansible_test/_internal/commands/sanity/validate_modules.py +2 -2
- ansible_test/_internal/containers.py +2 -2
- ansible_test/_internal/coverage_util.py +2 -2
- ansible_test/_internal/data.py +2 -7
- ansible_test/_internal/git.py +1 -1
- ansible_test/_internal/junit_xml.py +5 -1
- ansible_test/_internal/payload.py +2 -2
- ansible_test/_internal/provider/layout/__init__.py +1 -1
- ansible_test/_internal/provider/layout/ansible.py +15 -0
- ansible_test/_internal/provider/layout/collection.py +9 -1
- ansible_test/_internal/provisioning.py +5 -2
- ansible_test/_internal/pypi_proxy.py +4 -4
- ansible_test/_internal/test.py +3 -5
- ansible_test/_internal/timeout.py +56 -19
- ansible_test/_internal/util.py +4 -0
- ansible_test/_internal/util_common.py +38 -6
- {ansible_core-2.15.0.data → ansible_core-2.15.2.data}/scripts/ansible-test +0 -0
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/COPYING +0 -0
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/WHEEL +0 -0
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/entry_points.txt +0 -0
- {ansible_core-2.15.0.dist-info → ansible_core-2.15.2.dist-info}/top_level.txt +0 -0
|
@@ -3,7 +3,7 @@ ansible/__main__.py,sha256=IvyRvY64pT0on94qCLibxgDJ0-7_2CRoaZ5kfGOl54Q,1395
|
|
|
3
3
|
ansible/constants.py,sha256=JLIDnuSz3_PbtXWsL4vnvVBbxlh3lSrJREd7T73atEI,8293
|
|
4
4
|
ansible/context.py,sha256=OzSlaA_GgGRyyf5I209sy19_eGOX6HXn441W9w_FcvU,2018
|
|
5
5
|
ansible/keyword_desc.yml,sha256=FYY0Ld1Xc3AxJ_Tefz78kRSYzIKGS8qcPtVk370J118,7367
|
|
6
|
-
ansible/release.py,sha256=
|
|
6
|
+
ansible/release.py,sha256=PkcmHI8311b8VMFltNqDtbzltSVPXcn8_lyC4v2T3IQ,918
|
|
7
7
|
ansible/_vendor/__init__.py,sha256=wJRKH7kI9OzYVY9hgSchOsTNTmTnugpPLGYj9Y5akX0,2086
|
|
8
8
|
ansible/cli/__init__.py,sha256=ZK8bKuMmeRqeAcePriGtJ0tMuoDur3sN-ySBmOzAF3c,28687
|
|
9
9
|
ansible/cli/adhoc.py,sha256=pGW6eysaireovp4sVsUuntg-l1o7DSujuhxVhVC2zsM,8230
|
|
@@ -27,7 +27,7 @@ ansible/compat/selectors/__init__.py,sha256=dD8KQZBa0NUi-hxhGx0eppTE3wHdMIchORAp
|
|
|
27
27
|
ansible/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
ansible/config/ansible_builtin_runtime.yml,sha256=G_Kl7zWgFwkShHEYt0y9Y293jBJRDIDWD1z9E1OIAKw,375893
|
|
29
29
|
ansible/config/base.yml,sha256=EBtqnHK445QQiP9v4IlfrDy7-DZyY2GP872u8VSEYQQ,84100
|
|
30
|
-
ansible/config/manager.py,sha256=
|
|
30
|
+
ansible/config/manager.py,sha256=WhMhopX7aH_ncl8lqPZatfkPZikw2SlcJLs0j3e97WA,25362
|
|
31
31
|
ansible/errors/__init__.py,sha256=p_RaO3GztgMyKdlS8CWMoM-WRmSSZrrM6-pFsjHrz5s,14806
|
|
32
32
|
ansible/errors/yaml_strings.py,sha256=p8WIWbjKSIvr_MWx3jOyGyUZMXoKttTPzuWVbHMwdmY,3942
|
|
33
33
|
ansible/executor/__init__.py,sha256=1lMXN1i2fFqslda4BmeI5tpYMFP95D5Wpr1AjDJi-SQ,833
|
|
@@ -60,8 +60,8 @@ ansible/galaxy/api.py,sha256=deSYsFinaJodT2Y9-XnOerWIwYY8V2AWQ_9kZI0pWCE,39872
|
|
|
60
60
|
ansible/galaxy/role.py,sha256=roEhuloz2-UHLdNwK7pqRCYsOLpu_Xg6sC_nyE5A30w,19086
|
|
61
61
|
ansible/galaxy/token.py,sha256=K0dAwD3Fjkn3Zs2N9sG98UesSWfAukie47QGyYpIf0M,6167
|
|
62
62
|
ansible/galaxy/user_agent.py,sha256=x7cJzzpnTngHcwqSUd2hg0i28Dv0tbAyBdke5CSiNhM,813
|
|
63
|
-
ansible/galaxy/collection/__init__.py,sha256=
|
|
64
|
-
ansible/galaxy/collection/concrete_artifact_manager.py,sha256=
|
|
63
|
+
ansible/galaxy/collection/__init__.py,sha256=U5_Gn33Fz2Ope0448KnGlh1rSArK3vU2LSryri8Ptlg,77327
|
|
64
|
+
ansible/galaxy/collection/concrete_artifact_manager.py,sha256=lF7_9jvTvVB0DMjMvPD9N6kT7L4zsX7ZrSfB-J-y-Qw,29180
|
|
65
65
|
ansible/galaxy/collection/galaxy_api_proxy.py,sha256=HWnMiWIEt1YW7srbnFXjRsgpSC-3Iwj7-wkrkmVtXkA,7972
|
|
66
66
|
ansible/galaxy/collection/gpg.py,sha256=1wk22RJnX--FsB-4h_EdaT05PWlx9AMxhfH3H7db1i4,7312
|
|
67
67
|
ansible/galaxy/data/collections_galaxy_meta.yml,sha256=UNkGJWZEWSRbyiPbpoqLQdBR4DbAg9DeIB38HSZycoI,4018
|
|
@@ -126,7 +126,7 @@ ansible/galaxy/data/network/tests/inventory,sha256=4CIzgZsaCYREEFSRkYE_fMe6Ng8hK
|
|
|
126
126
|
ansible/galaxy/data/network/tests/test.yml.j2,sha256=rjvtKhlkGT_CI_dgBLHX14eI41S6jFPypqESN8Uztgg,199
|
|
127
127
|
ansible/galaxy/data/network/vars/main.yml.j2,sha256=3qtsgmeZTZ37OdmQNpmI9R6XxOEzJcOhjjGQYGFb85w,36
|
|
128
128
|
ansible/galaxy/dependency_resolution/__init__.py,sha256=HDqJKqsDP4UHTCnoGq6c3rGpVwOI2DdYaH-4s7tkL0A,2196
|
|
129
|
-
ansible/galaxy/dependency_resolution/dataclasses.py,sha256=
|
|
129
|
+
ansible/galaxy/dependency_resolution/dataclasses.py,sha256=rXH4jZR-jFi8k6tU6zFLkYHihArlbG4lb8W1OYbjd28,23160
|
|
130
130
|
ansible/galaxy/dependency_resolution/errors.py,sha256=3YatCcrKVHeXTkMQBEFnTEHZBUTpd9ySEJ4r-3MbEak,750
|
|
131
131
|
ansible/galaxy/dependency_resolution/providers.py,sha256=Yp3aHWquVkvdPz0tzv3Mgo-OQKqqfs-f39Fkwp4kmuU,23781
|
|
132
132
|
ansible/galaxy/dependency_resolution/reporters.py,sha256=q-jyfsRu5qve8nikZ0_cBQar3dOX4_WMSAUXZd9xlqg,687
|
|
@@ -140,7 +140,7 @@ ansible/inventory/host.py,sha256=wXJp6kpSaZtDr4JNsgdAuhi5MzQ9LTQzaAH10zoVbIA,505
|
|
|
140
140
|
ansible/inventory/manager.py,sha256=tGwhBR6poLuG_i4jZ5RGOG-rH4gu4DBfT0-4iLLZZMs,29490
|
|
141
141
|
ansible/module_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
142
|
ansible/module_utils/_text.py,sha256=F_YfeaxhwmTI16HICAzQS9ZmlKgBDdQ4mqR-Kh--okg,597
|
|
143
|
-
ansible/module_utils/ansible_release.py,sha256=
|
|
143
|
+
ansible/module_utils/ansible_release.py,sha256=PkcmHI8311b8VMFltNqDtbzltSVPXcn8_lyC4v2T3IQ,918
|
|
144
144
|
ansible/module_utils/api.py,sha256=BTo7stVOANbtd-ngZslaqx70r9t5gfvo44cKyu5SFjU,5837
|
|
145
145
|
ansible/module_utils/basic.py,sha256=KwFTKMws6bPfSEP1fIc7Srvan6b34EEbZ5nedfhhiTw,87493
|
|
146
146
|
ansible/module_utils/connection.py,sha256=XHxMlyAdwLiXDSo8jBMkV61-lz_0FDJUYH1B152UGJU,8430
|
|
@@ -278,8 +278,8 @@ ansible/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
278
278
|
ansible/modules/_include.py,sha256=ta9jlFnEv_gb9DMdPKBwO3ZoBX8-ljmyaB3H_BUZYI8,3138
|
|
279
279
|
ansible/modules/add_host.py,sha256=_iCqmf-fzBR6Nw10pS95knwniVZlYC7tAJYpnKQGaOY,3909
|
|
280
280
|
ansible/modules/apt.py,sha256=vxpOLORc21bmO0Qkz7OYf02n-QYIEUzVqoGzaBt2uZ8,59434
|
|
281
|
-
ansible/modules/apt_key.py,sha256=
|
|
282
|
-
ansible/modules/apt_repository.py,sha256=
|
|
281
|
+
ansible/modules/apt_key.py,sha256=OEehrhf3rKbMqY2TXalk9xVVQVWghtb4cWRVlwVn0nc,18128
|
|
282
|
+
ansible/modules/apt_repository.py,sha256=7SeuEhTi8F59POkiCSDhxatTHe4BM5wv1D_g4i8B-hE,30289
|
|
283
283
|
ansible/modules/assemble.py,sha256=FmDXZ2cBp8X0Q-riBowEs_dUsEafwet6CLsd5RuonGM,8971
|
|
284
284
|
ansible/modules/assert.py,sha256=7C_DFHatc7EQ9FOSCI_Gr_ZtrpRVM3yVeom-ipw2N4E,2816
|
|
285
285
|
ansible/modules/async_status.py,sha256=CCGFqq0FjXKVSXY59rDJA0rfopWfZykJwdObWc3pSWE,4392
|
|
@@ -288,17 +288,17 @@ ansible/modules/blockinfile.py,sha256=qRyiTfdts2IMB8Ok-gbqZTnWtB7nAJwco1itZ-8s3f
|
|
|
288
288
|
ansible/modules/command.py,sha256=41v2nsbFThyC6hO3joPHFAMbPm4CilrJbROeh-8chlk,13132
|
|
289
289
|
ansible/modules/copy.py,sha256=B4VOn6qWGpxVT74U5FMnTKLULDwWn6DfwrAzfWAy3zk,35467
|
|
290
290
|
ansible/modules/cron.py,sha256=87f4scGzqT1GK-joX2ToHSQTG006EFd0kHyln4oh1Ak,26181
|
|
291
|
-
ansible/modules/deb822_repository.py,sha256=
|
|
291
|
+
ansible/modules/deb822_repository.py,sha256=uVmdJId_qMFJLpFpcgDkDUsl7hZmS7UxhLVkotkVWAg,15641
|
|
292
292
|
ansible/modules/debconf.py,sha256=uCnyPYGhNPHq7cBUVzfxHp_5-N8RauBL8zlc19NHQic,7732
|
|
293
293
|
ansible/modules/debug.py,sha256=_wSyvOmlhpDeiD40oC_uwbRisSJLVbfIbEN98TJxVfs,2958
|
|
294
294
|
ansible/modules/dnf.py,sha256=OqX1KZlkop-pW5ye1kSUQqbn4y41wgDcVTdSf-VPJX0,59955
|
|
295
|
-
ansible/modules/dnf5.py,sha256=
|
|
295
|
+
ansible/modules/dnf5.py,sha256=EPhfa7i1TgbZ3vJOzGvSXG458cR444sjRg5Jv_WTZUg,25603
|
|
296
296
|
ansible/modules/dpkg_selections.py,sha256=X3owrI7nDVM2tYOiVgLPkzBEZxfwkfBuomjbAfzG1GQ,2408
|
|
297
297
|
ansible/modules/expect.py,sha256=dselod_fRiiUVKXZa-kt6xtoz1RUEZB30Mn3xZmqFDQ,8653
|
|
298
298
|
ansible/modules/fail.py,sha256=AI4gNQC7E5U2Vs7QiIlFk7PcWozN0tXtiVPa_LJrQpk,1710
|
|
299
299
|
ansible/modules/fetch.py,sha256=TDfUMk3zim4Bjt9D6nv0cjrh7ggzQAXMA02p61mUBOo,4267
|
|
300
300
|
ansible/modules/file.py,sha256=16a6R2WvXQWrZiW4P2pfwae4ljN1KGGRNcb4gK9MwcI,40890
|
|
301
|
-
ansible/modules/find.py,sha256=
|
|
301
|
+
ansible/modules/find.py,sha256=q9k261Z9NJYXGs-YY9neFXK7yjrPeUDwEiiMis-uyGg,19420
|
|
302
302
|
ansible/modules/gather_facts.py,sha256=9KeprPoUly-WNfDTngSee48PBlqKo4wuk-yZMcfmCN4,2560
|
|
303
303
|
ansible/modules/get_url.py,sha256=UWqSiwKCwtqDo79ieyS7b5ZBtV7Euh8yjjftKNVhioQ,27007
|
|
304
304
|
ansible/modules/getent.py,sha256=Lf6-fu8L9VvqF8MSu2r-4uXkHig8sSKX8mqyxlXn-o8,5676
|
|
@@ -341,9 +341,9 @@ ansible/modules/sysvinit.py,sha256=xFhfQLwTdcbV7xVdlItHeLFDdU0t3rjiWoY1qocCIs0,1
|
|
|
341
341
|
ansible/modules/tempfile.py,sha256=D4l0CHjp9AIC0o1BBDvw8UWQkWpilnc9VdmxNChxq6E,3502
|
|
342
342
|
ansible/modules/template.py,sha256=k0h7j9n9v2efC0f1boCsTq2NwgTLkFuQxgxmUgq4nZE,3171
|
|
343
343
|
ansible/modules/unarchive.py,sha256=kO7V_VBll7n__wQum3BepmBHgQzdbfU0CB0_sf9v49E,44322
|
|
344
|
-
ansible/modules/uri.py,sha256=
|
|
344
|
+
ansible/modules/uri.py,sha256=WxTR6SU12aYFQRmoK94-C6t5sOFh_iSFXi3CQVQAXCk,28484
|
|
345
345
|
ansible/modules/user.py,sha256=_CRsU_ZcTr90zB1EzF1pJ8OH-wieK0eoLCdcug--8a4,116547
|
|
346
|
-
ansible/modules/validate_argument_spec.py,sha256=
|
|
346
|
+
ansible/modules/validate_argument_spec.py,sha256=kZanwHDzN14bSWbuxxjbOiPN_M-32DvJ2kR5FWizkps,3129
|
|
347
347
|
ansible/modules/wait_for.py,sha256=3-oqc2JneQcptTjJxty_2qy1zv2GWh36aKk4vpC0ajk,26530
|
|
348
348
|
ansible/modules/wait_for_connection.py,sha256=YKLM15BMeJxi7ev0h5bRxo5DVWK9yKV_6xaP2LyUfvY,3461
|
|
349
349
|
ansible/modules/yum.py,sha256=5dgsGHH-qaxLwjE_dzcsV5jCdT3nyTkGHXV0y-JcdHE,73989
|
|
@@ -417,7 +417,7 @@ ansible/plugins/action/service.py,sha256=flXBjcOtqaC7V76CDd7NOYOm9wmRS0DznOQsFdq
|
|
|
417
417
|
ansible/plugins/action/set_fact.py,sha256=vHpOEwTa0FBR4kuGJMiTI-_9VN6FJU-aGuL-w63CxPw,2818
|
|
418
418
|
ansible/plugins/action/set_stats.py,sha256=SlT1E2LoY-oPocGx8R9m2KrfPe1qJsjBqBHC26iAUaw,2839
|
|
419
419
|
ansible/plugins/action/shell.py,sha256=c2FK6E_jXU3dytCBySjtludHi7gRYrQIaZBrKv0MiC4,1254
|
|
420
|
-
ansible/plugins/action/template.py,sha256=
|
|
420
|
+
ansible/plugins/action/template.py,sha256=oiFJp-p8ULohtHGpQPK3qcB524V6MWaN2OJvTqjiLfw,10015
|
|
421
421
|
ansible/plugins/action/unarchive.py,sha256=J8077hwvgS_U_MFDdxu6Hs0lAyEocxtvihdRTGCx4-w,4895
|
|
422
422
|
ansible/plugins/action/uri.py,sha256=fziCyB5eLijVB4CyaEf-KpKWbM9KRSBStecl_ZlvKIc,4006
|
|
423
423
|
ansible/plugins/action/validate_argument_spec.py,sha256=Y1FJCABwwP-gDyKLjFwYr9f_NPBTihVqPNKaAgL3cEQ,3957
|
|
@@ -440,9 +440,9 @@ ansible/plugins/callback/tree.py,sha256=Nw9t7QBW87tGrSvX7IsiBoakyiVC10eIijUaMpsq
|
|
|
440
440
|
ansible/plugins/cliconf/__init__.py,sha256=a_Am6c0D8jbeZlc9Q1KYXemoiBf8CNbxF-ErsU8KdtE,22762
|
|
441
441
|
ansible/plugins/connection/__init__.py,sha256=wuMOmg7G5tbluCy4uecRXG_pc0v3-NdUt7PX9RAzgho,16712
|
|
442
442
|
ansible/plugins/connection/local.py,sha256=W2HFk14nKVaMZUE7YeX2bJLL0dvsVqYRf3qtCDdA2x4,8251
|
|
443
|
-
ansible/plugins/connection/paramiko_ssh.py,sha256=
|
|
444
|
-
ansible/plugins/connection/psrp.py,sha256=
|
|
445
|
-
ansible/plugins/connection/ssh.py,sha256=
|
|
443
|
+
ansible/plugins/connection/paramiko_ssh.py,sha256=YAxz8xFBMWTZzvoqmiuwlyp7a4MHvoBmVgjizvIkmtI,29594
|
|
444
|
+
ansible/plugins/connection/psrp.py,sha256=DXeW4gUTfcbR4X-p-4KKZ8_-MU7dsHHH1C0_MjBtxJY,36046
|
|
445
|
+
ansible/plugins/connection/ssh.py,sha256=fORZ8o8tLWkQxUuc5Vqi8hQsJgZH57VaGIesuyS4dvw,62678
|
|
446
446
|
ansible/plugins/connection/winrm.py,sha256=suHo7dB5O68YDsnvnWjrwtuYUmCjq2AeKvin636E_Nk,35326
|
|
447
447
|
ansible/plugins/doc_fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
448
448
|
ansible/plugins/doc_fragments/action_common_attributes.py,sha256=ouV8CMIP0TkfkxN4p_pLbPvRSC5wu6w0Y6ScONOg-c4,2449
|
|
@@ -471,7 +471,7 @@ ansible/plugins/filter/bool.yml,sha256=PkoiSy7pwnkiyOEN59cRNaY56TAWEtzFhIuYxfLQT
|
|
|
471
471
|
ansible/plugins/filter/checksum.yml,sha256=CMk4pVtvOWGyXoqH98KlvGOjMzMBDLTYl82SkzlOC0k,524
|
|
472
472
|
ansible/plugins/filter/combinations.yml,sha256=LttrIICjapNtZHWnvJD-C9Pv3PIKP16i8WAXcU7TSLI,780
|
|
473
473
|
ansible/plugins/filter/combine.yml,sha256=w7VQFagRs_D92HNroEaJzzr8a8NZ3DXjrdfzpDA-tFk,1671
|
|
474
|
-
ansible/plugins/filter/comment.yml,sha256=
|
|
474
|
+
ansible/plugins/filter/comment.yml,sha256=iSIJjpp8qZa8fYr_bGWFsYHYVWJtLK3PrytmOmoWhSM,2138
|
|
475
475
|
ansible/plugins/filter/commonpath.yml,sha256=1puPZy62k3s-N1xxfDyDV9aAelb2eS6D3qhZhuwyjQo,672
|
|
476
476
|
ansible/plugins/filter/core.py,sha256=e--btD-V9SrNpE5N8FeXgJR3l2za7JbKUdcQKstQjDg,22820
|
|
477
477
|
ansible/plugins/filter/dict2items.yml,sha256=tUWJLVdZQ4sO0GYrJaC9wALSitTactFTdsrI9xb09KM,1314
|
|
@@ -513,7 +513,7 @@ ansible/plugins/filter/relpath.yml,sha256=X95UZfvgjdRn6ia-pfts9ksBhF3LvASNyg7BTq
|
|
|
513
513
|
ansible/plugins/filter/root.yml,sha256=gHnrBCmNl-wYTF3N1U2lUTh4O-fRUj-EK4WT4RbEQOA,618
|
|
514
514
|
ansible/plugins/filter/sha1.yml,sha256=Un-4PtcF2eCoc22ezn5QcsIotbpGTnRxAcZRzgv1BwM,729
|
|
515
515
|
ansible/plugins/filter/shuffle.yml,sha256=rcdsrsZhe5tMqtF00V8khecdVKmzHnHwkUqIdISrpQQ,685
|
|
516
|
-
ansible/plugins/filter/split.yml,sha256=
|
|
516
|
+
ansible/plugins/filter/split.yml,sha256=4RgDPhGZY3EcWGNTWkVt_VuqMJXElhU60iY45n2COrE,843
|
|
517
517
|
ansible/plugins/filter/splitext.yml,sha256=bveXiKxDAMwlvGfSDSYoocfv3yn3zJzPa_HyZhVTfQI,746
|
|
518
518
|
ansible/plugins/filter/strftime.yml,sha256=cjUzZF1-93ceDKp03oKfrHyC1FuP7ugVfqzXASQd7eE,1862
|
|
519
519
|
ansible/plugins/filter/subelements.yml,sha256=oXsQgDnoFVznLp5C6IyyOvCVtj49eQhpPTzNz3vLcbo,1438
|
|
@@ -524,7 +524,7 @@ ansible/plugins/filter/to_json.yml,sha256=Wp7xybWbwAZMLyQz_DQBOMkkNOjuLEotxX_IgG
|
|
|
524
524
|
ansible/plugins/filter/to_nice_json.yml,sha256=GcYws0sXacuY8S1v7KxjA60MEWolcofEryDvaC3Op6M,2262
|
|
525
525
|
ansible/plugins/filter/to_nice_yaml.yml,sha256=VZzJX6wEB690Zrd38_FOWwYYM3BaRgx50c1r10JNEuM,1589
|
|
526
526
|
ansible/plugins/filter/to_uuid.yml,sha256=ApwjBOSjeHuL5p_zLuFKxhhbYN2ZR1IJ3795sSClwiA,785
|
|
527
|
-
ansible/plugins/filter/to_yaml.yml,sha256=
|
|
527
|
+
ansible/plugins/filter/to_yaml.yml,sha256=ev8s6IfBDbMjyWP0v51_JvPAGIvnag7RNZD1SWgULDA,1668
|
|
528
528
|
ansible/plugins/filter/type_debug.yml,sha256=HdkJX1D_pbuS4C3CDta05nUec9ZLLX3MSoPaLcNHetE,508
|
|
529
529
|
ansible/plugins/filter/union.yml,sha256=5z3NJKSqJ9DO2ihpHA71PkI-eVH6o0UGPq3Oqbvq2Do,954
|
|
530
530
|
ansible/plugins/filter/unique.yml,sha256=ZII1RymJplBWxzNOXmpDltqfAvhi8EEbLy0hIrNNzgo,839
|
|
@@ -569,7 +569,7 @@ ansible/plugins/lookup/pipe.py,sha256=0hw-psGncRbtV1PaBV8tOVS8KL7javc4sA7MI0rSI3
|
|
|
569
569
|
ansible/plugins/lookup/random_choice.py,sha256=c7Cq2ufuDX1cOlMqvbjeoDT0B4r6jllprnl0FysUSgA,1574
|
|
570
570
|
ansible/plugins/lookup/sequence.py,sha256=klnr8ewcq7gz5S_Z-CMSR8OsSR2KgLSUrhDQ4xRV1zU,9171
|
|
571
571
|
ansible/plugins/lookup/subelements.py,sha256=VzmsVgB6VQFBx0zduPmnxpz0sB8MteIaZkR1Hk54J00,6325
|
|
572
|
-
ansible/plugins/lookup/template.py,sha256=
|
|
572
|
+
ansible/plugins/lookup/template.py,sha256=Zcx24htTXDMdgG7LZA6uIi7nv74WpjKxaAEAdDw3nTA,7039
|
|
573
573
|
ansible/plugins/lookup/together.py,sha256=WHPggvxSXhQEqN0mbYLzEixazGrDkS6UALLVEiS7K9U,2163
|
|
574
574
|
ansible/plugins/lookup/unvault.py,sha256=M9eHl4lFO2esDyeCxDiyRr1jU3RBdf1YYxPoNlWl8iw,1980
|
|
575
575
|
ansible/plugins/lookup/url.py,sha256=O6hCWoLtN5_YzNhZak8gyy2jaqO9kQjBsc1hzClx6YQ,9014
|
|
@@ -580,7 +580,7 @@ ansible/plugins/shell/__init__.py,sha256=Rj-H2AhfBZAWZ_Hy8D-1ypvjXTMP3pTbByOYlPM
|
|
|
580
580
|
ansible/plugins/shell/cmd.py,sha256=fswLtU2XVNb1T5tF0BIM9msViObs5dXzo9k6sNN4dao,2207
|
|
581
581
|
ansible/plugins/shell/powershell.py,sha256=qnpEZ9uOJF_4gExheFCAYT_tSR_KQtQeilU1WKXJymA,11376
|
|
582
582
|
ansible/plugins/shell/sh.py,sha256=1nhiMv0_c8zu2MaDHvOCr--dG8b-iUVEPPnpMh_Hx8I,3952
|
|
583
|
-
ansible/plugins/strategy/__init__.py,sha256=
|
|
583
|
+
ansible/plugins/strategy/__init__.py,sha256=wK-vhOG-rRpuqys881CTZHnW_Jqs4_yeckw3pRoH0zg,57085
|
|
584
584
|
ansible/plugins/strategy/debug.py,sha256=GxUS0bSiaWInIK8zgB7rMREEqvgrZhVlFUzOCJtnjFo,1258
|
|
585
585
|
ansible/plugins/strategy/free.py,sha256=eXAvxTFloyb5x6VYANXDMdloWUYxMhbPr1lyY6UPBps,15773
|
|
586
586
|
ansible/plugins/strategy/host_pinned.py,sha256=3-q5l-tpheMlU-BXGm6ZQNgHvQv5IMvOCDZBLibl1L4,1959
|
|
@@ -590,8 +590,8 @@ ansible/plugins/test/__init__.py,sha256=6DY18LxzSdtO7-fDS6957bo61fg-xG3TDWvtFkhG
|
|
|
590
590
|
ansible/plugins/test/abs.yml,sha256=-caY4vAMXbhukUTdMQvBa2WYvg6w1AWr8raEfAv0qa8,764
|
|
591
591
|
ansible/plugins/test/all.yml,sha256=I6SNRRTszIMFEjZQ1cRe122QnmH3MvUX4VUpIQ5Sdoc,701
|
|
592
592
|
ansible/plugins/test/any.yml,sha256=mLP-q-0d6kOv8c1kvXD1N_BwFbbY8vo0srU90WzdyOY,698
|
|
593
|
-
ansible/plugins/test/change.yml,sha256=
|
|
594
|
-
ansible/plugins/test/changed.yml,sha256=
|
|
593
|
+
ansible/plugins/test/change.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
|
|
594
|
+
ansible/plugins/test/changed.yml,sha256=GKCtXvZHYs-axh78bMBz6uIMahu0NOotW2gUm2OyXAY,663
|
|
595
595
|
ansible/plugins/test/contains.yml,sha256=nhDISkTAXWlraEy_Fb9GaPDzXh2qLx4U0QU4ESERVgU,1287
|
|
596
596
|
ansible/plugins/test/core.py,sha256=ycFT5vFBgoWVad_PCagsUZF-38udyt158c1mrEqFKhU,9283
|
|
597
597
|
ansible/plugins/test/directory.yml,sha256=xevVVMcUcpixt7uo6QEAZw_t8sgzqphOz9iGeP9gA3E,660
|
|
@@ -617,7 +617,7 @@ ansible/plugins/test/match.yml,sha256=Vv9PDKK29DUHQF_D2EHpVJZViMNxZeuTrb5_fzppdt
|
|
|
617
617
|
ansible/plugins/test/mathstuff.py,sha256=-qFtm1QmLIwHUCBoGurJtJ5iZELpRkSwFTKHVhnqLyE,1561
|
|
618
618
|
ansible/plugins/test/mount.yml,sha256=NiUTLxtX-dQaa4OITY3hDF3hWgTZvQBJeddG4xrrmzI,596
|
|
619
619
|
ansible/plugins/test/nan.yml,sha256=cVZ2QTMKMGRzFGkR4HDSvWkRQVZNNGnGEYZU8alp6yk,584
|
|
620
|
-
ansible/plugins/test/reachable.yml,sha256=
|
|
620
|
+
ansible/plugins/test/reachable.yml,sha256=Y3aoKxA8AggXQ1kbwz2f-iPz4wOiIlvGafyj31z93TU,692
|
|
621
621
|
ansible/plugins/test/regex.yml,sha256=JUwPU7JAjv-HPLkcpwGolxcROL4-550ISPGxW2gNtQw,1034
|
|
622
622
|
ansible/plugins/test/same_file.yml,sha256=tMQgcJt2a7VnlgYa9SlPVxhpKRf7YAKnnTWGMHNJK2s,737
|
|
623
623
|
ansible/plugins/test/search.yml,sha256=Ph7frcpsnIfYiRt8RQa75bSoDY9gaOz3Ac04hqHROgc,923
|
|
@@ -625,12 +625,12 @@ ansible/plugins/test/skip.yml,sha256=_7R75HD_0kfApp2vAlZ50CbTvYIlUYx9sWUtCq35qT0
|
|
|
625
625
|
ansible/plugins/test/skipped.yml,sha256=_7R75HD_0kfApp2vAlZ50CbTvYIlUYx9sWUtCq35qT0,623
|
|
626
626
|
ansible/plugins/test/started.yml,sha256=X2gvzAEC5RlVeVKiubKMSMokZeYai6VYSHyzWuTdln8,690
|
|
627
627
|
ansible/plugins/test/subset.yml,sha256=L1sfICw51cRCNZ2gdHZRxDgGx3V_q6oE5dUMszEygik,750
|
|
628
|
-
ansible/plugins/test/succeeded.yml,sha256=
|
|
629
|
-
ansible/plugins/test/success.yml,sha256=
|
|
630
|
-
ansible/plugins/test/successful.yml,sha256=
|
|
628
|
+
ansible/plugins/test/succeeded.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
629
|
+
ansible/plugins/test/success.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
630
|
+
ansible/plugins/test/successful.yml,sha256=K5rQxq1i1TM47MsZ8pP_oDXKFqtte0-bsUbpKhMNaoI,691
|
|
631
631
|
ansible/plugins/test/superset.yml,sha256=8XGrAstolgW_pXvoo7ISz0DeRj_Zg7plWt3XNjrR4o0,754
|
|
632
632
|
ansible/plugins/test/truthy.yml,sha256=dzWnHv8wHVwYoQZO-pxE0cYrEobjEOkt0pwoJ5lmTEw,789
|
|
633
|
-
ansible/plugins/test/unreachable.yml,sha256=
|
|
633
|
+
ansible/plugins/test/unreachable.yml,sha256=Dn6Wsp4hb86fnZ65VwG0PlOJF_sZBEo5aqc_uX8XjaU,695
|
|
634
634
|
ansible/plugins/test/uri.py,sha256=GZDTKszB6cTufPwUePEyZxEwfULw1SB2gcMhFtbZlj8,1126
|
|
635
635
|
ansible/plugins/test/uri.yml,sha256=57vC77V30dzyq7ezb486CzRTl8PNQ2bJzMELv6_htdU,1115
|
|
636
636
|
ansible/plugins/test/url.yml,sha256=9dF6w4RZgEx6PQy4HJer11vsnVJkjw4fEKIel7WUoFk,934
|
|
@@ -640,12 +640,12 @@ ansible/plugins/test/version.yml,sha256=L10E0dA2Y_sRQpvhWzSoHFgtzLfHLp-bFgvaPxW9
|
|
|
640
640
|
ansible/plugins/test/version_compare.yml,sha256=L10E0dA2Y_sRQpvhWzSoHFgtzLfHLp-bFgvaPxW9hgc,3283
|
|
641
641
|
ansible/plugins/vars/__init__.py,sha256=EHGIwRJtDInKzn8NiqomHbbNLzOWnua6xAEiYsKjbmY,1359
|
|
642
642
|
ansible/plugins/vars/host_group_vars.py,sha256=1BkdaSFFpNbDyx_iHIBXvD1mlDeZ5c-3QxMdfgXx2ck,4689
|
|
643
|
-
ansible/template/__init__.py,sha256=
|
|
643
|
+
ansible/template/__init__.py,sha256=Lqmg7ehyUC7C2HpJ1Cf7hkS0xFTYNpgnhm4mMPbpGKg,40778
|
|
644
644
|
ansible/template/native_helpers.py,sha256=F0xI_VaIOmpQLv_k1aJvUDVaErKAwTyIRM7Hda5Rd0E,4378
|
|
645
645
|
ansible/template/template.py,sha256=synOxn1MzR7aNcIUanEsrtasK-jFlzvyJdUcqBdidGw,1667
|
|
646
646
|
ansible/template/vars.py,sha256=3_dLohGvZma3sMz6PUiWNxWfdDGXIcbDdHzidsX7z_U,2802
|
|
647
647
|
ansible/utils/__init__.py,sha256=1lMXN1i2fFqslda4BmeI5tpYMFP95D5Wpr1AjDJi-SQ,833
|
|
648
|
-
ansible/utils/_junit_xml.py,sha256=
|
|
648
|
+
ansible/utils/_junit_xml.py,sha256=zGOZeh7bKwASJ019TemgQtk-5j_eMC-exU6NKhSC7gI,8739
|
|
649
649
|
ansible/utils/cmd_functions.py,sha256=rh7_j2C93vVt-nueP9L2Ouz3Y_QAEQ7kI4dZTu2S6M4,2216
|
|
650
650
|
ansible/utils/color.py,sha256=sBoONbLleSeCVPJMzyP4pvwSs1tKiSYwpCmAUq1Tzy0,4110
|
|
651
651
|
ansible/utils/context_objects.py,sha256=1-j7SRLgVJU3J5b2PkXMcXS391z435SsKsYIU1m0eCw,3119
|
|
@@ -682,13 +682,13 @@ ansible/vars/hostvars.py,sha256=dg3jpVmNwSg8EJ4SIvYGT80uxMgRtrOW6vvtDfrQzDU,5152
|
|
|
682
682
|
ansible/vars/manager.py,sha256=qsF6PgAYcon5n7HmXG56P4pmKLyrniuFpAtKWnNaFpw,38284
|
|
683
683
|
ansible/vars/plugins.py,sha256=B7L3fXoSOoBZSXqJ2ulk0adx1g5SpAb8BxyLGPNA7d4,4695
|
|
684
684
|
ansible/vars/reserved.py,sha256=FBD7n2dnA0CW4I0J1LtWwk2hQqvGW0KTRPcxaRtMKWo,2615
|
|
685
|
-
ansible_core-2.15.
|
|
685
|
+
ansible_core-2.15.2.data/scripts/ansible-test,sha256=CYIYL99IxWdVTtDIj3avilIJXhGAmtjuKPPWNuLWuc8,1690
|
|
686
686
|
ansible_test/__init__.py,sha256=6e721yAyyyocRKzbCKtQXloAfFP7Aqv0L3zG70uh-4A,190
|
|
687
687
|
ansible_test/_data/ansible.cfg,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
688
688
|
ansible_test/_data/coveragerc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
689
689
|
ansible_test/_data/completion/docker.txt,sha256=Bz-6tKH6BLsq25v03e7DBGnqgSLad-KQsOwkJMfix0U,822
|
|
690
690
|
ansible_test/_data/completion/network.txt,sha256=_-mi013-JeufshKMUmykkOmZPw1cVbakIMaAuweHet8,198
|
|
691
|
-
ansible_test/_data/completion/remote.txt,sha256=
|
|
691
|
+
ansible_test/_data/completion/remote.txt,sha256=q5HD3KFI2oHaAo6oobkuBeMAewg1vFm9WlMScOzLb7I,1161
|
|
692
692
|
ansible_test/_data/completion/windows.txt,sha256=k02uwXJ2i7cVHZnXS4HRFlvK5QU5BzAV291Cw53FlXA,226
|
|
693
693
|
ansible_test/_data/playbooks/posix_coverage_setup.yml,sha256=PgQNVzVTsNmfnu0sT2SAYiWtkMSOppfmh0oVmAsb7TQ,594
|
|
694
694
|
ansible_test/_data/playbooks/posix_coverage_teardown.yml,sha256=xHci5QllwJymFtig-hsOXm-Wdrxz063JH14aIyRXhyc,212
|
|
@@ -732,7 +732,7 @@ ansible_test/_data/requirements/sanity.yamllint.in,sha256=ivPsPeZUDHOuLbd603ZxKC
|
|
|
732
732
|
ansible_test/_data/requirements/sanity.yamllint.txt,sha256=t_5YBcbqw7-c3GCbTE3jh3e5M4YfRENpG0eFtJYpY-A,147
|
|
733
733
|
ansible_test/_data/requirements/units.txt,sha256=ah91xwwRFeY_fpi0WdRGw9GqEiAjm9BbVbnwTrdzn2g,125
|
|
734
734
|
ansible_test/_data/requirements/windows-integration.txt,sha256=jx9vvE8tX1-sColj5E2WuDs1sZvhuqUJnqBjheSbP4U,65
|
|
735
|
-
ansible_test/_internal/__init__.py,sha256=
|
|
735
|
+
ansible_test/_internal/__init__.py,sha256=Ov_4Oh-B08xt4PU_7M_fMkmG9X9gnseBo78x0hmXZ98,3156
|
|
736
736
|
ansible_test/_internal/ansible_util.py,sha256=umqdtrqg0C4T6EnoQ_tbAigVA6u5Y4qHq8-Iqxt9gDw,10271
|
|
737
737
|
ansible_test/_internal/become.py,sha256=zvOlaWKA4L6Cp6Xe795FsTw9xlWUy5Q5TicOwHXjzaI,3071
|
|
738
738
|
ansible_test/_internal/bootstrap.py,sha256=UbkB1ZJ-2bs7qtwRRBi5516IsBq0vZl-pUoyrgzdROQ,2471
|
|
@@ -742,37 +742,37 @@ ansible_test/_internal/completion.py,sha256=BJvhJ0d6PhBBn28YwZ63iGKtTh5TQw6R_uPN
|
|
|
742
742
|
ansible_test/_internal/config.py,sha256=LJkfQ0d6EjEgRWoovdxQX1AK3TRSx-H_Cx1lneNPCEc,12524
|
|
743
743
|
ansible_test/_internal/connections.py,sha256=-gK9FqvmpsjENdYNkvWgFgqYHJSS_F2XkvQzH2_s86E,7855
|
|
744
744
|
ansible_test/_internal/constants.py,sha256=ON2eUuS1im4EzNrvfST5KiFUtun_GN8YgNjm06MzGG0,1969
|
|
745
|
-
ansible_test/_internal/containers.py,sha256=
|
|
745
|
+
ansible_test/_internal/containers.py,sha256=YLRUYuLTUT4pSl7L9T_X1CI3lS53lBQk7lHQUwm5rX4,35635
|
|
746
746
|
ansible_test/_internal/content_config.py,sha256=pkhIu5lg-o8oWc7RBzuniYE-mBPyjnf400vpaO0gr08,5778
|
|
747
747
|
ansible_test/_internal/core_ci.py,sha256=qkOcmYldBC4EX3wvql5G29O8whPRzyTM00eUTRH-6e0,17594
|
|
748
|
-
ansible_test/_internal/coverage_util.py,sha256=
|
|
749
|
-
ansible_test/_internal/data.py,sha256=
|
|
748
|
+
ansible_test/_internal/coverage_util.py,sha256=iw45rwz8Q5u37S4_dABNR0-Ybc5F8YRiEpUEKJiyjQ8,9302
|
|
749
|
+
ansible_test/_internal/data.py,sha256=OFDpRa47yqBqQO1aSvTZVQQpScHvBHsr861586MQEUI,11184
|
|
750
750
|
ansible_test/_internal/delegation.py,sha256=elCTCtsBtauVy0rE15BMC1EgUyfY5f8qusjWODiKKvw,13413
|
|
751
751
|
ansible_test/_internal/diff.py,sha256=COo6OgC3zxwymhOTlMifLZsGc1RGL0iM_zFVyqFNK48,7300
|
|
752
752
|
ansible_test/_internal/docker_util.py,sha256=LF4RrClcsDhg3UqrqgOztbeB_oWcsf1nc3W4DFacans,37675
|
|
753
753
|
ansible_test/_internal/encoding.py,sha256=E61EfXbQw0uQoFhbN3SYx3Oy_1tAMCPAAvY9hkEcSSo,1367
|
|
754
754
|
ansible_test/_internal/executor.py,sha256=KW5yI-f-giErQ077MTj707fTtFkf_Kr8IV_Nr36NNmc,2959
|
|
755
|
-
ansible_test/_internal/git.py,sha256=
|
|
755
|
+
ansible_test/_internal/git.py,sha256=njtciWq2DlzZ1DAkQi08HRRP-TgH0mgeGZsWcsJGctI,4366
|
|
756
756
|
ansible_test/_internal/host_configs.py,sha256=0S6EfSE2QMkOi4-ySxM6A4hlGxfb3aSjJKUHOC4wiwM,18283
|
|
757
757
|
ansible_test/_internal/host_profiles.py,sha256=V--balOIOZLoC1cGKEC8k7vHAnko7MuLxIhDMNnUbug,65198
|
|
758
758
|
ansible_test/_internal/http.py,sha256=g3oZ3LVjcXUw2NwGrXTjBR6dJ6nz9UM-CXDaqZ-8DP8,4113
|
|
759
759
|
ansible_test/_internal/init.py,sha256=f2ZN7F-FyjMgN73SUgxwbVtWNhkJv7BIlZ-q4ALHyjM,505
|
|
760
760
|
ansible_test/_internal/inventory.py,sha256=c79s-xc1uv2nD7rPISv0JKkKspY-X2-kHoozF2R4e1Q,5408
|
|
761
761
|
ansible_test/_internal/io.py,sha256=e7ccixoPL5lrAPLUx50vOGYpcELWHhs0R3a5Sh6b5hs,2807
|
|
762
|
-
ansible_test/_internal/junit_xml.py,sha256=
|
|
762
|
+
ansible_test/_internal/junit_xml.py,sha256=zGOZeh7bKwASJ019TemgQtk-5j_eMC-exU6NKhSC7gI,8739
|
|
763
763
|
ansible_test/_internal/locale_util.py,sha256=tjRbwKmgMQc1ysIhvP8yBhFcNA-2UCaWfQBDgrRFUxU,2161
|
|
764
764
|
ansible_test/_internal/metadata.py,sha256=c9ThXPUlgeKYhaTUmfCSS4INRNQ1JhN2KEOVaX3m1Gk,4791
|
|
765
|
-
ansible_test/_internal/payload.py,sha256=
|
|
766
|
-
ansible_test/_internal/provisioning.py,sha256=
|
|
767
|
-
ansible_test/_internal/pypi_proxy.py,sha256=
|
|
765
|
+
ansible_test/_internal/payload.py,sha256=1Pw05OEHvP3LMQnoLXch8631c94YMklWlpDn0CvQECw,8012
|
|
766
|
+
ansible_test/_internal/provisioning.py,sha256=9Zl3xQqljx0MGDTp55Q4LZPWQ7Afj5K87cGsXzPGS5Y,7320
|
|
767
|
+
ansible_test/_internal/pypi_proxy.py,sha256=kVvqvLIxN-VolD1jG_EILwYy1bWoy766ZKVKEFlQgmA,6040
|
|
768
768
|
ansible_test/_internal/python_requirements.py,sha256=xhT-hndjxz16gx4lPqg_brbn5J_lakjY87uvrXo4Vpo,20061
|
|
769
769
|
ansible_test/_internal/ssh.py,sha256=2bS-DkcMJcBr3NExF2Y_htJVye_glKXir1NmLF05VR8,10662
|
|
770
770
|
ansible_test/_internal/target.py,sha256=Whtb_n0jn4zbiMmX7je5jewgzsRczfXRm_ndYtjTSTQ,25320
|
|
771
|
-
ansible_test/_internal/test.py,sha256=
|
|
771
|
+
ansible_test/_internal/test.py,sha256=znQmGjKACqDU8T0EAPqcv2qyy0J7M2w4OmyYhwHLqT0,14515
|
|
772
772
|
ansible_test/_internal/thread.py,sha256=WQoZ2q2ljmEkKHRDkIqwxW7eZbkCKDrG3YZfcaxHzHw,2596
|
|
773
|
-
ansible_test/_internal/timeout.py,sha256=
|
|
774
|
-
ansible_test/_internal/util.py,sha256=
|
|
775
|
-
ansible_test/_internal/util_common.py,sha256=
|
|
773
|
+
ansible_test/_internal/timeout.py,sha256=hT-LirImhAh1iCGIh8JpmECXsiGu6Zetw8BWl1iBIC8,4050
|
|
774
|
+
ansible_test/_internal/util.py,sha256=Mp9_uyY3aqEGJFq0POzvELMoh_IhyIxYuf-FiGBfZIM,37809
|
|
775
|
+
ansible_test/_internal/util_common.py,sha256=S_YMEZvGEqtzKvgZmxQrIT7P66KnOLKyAvC_s1QppEE,17291
|
|
776
776
|
ansible_test/_internal/venv.py,sha256=DPHAt4tuoIdP7BOXa75-i4T7Paild8eGDsV2UUKOZ7U,9062
|
|
777
777
|
ansible_test/_internal/ci/__init__.py,sha256=QOaC_8_wUzqFEbsFCXYAnElWoUo6gB40CXvP9RJ-Iyo,7738
|
|
778
778
|
ansible_test/_internal/ci/azp.py,sha256=5ev2kSfqTHWVvluPbu7vV52gaXuBYt3mRGistKv4Kcs,10097
|
|
@@ -794,7 +794,7 @@ ansible_test/_internal/cli/argparsing/actions.py,sha256=VplAf5K9G-loJmLXMAZwbRbI
|
|
|
794
794
|
ansible_test/_internal/cli/argparsing/argcompletion.py,sha256=zOZtYVDkqWIdbmuASkyJuMUKrFh4w3MJzYS2O9DoIQA,5166
|
|
795
795
|
ansible_test/_internal/cli/argparsing/parsers.py,sha256=i7bEPWy7q2mcgiBb3sZ0EN5wQ0G5SetOMQKsOMSsw4M,21490
|
|
796
796
|
ansible_test/_internal/cli/commands/__init__.py,sha256=d8FNvVbSVR2JlnyDUxnS-lZDIQqbdEEPU0cqJA9663Q,5436
|
|
797
|
-
ansible_test/_internal/cli/commands/env.py,sha256
|
|
797
|
+
ansible_test/_internal/cli/commands/env.py,sha256=apc4ctiVsfIjR-8ll5lrPsvBkGutw5M9kszRVpAJAwY,1399
|
|
798
798
|
ansible_test/_internal/cli/commands/sanity.py,sha256=aXFLAUR-ZmgvlCQFw01JGmIS7bKNFbX1sqtKC7bOX0E,2409
|
|
799
799
|
ansible_test/_internal/cli/commands/shell.py,sha256=DeYU2DcNhkJj7In_04GEcMVD3EFBRDtegdQbRY9l9rY,1268
|
|
800
800
|
ansible_test/_internal/cli/commands/units.py,sha256=h15bxiaJ_Vy54dc66Agc4UsXD-gCss0vg-b0TRyLTG0,1406
|
|
@@ -835,14 +835,14 @@ ansible_test/_internal/commands/coverage/analyze/targets/expand.py,sha256=_lgYLm
|
|
|
835
835
|
ansible_test/_internal/commands/coverage/analyze/targets/filter.py,sha256=aR_r1as2ma4Vucpm9j9fgwKZr6CmGhNL6w338DW1nzA,3958
|
|
836
836
|
ansible_test/_internal/commands/coverage/analyze/targets/generate.py,sha256=UFy_ON7kXyVm7XH_g9vpooudKDnpA8sGZl5ab_bx0GM,4972
|
|
837
837
|
ansible_test/_internal/commands/coverage/analyze/targets/missing.py,sha256=iqntMFk1nwhxxKgABtHTGLHJPJYMeMEa80Ey5dvBkCc,3894
|
|
838
|
-
ansible_test/_internal/commands/env/__init__.py,sha256=
|
|
839
|
-
ansible_test/_internal/commands/integration/__init__.py,sha256=
|
|
838
|
+
ansible_test/_internal/commands/env/__init__.py,sha256=ZJZlU1ufO_8R6tufyQXttI072YLQgy1VlwgN-ceOzP4,5165
|
|
839
|
+
ansible_test/_internal/commands/integration/__init__.py,sha256=CB2v0kQqNfSaSuXXwM9Rq9oNewkFiJRh5mEZJUjugpQ,36888
|
|
840
840
|
ansible_test/_internal/commands/integration/coverage.py,sha256=BAdVMGPTP-QKys6uecxEWM7Ipr-TpVbrlP3vpLxjVMc,15578
|
|
841
841
|
ansible_test/_internal/commands/integration/filters.py,sha256=OntBnxm9gnP57yFaiN49Wtk0wA4LJ0jKBY4e4vc0fko,12168
|
|
842
842
|
ansible_test/_internal/commands/integration/network.py,sha256=TvZmcJ1JEZPytj4Eqb3n98zrhZdcTX8PjIshE94Qv7Q,2417
|
|
843
843
|
ansible_test/_internal/commands/integration/posix.py,sha256=eyJg1tpmaVXl2wylN0gOqqLGF3RA1YZeKIZpQg59pM0,1444
|
|
844
844
|
ansible_test/_internal/commands/integration/windows.py,sha256=L6IVdT_2l9Hp6u-b9PL6CVs3pIxhK4ZGmnCt8D7TsBg,2639
|
|
845
|
-
ansible_test/_internal/commands/integration/cloud/__init__.py,sha256=
|
|
845
|
+
ansible_test/_internal/commands/integration/cloud/__init__.py,sha256=bNHhSfgjhRsZn1FbJpFR24MXJzZNC7NsJe-dMgtF6rc,14501
|
|
846
846
|
ansible_test/_internal/commands/integration/cloud/acme.py,sha256=OIiqJ3wZSbfxN3VHrREQilsqWsQJsx2M524SQp5NLjI,2235
|
|
847
847
|
ansible_test/_internal/commands/integration/cloud/aws.py,sha256=JzZZK8MMtIXf3zpojh4a3XF11FaE0GC9CTvZP4UU8fM,4202
|
|
848
848
|
ansible_test/_internal/commands/integration/cloud/azure.py,sha256=fYsv42elqyV-zYEvueeOc8fDNKXdKBvYDHiUBGl-ju0,5071
|
|
@@ -868,10 +868,10 @@ ansible_test/_internal/commands/sanity/import.py,sha256=C7GCC2AFmjZ96rllGCcZIxiy
|
|
|
868
868
|
ansible_test/_internal/commands/sanity/mypy.py,sha256=d3K3mPO38sxAkvRm3DkR59TL3Aj57dQZp7JRsY_lDXI,10737
|
|
869
869
|
ansible_test/_internal/commands/sanity/pep8.py,sha256=SSulTIljaSu_exl93ZklKyuhbKS-zf18SKu23k3VJhA,3125
|
|
870
870
|
ansible_test/_internal/commands/sanity/pslint.py,sha256=lVgL6RrDolRgIOJ2NRr04k2KVwMddZz1M7I-6h57vII,3210
|
|
871
|
-
ansible_test/_internal/commands/sanity/pylint.py,sha256=
|
|
871
|
+
ansible_test/_internal/commands/sanity/pylint.py,sha256=8XxdckD4AVTkP8GamX6XaeGcMvYvf5yTgtUIN5d8aFk,10922
|
|
872
872
|
ansible_test/_internal/commands/sanity/sanity_docs.py,sha256=0rbqhxKQXYuVzJ6x4V_ItH9tA15mT9gSYVgxNU3EhnQ,1605
|
|
873
873
|
ansible_test/_internal/commands/sanity/shellcheck.py,sha256=CZHNN_2iNVE3iqf5SIDSH9b2hwF6aXtJ0H6MPCEJX4s,3070
|
|
874
|
-
ansible_test/_internal/commands/sanity/validate_modules.py,sha256=
|
|
874
|
+
ansible_test/_internal/commands/sanity/validate_modules.py,sha256=D4qXBfkWQ5NJam6TN9HOi_NWXEDErBFXatWoP-OiQjo,7904
|
|
875
875
|
ansible_test/_internal/commands/sanity/yamllint.py,sha256=rF_L-QVWLfQ5HiOf_Q-6AMdk7orOJN_Bu8XyMfobRQ8,3423
|
|
876
876
|
ansible_test/_internal/commands/shell/__init__.py,sha256=70rahKppL1gi3I22YWZCkVKO9UF8Muryr0REiilb6C0,4371
|
|
877
877
|
ansible_test/_internal/commands/units/__init__.py,sha256=eDwwBQ87zWaVLRQbQ7GBC8P8TUcu28bhIAZqIjDk1fY,12686
|
|
@@ -881,9 +881,9 @@ ansible_test/_internal/compat/yaml.py,sha256=rPJT-lEzu-zY3hOPtXiY4SLqGaCuWR-0G3y
|
|
|
881
881
|
ansible_test/_internal/dev/__init__.py,sha256=wUzKrVA5k8r6W3k9kaGg-c8k84avPlmC49ux4oHSnu8,138
|
|
882
882
|
ansible_test/_internal/dev/container_probe.py,sha256=HQwqiKwn4LEZhzchsGu1PGgGDv5Jb0P2iXwSDp5tIBI,7819
|
|
883
883
|
ansible_test/_internal/provider/__init__.py,sha256=GYJAiW8sj-6IrKxiQQxCFVZ8Wu4R9okpR4ej4IM0T_s,2246
|
|
884
|
-
ansible_test/_internal/provider/layout/__init__.py,sha256=
|
|
885
|
-
ansible_test/_internal/provider/layout/ansible.py,sha256=
|
|
886
|
-
ansible_test/_internal/provider/layout/collection.py,sha256=
|
|
884
|
+
ansible_test/_internal/provider/layout/__init__.py,sha256=yV3tTECAb-5iOquwKSdUl_AquOhUq1pNWnq898Y-qWc,7601
|
|
885
|
+
ansible_test/_internal/provider/layout/ansible.py,sha256=QPFZiZTJAvKfAJ_ouKI6N5n4AOoL0-aw9FvdX-HLUVc,1969
|
|
886
|
+
ansible_test/_internal/provider/layout/collection.py,sha256=0fTr6jLOXp4Nt-S6X3EiwHZwuaMJqCgX_mkF-uR2dHI,6130
|
|
887
887
|
ansible_test/_internal/provider/layout/unsupported.py,sha256=VDD7tNkEQA0VBDHHtUCLXeufocPymxxCYTQKCO5Bkow,1240
|
|
888
888
|
ansible_test/_internal/provider/source/__init__.py,sha256=H7blyEyZ_qEeo9z4QvuHBlM4H2i33EK9EL6eiX6mIHQ,359
|
|
889
889
|
ansible_test/_internal/provider/source/git.py,sha256=yt9hlX0zdvVlKJJAGJz9eoDBwTr5tsjIoklu_dPud3Y,2540
|
|
@@ -999,9 +999,9 @@ ansible_test/config/cloud-config-vultr.ini.template,sha256=XLKHk3lg_8ReQMdWfZzhh
|
|
|
999
999
|
ansible_test/config/config.yml,sha256=wb3knoBmZewG3GWOMnRHoVPQWW4vPixKLPMNS6vJmTc,2620
|
|
1000
1000
|
ansible_test/config/inventory.networking.template,sha256=bFNSk8zNQOaZ_twaflrY0XZ9mLwUbRLuNT0BdIFwvn4,1335
|
|
1001
1001
|
ansible_test/config/inventory.winrm.template,sha256=1QU8W-GFLnYEw8yY9bVIvUAVvJYPM3hyoijf6-M7T00,1098
|
|
1002
|
-
ansible_core-2.15.
|
|
1003
|
-
ansible_core-2.15.
|
|
1004
|
-
ansible_core-2.15.
|
|
1005
|
-
ansible_core-2.15.
|
|
1006
|
-
ansible_core-2.15.
|
|
1007
|
-
ansible_core-2.15.
|
|
1002
|
+
ansible_core-2.15.2.dist-info/COPYING,sha256=CuBIWlvTemPmNgNZZBfk6w5lMzT6bH-TLKOg6F1K8ic,35148
|
|
1003
|
+
ansible_core-2.15.2.dist-info/METADATA,sha256=CUJcd0bbk7iv5DQS-VziWVpirjJK2jDkXIp7V-utA5o,7504
|
|
1004
|
+
ansible_core-2.15.2.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
1005
|
+
ansible_core-2.15.2.dist-info/entry_points.txt,sha256=0mpmsrIhODChxKl3eS-NcVQCaMetBn8KdPLtVxQgR64,453
|
|
1006
|
+
ansible_core-2.15.2.dist-info/top_level.txt,sha256=IFbRLjAvih1DYzJWg3_F6t4sCzEMxRO7TOMNs6GkYHo,21
|
|
1007
|
+
ansible_core-2.15.2.dist-info/RECORD,,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
alpine/3.17 python=3.10 become=doas_sudo provider=aws arch=x86_64
|
|
2
2
|
alpine become=doas_sudo provider=aws arch=x86_64
|
|
3
|
-
fedora/37 python=3.11 become=sudo provider=aws arch=x86_64
|
|
3
|
+
fedora/37 python=3.11 become=sudo provider=aws arch=x86_64 # untested in CI, known to occasionally hang during boot
|
|
4
|
+
fedora/38 python=3.11 become=sudo provider=aws arch=x86_64
|
|
4
5
|
fedora become=sudo provider=aws arch=x86_64
|
|
5
6
|
freebsd/12.4 python=3.9 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
|
|
6
7
|
freebsd/13.1 python=3.8,3.7,3.9,3.10 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
|
|
@@ -18,6 +18,7 @@ from .constants import (
|
|
|
18
18
|
from .util import (
|
|
19
19
|
ApplicationError,
|
|
20
20
|
HostConnectionError,
|
|
21
|
+
TimeoutExpiredError,
|
|
21
22
|
display,
|
|
22
23
|
report_locale,
|
|
23
24
|
)
|
|
@@ -42,6 +43,7 @@ from .data import (
|
|
|
42
43
|
|
|
43
44
|
from .util_common import (
|
|
44
45
|
CommonConfig,
|
|
46
|
+
ExitHandler,
|
|
45
47
|
)
|
|
46
48
|
|
|
47
49
|
from .cli import (
|
|
@@ -58,6 +60,12 @@ from .config import (
|
|
|
58
60
|
|
|
59
61
|
|
|
60
62
|
def main(cli_args: t.Optional[list[str]] = None) -> None:
|
|
63
|
+
"""Wrapper around the main program function to invoke cleanup functions at exit."""
|
|
64
|
+
with ExitHandler.context():
|
|
65
|
+
main_internal(cli_args)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def main_internal(cli_args: t.Optional[list[str]] = None) -> None:
|
|
61
69
|
"""Main program function."""
|
|
62
70
|
try:
|
|
63
71
|
os.chdir(data_context().content.root)
|
|
@@ -109,6 +117,9 @@ def main(cli_args: t.Optional[list[str]] = None) -> None:
|
|
|
109
117
|
except ApplicationError as ex:
|
|
110
118
|
display.fatal('%s' % ex)
|
|
111
119
|
sys.exit(1)
|
|
120
|
+
except TimeoutExpiredError as ex:
|
|
121
|
+
display.fatal('%s' % ex)
|
|
122
|
+
sys.exit(1)
|
|
112
123
|
except KeyboardInterrupt:
|
|
113
124
|
sys.exit(2)
|
|
114
125
|
except BrokenPipeError:
|
|
@@ -42,16 +42,20 @@ from ...ci import (
|
|
|
42
42
|
get_ci_provider,
|
|
43
43
|
)
|
|
44
44
|
|
|
45
|
+
from ...timeout import (
|
|
46
|
+
TimeoutDetail,
|
|
47
|
+
)
|
|
48
|
+
|
|
45
49
|
|
|
46
50
|
class EnvConfig(CommonConfig):
|
|
47
51
|
"""Configuration for the `env` command."""
|
|
48
52
|
def __init__(self, args: t.Any) -> None:
|
|
49
53
|
super().__init__(args, 'env')
|
|
50
54
|
|
|
51
|
-
self.show = args.show
|
|
52
|
-
self.dump = args.dump
|
|
53
|
-
self.timeout = args.timeout
|
|
54
|
-
self.list_files = args.list_files
|
|
55
|
+
self.show: bool = args.show
|
|
56
|
+
self.dump: bool = args.dump
|
|
57
|
+
self.timeout: int | float | None = args.timeout
|
|
58
|
+
self.list_files: bool = args.list_files
|
|
55
59
|
|
|
56
60
|
if not self.show and not self.dump and self.timeout is None and not self.list_files:
|
|
57
61
|
# default to --show if no options were given
|
|
@@ -85,7 +89,7 @@ def show_dump_env(args: EnvConfig) -> None:
|
|
|
85
89
|
),
|
|
86
90
|
git=get_ci_provider().get_git_details(args),
|
|
87
91
|
platform=dict(
|
|
88
|
-
datetime=datetime.datetime.
|
|
92
|
+
datetime=datetime.datetime.now(tz=datetime.timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ'),
|
|
89
93
|
platform=platform.platform(),
|
|
90
94
|
uname=platform.uname(),
|
|
91
95
|
),
|
|
@@ -124,25 +128,18 @@ def set_timeout(args: EnvConfig) -> None:
|
|
|
124
128
|
if args.timeout is None:
|
|
125
129
|
return
|
|
126
130
|
|
|
127
|
-
|
|
128
|
-
deadline = (datetime.datetime.utcnow() + datetime.timedelta(minutes=args.timeout)).strftime('%Y-%m-%dT%H:%M:%SZ')
|
|
131
|
+
timeout = TimeoutDetail.create(args.timeout)
|
|
129
132
|
|
|
130
|
-
|
|
133
|
+
if timeout:
|
|
134
|
+
display.info(f'Setting a {timeout.duration} minute test timeout which will end at: {timeout.deadline}', verbosity=1)
|
|
131
135
|
else:
|
|
132
|
-
deadline = None
|
|
133
|
-
|
|
134
136
|
display.info('Clearing existing test timeout.', verbosity=1)
|
|
135
137
|
|
|
136
138
|
if args.explain:
|
|
137
139
|
return
|
|
138
140
|
|
|
139
|
-
if
|
|
140
|
-
|
|
141
|
-
duration=args.timeout,
|
|
142
|
-
deadline=deadline,
|
|
143
|
-
)
|
|
144
|
-
|
|
145
|
-
write_json_file(TIMEOUT_PATH, data)
|
|
141
|
+
if timeout:
|
|
142
|
+
write_json_file(TIMEOUT_PATH, timeout.to_dict())
|
|
146
143
|
elif os.path.exists(TIMEOUT_PATH):
|
|
147
144
|
os.remove(TIMEOUT_PATH)
|
|
148
145
|
|
|
@@ -566,7 +566,7 @@ def command_integration_filtered(
|
|
|
566
566
|
coverage_manager.teardown()
|
|
567
567
|
|
|
568
568
|
result_name = '%s-%s.json' % (
|
|
569
|
-
args.command, re.sub(r'[^0-9]', '-', str(datetime.datetime.
|
|
569
|
+
args.command, re.sub(r'[^0-9]', '-', str(datetime.datetime.now(tz=datetime.timezone.utc).replace(microsecond=0, tzinfo=None))))
|
|
570
570
|
|
|
571
571
|
data = dict(
|
|
572
572
|
targets=results,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
4
|
import abc
|
|
5
|
-
import atexit
|
|
6
5
|
import datetime
|
|
7
6
|
import os
|
|
8
7
|
import re
|
|
@@ -28,6 +27,7 @@ from ....util import (
|
|
|
28
27
|
)
|
|
29
28
|
|
|
30
29
|
from ....util_common import (
|
|
30
|
+
ExitHandler,
|
|
31
31
|
ResultType,
|
|
32
32
|
write_json_test_results,
|
|
33
33
|
)
|
|
@@ -170,7 +170,7 @@ def cloud_init(args: IntegrationConfig, targets: tuple[IntegrationTarget, ...])
|
|
|
170
170
|
|
|
171
171
|
if not args.explain and results:
|
|
172
172
|
result_name = '%s-%s.json' % (
|
|
173
|
-
args.command, re.sub(r'[^0-9]', '-', str(datetime.datetime.
|
|
173
|
+
args.command, re.sub(r'[^0-9]', '-', str(datetime.datetime.now(tz=datetime.timezone.utc).replace(microsecond=0, tzinfo=None))))
|
|
174
174
|
|
|
175
175
|
data = dict(
|
|
176
176
|
clouds=results,
|
|
@@ -306,7 +306,7 @@ class CloudProvider(CloudBase):
|
|
|
306
306
|
self.resource_prefix = self.ci_provider.generate_resource_prefix()
|
|
307
307
|
self.resource_prefix = re.sub(r'[^a-zA-Z0-9]+', '-', self.resource_prefix)[:63].lower().rstrip('-')
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
ExitHandler.register(self.cleanup)
|
|
310
310
|
|
|
311
311
|
def cleanup(self) -> None:
|
|
312
312
|
"""Clean up the cloud resource and any temporary configuration files after tests complete."""
|
|
@@ -156,19 +156,19 @@ class PylintTest(SanitySingleVersion):
|
|
|
156
156
|
except CollectionDetailError as ex:
|
|
157
157
|
display.warning('Skipping pylint collection version checks since collection detail loading failed: %s' % ex.reason)
|
|
158
158
|
|
|
159
|
-
test_start = datetime.datetime.
|
|
159
|
+
test_start = datetime.datetime.now(tz=datetime.timezone.utc)
|
|
160
160
|
|
|
161
161
|
for context, context_paths in sorted(contexts):
|
|
162
162
|
if not context_paths:
|
|
163
163
|
continue
|
|
164
164
|
|
|
165
|
-
context_start = datetime.datetime.
|
|
165
|
+
context_start = datetime.datetime.now(tz=datetime.timezone.utc)
|
|
166
166
|
messages += self.pylint(args, context, context_paths, plugin_dir, plugin_names, python, collection_detail)
|
|
167
|
-
context_end = datetime.datetime.
|
|
167
|
+
context_end = datetime.datetime.now(tz=datetime.timezone.utc)
|
|
168
168
|
|
|
169
169
|
context_times.append('%s: %d (%s)' % (context, len(context_paths), context_end - context_start))
|
|
170
170
|
|
|
171
|
-
test_end = datetime.datetime.
|
|
171
|
+
test_end = datetime.datetime.now(tz=datetime.timezone.utc)
|
|
172
172
|
|
|
173
173
|
for context_time in context_times:
|
|
174
174
|
display.info(context_time, verbosity=4)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Sanity test using validate-modules."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import collections
|
|
6
5
|
import contextlib
|
|
7
6
|
import json
|
|
@@ -38,6 +37,7 @@ from ...util import (
|
|
|
38
37
|
)
|
|
39
38
|
|
|
40
39
|
from ...util_common import (
|
|
40
|
+
ExitHandler,
|
|
41
41
|
process_scoped_temporary_directory,
|
|
42
42
|
run_command,
|
|
43
43
|
ResultType,
|
|
@@ -242,7 +242,7 @@ class ValidateModulesTest(SanitySingleVersion):
|
|
|
242
242
|
files = payload_config.files
|
|
243
243
|
files.append((path, os.path.relpath(path, data_context().content.root)))
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
ExitHandler.register(cleanup)
|
|
246
246
|
data_context().register_payload_callback(git_callback)
|
|
247
247
|
|
|
248
248
|
make_dirs(os.path.dirname(path))
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""High level functions for working with containers."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import collections.abc as c
|
|
6
5
|
import contextlib
|
|
7
6
|
import enum
|
|
@@ -20,6 +19,7 @@ from .util import (
|
|
|
20
19
|
)
|
|
21
20
|
|
|
22
21
|
from .util_common import (
|
|
22
|
+
ExitHandler,
|
|
23
23
|
named_temporary_file,
|
|
24
24
|
)
|
|
25
25
|
|
|
@@ -225,7 +225,7 @@ def run_support_container(
|
|
|
225
225
|
raise Exception(f'Container already defined: {name}')
|
|
226
226
|
|
|
227
227
|
if not support_containers:
|
|
228
|
-
|
|
228
|
+
ExitHandler.register(cleanup_containers, args)
|
|
229
229
|
|
|
230
230
|
support_containers[name] = descriptor
|
|
231
231
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Utility code for facilitating collection of code coverage when running tests."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
import atexit
|
|
5
4
|
import dataclasses
|
|
6
5
|
import os
|
|
7
6
|
import sqlite3
|
|
@@ -34,6 +33,7 @@ from .data import (
|
|
|
34
33
|
)
|
|
35
34
|
|
|
36
35
|
from .util_common import (
|
|
36
|
+
ExitHandler,
|
|
37
37
|
intercept_python,
|
|
38
38
|
ResultType,
|
|
39
39
|
)
|
|
@@ -223,7 +223,7 @@ def get_coverage_config(args: TestConfig) -> str:
|
|
|
223
223
|
temp_dir = '/tmp/coverage-temp-dir'
|
|
224
224
|
else:
|
|
225
225
|
temp_dir = tempfile.mkdtemp()
|
|
226
|
-
|
|
226
|
+
ExitHandler.register(lambda: remove_tree(temp_dir))
|
|
227
227
|
|
|
228
228
|
path = os.path.join(temp_dir, COVERAGE_CONFIG_NAME)
|
|
229
229
|
|