testgenie-py 0.1.5__py3-none-any.whl → 0.1.7__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.
- testgen/.coverage +0 -0
- testgen/analyzer/random_feedback_analyzer.py +3 -3
- testgen/code_to_test/__init__.py +0 -0
- testgen/code_to_test/boolean.py +146 -0
- testgen/code_to_test/calculator.py +29 -0
- testgen/code_to_test/code_to_fuzz.py +234 -0
- testgen/code_to_test/code_to_fuzz_lite.py +397 -0
- testgen/code_to_test/decisions.py +57 -0
- testgen/code_to_test/math_utils.py +47 -0
- testgen/code_to_test/no_types.py +35 -0
- testgen/code_to_test/sample_code_bin.py +141 -0
- testgen/controller/cli_controller.py +119 -99
- testgen/controller/docker_controller.py +34 -19
- testgen/docker/Dockerfile +2 -2
- testgen/docker/poetry.lock +246 -8
- testgen/docker/pyproject.toml +9 -2
- testgen/q_table/global_q_table.json +1 -1
- testgen/reinforcement/environment.py +42 -10
- testgen/reinforcement/statement_coverage_state.py +1 -1
- testgen/service/analysis_service.py +8 -2
- testgen/service/cfg_service.py +1 -1
- testgen/service/generator_service.py +11 -3
- testgen/service/logging_service.py +100 -0
- testgen/service/service.py +81 -41
- testgen/testgen.db +0 -0
- testgen/util/coverage_utils.py +41 -14
- testgen/util/coverage_visualizer.py +2 -2
- testgen/util/file_utils.py +46 -0
- testgen/util/randomizer.py +27 -12
- testgen/util/z3_utils/z3_test_case.py +26 -11
- {testgenie_py-0.1.5.dist-info → testgenie_py-0.1.7.dist-info}/METADATA +2 -1
- {testgenie_py-0.1.5.dist-info → testgenie_py-0.1.7.dist-info}/RECORD +34 -22
- {testgenie_py-0.1.5.dist-info → testgenie_py-0.1.7.dist-info}/WHEEL +0 -0
- {testgenie_py-0.1.5.dist-info → testgenie_py-0.1.7.dist-info}/entry_points.txt +0 -0
testgen/docker/poetry.lock
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# This file is automatically @generated by Poetry 1.
|
1
|
+
# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand.
|
2
2
|
|
3
3
|
[[package]]
|
4
4
|
name = "astor"
|
@@ -6,6 +6,7 @@ version = "0.8.1"
|
|
6
6
|
description = "Read/rewrite/write Python ASTs"
|
7
7
|
optional = false
|
8
8
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
|
9
|
+
groups = ["main"]
|
9
10
|
files = [
|
10
11
|
{file = "astor-0.8.1-py2.py3-none-any.whl", hash = "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5"},
|
11
12
|
{file = "astor-0.8.1.tar.gz", hash = "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e"},
|
@@ -17,6 +18,7 @@ version = "2.3.0"
|
|
17
18
|
description = "A coverage-guided fuzzer for Python and Python extensions."
|
18
19
|
optional = false
|
19
20
|
python-versions = "*"
|
21
|
+
groups = ["main"]
|
20
22
|
files = [
|
21
23
|
{file = "atheris-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91cb296d60915c3efa4f6db48f09c4678b574cddb7ca98035f1cb9d9fb96f64"},
|
22
24
|
{file = "atheris-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4e43d1ee4760916a84ff73c9c6cf9ac6eee80fc030479bbed43fe0b8e994981"},
|
@@ -27,12 +29,128 @@ files = [
|
|
27
29
|
{file = "atheris-2.3.0.tar.gz", hash = "sha256:cf1fdf5fa220a41a2f262b32363fc566549502b2cb0addf4e1baad5531c0e825"},
|
28
30
|
]
|
29
31
|
|
32
|
+
[[package]]
|
33
|
+
name = "certifi"
|
34
|
+
version = "2025.1.31"
|
35
|
+
description = "Python package for providing Mozilla's CA Bundle."
|
36
|
+
optional = false
|
37
|
+
python-versions = ">=3.6"
|
38
|
+
groups = ["main"]
|
39
|
+
files = [
|
40
|
+
{file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"},
|
41
|
+
{file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"},
|
42
|
+
]
|
43
|
+
|
44
|
+
[[package]]
|
45
|
+
name = "charset-normalizer"
|
46
|
+
version = "3.4.1"
|
47
|
+
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
48
|
+
optional = false
|
49
|
+
python-versions = ">=3.7"
|
50
|
+
groups = ["main"]
|
51
|
+
files = [
|
52
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"},
|
53
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"},
|
54
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"},
|
55
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"},
|
56
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"},
|
57
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"},
|
58
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"},
|
59
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"},
|
60
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"},
|
61
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"},
|
62
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"},
|
63
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"},
|
64
|
+
{file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"},
|
65
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"},
|
66
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"},
|
67
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"},
|
68
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"},
|
69
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"},
|
70
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"},
|
71
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"},
|
72
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"},
|
73
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"},
|
74
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"},
|
75
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"},
|
76
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"},
|
77
|
+
{file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"},
|
78
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"},
|
79
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"},
|
80
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"},
|
81
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"},
|
82
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"},
|
83
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"},
|
84
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"},
|
85
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"},
|
86
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"},
|
87
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"},
|
88
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"},
|
89
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"},
|
90
|
+
{file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"},
|
91
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"},
|
92
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"},
|
93
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"},
|
94
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"},
|
95
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"},
|
96
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"},
|
97
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"},
|
98
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"},
|
99
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"},
|
100
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"},
|
101
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"},
|
102
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"},
|
103
|
+
{file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"},
|
104
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"},
|
105
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"},
|
106
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"},
|
107
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"},
|
108
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"},
|
109
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"},
|
110
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"},
|
111
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"},
|
112
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"},
|
113
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"},
|
114
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"},
|
115
|
+
{file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"},
|
116
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"},
|
117
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"},
|
118
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"},
|
119
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"},
|
120
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"},
|
121
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"},
|
122
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"},
|
123
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"},
|
124
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"},
|
125
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"},
|
126
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"},
|
127
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"},
|
128
|
+
{file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"},
|
129
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"},
|
130
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"},
|
131
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"},
|
132
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"},
|
133
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"},
|
134
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"},
|
135
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"},
|
136
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"},
|
137
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"},
|
138
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"},
|
139
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"},
|
140
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"},
|
141
|
+
{file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"},
|
142
|
+
{file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"},
|
143
|
+
{file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"},
|
144
|
+
]
|
145
|
+
|
30
146
|
[[package]]
|
31
147
|
name = "colorama"
|
32
148
|
version = "0.4.6"
|
33
149
|
description = "Cross-platform colored terminal text."
|
34
150
|
optional = false
|
35
151
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
152
|
+
groups = ["main"]
|
153
|
+
markers = "sys_platform == \"win32\""
|
36
154
|
files = [
|
37
155
|
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
38
156
|
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
@@ -44,6 +162,7 @@ version = "1.7"
|
|
44
162
|
description = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables."
|
45
163
|
optional = false
|
46
164
|
python-versions = ">=3.5"
|
165
|
+
groups = ["main"]
|
47
166
|
files = [
|
48
167
|
{file = "ConfigArgParse-1.7-py3-none-any.whl", hash = "sha256:d249da6591465c6c26df64a9f73d2536e743be2f244eb3ebe61114af2f94f86b"},
|
49
168
|
{file = "ConfigArgParse-1.7.tar.gz", hash = "sha256:e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1"},
|
@@ -59,6 +178,7 @@ version = "7.6.4"
|
|
59
178
|
description = "Code coverage measurement for Python"
|
60
179
|
optional = false
|
61
180
|
python-versions = ">=3.9"
|
181
|
+
groups = ["main"]
|
62
182
|
files = [
|
63
183
|
{file = "coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07"},
|
64
184
|
{file = "coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0"},
|
@@ -125,7 +245,30 @@ files = [
|
|
125
245
|
]
|
126
246
|
|
127
247
|
[package.extras]
|
128
|
-
toml = ["tomli"]
|
248
|
+
toml = ["tomli ; python_full_version <= \"3.11.0a6\""]
|
249
|
+
|
250
|
+
[[package]]
|
251
|
+
name = "docker"
|
252
|
+
version = "7.1.0"
|
253
|
+
description = "A Python library for the Docker Engine API."
|
254
|
+
optional = false
|
255
|
+
python-versions = ">=3.8"
|
256
|
+
groups = ["main"]
|
257
|
+
files = [
|
258
|
+
{file = "docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"},
|
259
|
+
{file = "docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c"},
|
260
|
+
]
|
261
|
+
|
262
|
+
[package.dependencies]
|
263
|
+
pywin32 = {version = ">=304", markers = "sys_platform == \"win32\""}
|
264
|
+
requests = ">=2.26.0"
|
265
|
+
urllib3 = ">=1.26.0"
|
266
|
+
|
267
|
+
[package.extras]
|
268
|
+
dev = ["coverage (==7.2.7)", "pytest (==7.4.2)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.1.0)", "ruff (==0.1.8)"]
|
269
|
+
docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"]
|
270
|
+
ssh = ["paramiko (>=2.4.3)"]
|
271
|
+
websockets = ["websocket-client (>=1.3.0)"]
|
129
272
|
|
130
273
|
[[package]]
|
131
274
|
name = "exceptiongroup"
|
@@ -133,6 +276,8 @@ version = "1.2.2"
|
|
133
276
|
description = "Backport of PEP 654 (exception groups)"
|
134
277
|
optional = false
|
135
278
|
python-versions = ">=3.7"
|
279
|
+
groups = ["main"]
|
280
|
+
markers = "python_version == \"3.10\""
|
136
281
|
files = [
|
137
282
|
{file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
|
138
283
|
{file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
|
@@ -147,6 +292,7 @@ version = "0.20.3"
|
|
147
292
|
description = "Simple Python interface for Graphviz"
|
148
293
|
optional = false
|
149
294
|
python-versions = ">=3.8"
|
295
|
+
groups = ["main"]
|
150
296
|
files = [
|
151
297
|
{file = "graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"},
|
152
298
|
{file = "graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"},
|
@@ -157,15 +303,31 @@ dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"]
|
|
157
303
|
docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"]
|
158
304
|
test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"]
|
159
305
|
|
306
|
+
[[package]]
|
307
|
+
name = "idna"
|
308
|
+
version = "3.10"
|
309
|
+
description = "Internationalized Domain Names in Applications (IDNA)"
|
310
|
+
optional = false
|
311
|
+
python-versions = ">=3.6"
|
312
|
+
groups = ["main"]
|
313
|
+
files = [
|
314
|
+
{file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"},
|
315
|
+
{file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
|
316
|
+
]
|
317
|
+
|
318
|
+
[package.extras]
|
319
|
+
all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"]
|
320
|
+
|
160
321
|
[[package]]
|
161
322
|
name = "iniconfig"
|
162
|
-
version = "2.
|
323
|
+
version = "2.0.0"
|
163
324
|
description = "brain-dead simple config-ini parsing"
|
164
325
|
optional = false
|
165
|
-
python-versions = ">=3.
|
326
|
+
python-versions = ">=3.7"
|
327
|
+
groups = ["main"]
|
166
328
|
files = [
|
167
|
-
{file = "iniconfig-2.
|
168
|
-
{file = "iniconfig-2.
|
329
|
+
{file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
|
330
|
+
{file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
|
169
331
|
]
|
170
332
|
|
171
333
|
[[package]]
|
@@ -174,6 +336,7 @@ version = "0.6.3"
|
|
174
336
|
description = "Automatic test case generation and static analysis library"
|
175
337
|
optional = false
|
176
338
|
python-versions = ">=3.6.2,<4.0"
|
339
|
+
groups = ["main"]
|
177
340
|
files = [
|
178
341
|
{file = "klara-0.6.3-py3-none-any.whl", hash = "sha256:9687fb2503e0d0ae1ecc789d88af46d4008522a89db5d542c9c993ee6d0875d2"},
|
179
342
|
{file = "klara-0.6.3.tar.gz", hash = "sha256:8a739b58b94f01b5464ca8d90282cb320e8aff8e221441a43bc423c3595525c1"},
|
@@ -191,6 +354,7 @@ version = "24.2"
|
|
191
354
|
description = "Core utilities for Python packages"
|
192
355
|
optional = false
|
193
356
|
python-versions = ">=3.8"
|
357
|
+
groups = ["main"]
|
194
358
|
files = [
|
195
359
|
{file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
|
196
360
|
{file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
|
@@ -202,6 +366,7 @@ version = "1.5.0"
|
|
202
366
|
description = "plugin and hook calling mechanisms for python"
|
203
367
|
optional = false
|
204
368
|
python-versions = ">=3.8"
|
369
|
+
groups = ["main"]
|
205
370
|
files = [
|
206
371
|
{file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"},
|
207
372
|
{file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"},
|
@@ -217,6 +382,7 @@ version = "8.3.5"
|
|
217
382
|
description = "pytest: simple powerful testing with Python"
|
218
383
|
optional = false
|
219
384
|
python-versions = ">=3.8"
|
385
|
+
groups = ["main"]
|
220
386
|
files = [
|
221
387
|
{file = "pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820"},
|
222
388
|
{file = "pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"},
|
@@ -233,12 +399,62 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""}
|
|
233
399
|
[package.extras]
|
234
400
|
dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
|
235
401
|
|
402
|
+
[[package]]
|
403
|
+
name = "pywin32"
|
404
|
+
version = "310"
|
405
|
+
description = "Python for Window Extensions"
|
406
|
+
optional = false
|
407
|
+
python-versions = "*"
|
408
|
+
groups = ["main"]
|
409
|
+
markers = "sys_platform == \"win32\""
|
410
|
+
files = [
|
411
|
+
{file = "pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1"},
|
412
|
+
{file = "pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d"},
|
413
|
+
{file = "pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213"},
|
414
|
+
{file = "pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd"},
|
415
|
+
{file = "pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c"},
|
416
|
+
{file = "pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582"},
|
417
|
+
{file = "pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d"},
|
418
|
+
{file = "pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060"},
|
419
|
+
{file = "pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966"},
|
420
|
+
{file = "pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab"},
|
421
|
+
{file = "pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e"},
|
422
|
+
{file = "pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33"},
|
423
|
+
{file = "pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c"},
|
424
|
+
{file = "pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36"},
|
425
|
+
{file = "pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a"},
|
426
|
+
{file = "pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475"},
|
427
|
+
]
|
428
|
+
|
429
|
+
[[package]]
|
430
|
+
name = "requests"
|
431
|
+
version = "2.32.3"
|
432
|
+
description = "Python HTTP for Humans."
|
433
|
+
optional = false
|
434
|
+
python-versions = ">=3.8"
|
435
|
+
groups = ["main"]
|
436
|
+
files = [
|
437
|
+
{file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
|
438
|
+
{file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
|
439
|
+
]
|
440
|
+
|
441
|
+
[package.dependencies]
|
442
|
+
certifi = ">=2017.4.17"
|
443
|
+
charset-normalizer = ">=2,<4"
|
444
|
+
idna = ">=2.5,<4"
|
445
|
+
urllib3 = ">=1.21.1,<3"
|
446
|
+
|
447
|
+
[package.extras]
|
448
|
+
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
449
|
+
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
450
|
+
|
236
451
|
[[package]]
|
237
452
|
name = "staticfg"
|
238
453
|
version = "0.9.5"
|
239
454
|
description = "Control flow graph generator for Python3 programs"
|
240
455
|
optional = false
|
241
456
|
python-versions = "*"
|
457
|
+
groups = ["main"]
|
242
458
|
files = [
|
243
459
|
{file = "staticfg-0.9.5-py3-none-any.whl", hash = "sha256:968091fb26ecfdd68d28078de39568c07273f3f3aa107f6352929790e1f2338a"},
|
244
460
|
{file = "staticfg-0.9.5.tar.gz", hash = "sha256:19ac946be56500026297d98b9a2c9a7928ecc47cb8fa53f7585e969856d16ffe"},
|
@@ -254,6 +470,8 @@ version = "2.2.1"
|
|
254
470
|
description = "A lil' TOML parser"
|
255
471
|
optional = false
|
256
472
|
python-versions = ">=3.8"
|
473
|
+
groups = ["main"]
|
474
|
+
markers = "python_version == \"3.10\""
|
257
475
|
files = [
|
258
476
|
{file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"},
|
259
477
|
{file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"},
|
@@ -295,6 +513,7 @@ version = "1.5.5"
|
|
295
513
|
description = "a fork of Python 2 and 3 ast modules with type comment support"
|
296
514
|
optional = false
|
297
515
|
python-versions = ">=3.6"
|
516
|
+
groups = ["main"]
|
298
517
|
files = [
|
299
518
|
{file = "typed_ast-1.5.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4bc1efe0ce3ffb74784e06460f01a223ac1f6ab31c6bc0376a21184bf5aabe3b"},
|
300
519
|
{file = "typed_ast-1.5.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f7a8c46a8b333f71abd61d7ab9255440d4a588f34a21f126bbfc95f6049e686"},
|
@@ -339,12 +558,31 @@ files = [
|
|
339
558
|
{file = "typed_ast-1.5.5.tar.gz", hash = "sha256:94282f7a354f36ef5dbce0ef3467ebf6a258e370ab33d5b40c249fa996e590dd"},
|
340
559
|
]
|
341
560
|
|
561
|
+
[[package]]
|
562
|
+
name = "urllib3"
|
563
|
+
version = "2.4.0"
|
564
|
+
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
565
|
+
optional = false
|
566
|
+
python-versions = ">=3.9"
|
567
|
+
groups = ["main"]
|
568
|
+
files = [
|
569
|
+
{file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"},
|
570
|
+
{file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"},
|
571
|
+
]
|
572
|
+
|
573
|
+
[package.extras]
|
574
|
+
brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
|
575
|
+
h2 = ["h2 (>=4,<5)"]
|
576
|
+
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
577
|
+
zstd = ["zstandard (>=0.18.0)"]
|
578
|
+
|
342
579
|
[[package]]
|
343
580
|
name = "z3-solver"
|
344
581
|
version = "4.13.3.0"
|
345
582
|
description = "an efficient SMT solver library"
|
346
583
|
optional = false
|
347
584
|
python-versions = "*"
|
585
|
+
groups = ["main"]
|
348
586
|
files = [
|
349
587
|
{file = "z3_solver-4.13.3.0-py3-none-macosx_13_0_arm64.whl", hash = "sha256:cae621cb47ebcf055f6a27285343d5c932f4c282b15c5d2840327e73e15a86a4"},
|
350
588
|
{file = "z3_solver-4.13.3.0-py3-none-macosx_13_0_x86_64.whl", hash = "sha256:7900fbd1917164c938a20bea7845f7b95fcb431d0ade474d408f979196bccb8f"},
|
@@ -356,6 +594,6 @@ files = [
|
|
356
594
|
]
|
357
595
|
|
358
596
|
[metadata]
|
359
|
-
lock-version = "2.
|
597
|
+
lock-version = "2.1"
|
360
598
|
python-versions = "^3.10"
|
361
|
-
content-hash = "
|
599
|
+
content-hash = "d9c6341af6c20b82c0a160e681dd00638b498bcf37ba5f964ae0c4068a3f81b7"
|
testgen/docker/pyproject.toml
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
[tool.poetry]
|
2
|
-
name = "
|
3
|
-
version = "0.1.
|
2
|
+
name = "testgenie-py"
|
3
|
+
version = "0.1.6"
|
4
4
|
description = ""
|
5
5
|
authors = ["cjseitz <charlesjseitz@gmail.com>"]
|
6
6
|
readme = "README.md"
|
7
7
|
|
8
|
+
[[tool.poetry.packages]]
|
9
|
+
include = "testgen"
|
10
|
+
|
11
|
+
[tool.poetry.scripts]
|
12
|
+
testgenie = "testgen.main:main"
|
13
|
+
|
8
14
|
[tool.poetry.dependencies]
|
9
15
|
python = "^3.10"
|
10
16
|
astor = "0.8.1"
|
@@ -16,6 +22,7 @@ typed-ast = "1.5.5"
|
|
16
22
|
z3-solver = "4.13.3.0"
|
17
23
|
staticfg = "^0.9.5"
|
18
24
|
pytest = "^8.3.5"
|
25
|
+
docker = "^7.1.0"
|
19
26
|
|
20
27
|
[build-system]
|
21
28
|
requires = ["poetry-core"]
|
@@ -1 +1 @@
|
|
1
|
-
{"(0.0, 0)|add": 1.0147553256632154, "(62.5, 1)|z3": -0.020000000000000004, "(62.5, 3)|add": -0.010000000000000002, "(62.5, 4)|add": 0.18000000000000002, "(87.5, 5)|add": 0.07100000000000001, "(75.0, 1)|add": 0.6092791100000001, "(87.5, 2)|add": 0.18509310000000004, "(87.5, 3)|z3": 0.0, "(87.5, 3)|add": -0.010000000000000002, "(87.5, 4)|add": 0.26100000000000007, "(87.5, 2)|remove": -0.09000000000000001, "(62.5, 1)|add": -0.019000000000000003, "(62.5, 2)|add": -0.010000000000000002, "(62.5, 3)|z3": -0.020000000000000004, "(62.5, 5)|add": -0.010000000000000002, "(62.5, 6)|add": -0.010000000000000002, "(62.5, 7)|add": 0.07100000000000001, "(87.5, 8)|add": -0.010000000000000002, "(87.5, 9)|z3": -0.010000000000000002, "(87.5, 3)|remove": -0.09000000000000001, "(62.5, 2)|z3": -0.020900000000000002, "(62.5, 4)|merge": -0.010000000000000002, "(62.5, 5)|merge": -0.010000000000000002, "(62.5, 6)|remove": 0.010000000000000002, "(62.5, 5)|z3": -0.011000000000000001, "(87.5, 3)|merge": 0.08000000000000002, "(62.5, 4)|remove": 0.010000000000000002, "(62.5, 3)|merge": -0.0009999999999999996, "(87.5, 6)|z3": 0.0, "(87.5, 6)|merge": 0.09000000000000001, "(87.5, 2)|z3": -0.0009999999999999996, "(75.0, 1)|z3": 0.10056590000000001, "(60.0, 1)|add": 0.18917349, "(60.0, 2)|add": 0.17900000000000002, "(70.0, 3)|add": 0.23680000000000007, "(90.0, 4)|add": -0.010000000000000002, "(90.0, 5)|add": 0.1629, "(90.0, 6)|add": -0.01929, "(90.0, 7)|z3": -0.0046099999999999995, "(90.0, 7)|merge": -0.010000000000000002, "(90.0, 8)|add": -0.010000000000000002, "(0.0, 0)|z3": 0.20518, "(60.0, 4)|add": 0.24390000000000006, "(70.0, 5)|add": -0.010000000000000002, "(70.0, 6)|remove": 0.019000000000000003, "(70.0, 5)|z3": -0.020000000000000004, "(70.0, 7)|add": -0.010000000000000002, "(70.0, 8)|z3": -0.020000000000000004, "(70.0, 10)|add": 0.09000000000000001, "(60.0, 2)|z3": 0.08000000000000002, "(70.0, 4)|add": 0.06100000000000001, "(90.0, 5)|z3": -0.010000000000000002, "(90.0, 6)|z3": -0.0029, "(90.0, 6)|merge": -0.010000000000000002, "(90.0, 7)|add": 0.05390000000000001, "(60.0, 1)|z3": 0.26273490000000005, "(70.0, 5)|merge": -0.009, "(70.0, 5)|remove": -0.08100000000000002, "(80.0, 5)|z3": -0.010000000000000002, "(80.0, 6)|add": 0.18449000000000004, "(80.0, 2)|add": -0.010000000000000002, "(80.0, 3)|add": -0.010000000000000002, "(80.0, 4)|z3": 0.053800000000000014, "(90.0, 8)|z3": -0.010000000000000002, "(90.0, 9)|add": -0.010000000000000002, "(80.0, 3)|remove": -0.08100000000000002, "(90.0, 4)|z3": 0.0, "(90.0, 4)|remove": 0.054200000000000005, "(90.0, 3)|add": 0.09000000000000001, "(90.0, 3)|z3": -0.0072000000000000015, "(80.0, 2)|z3": -0.010000000000000002, "(80.0, 3)|z3": -0.0009999999999999996, "(60.0, 4)|remove": 0.010000000000000002, "(60.0, 3)|add": 0.09710000000000002, "(80.0, 5)|add": 0.08944900000000001, "(90.0, 6)|remove": -0.08100000000000002, "(53.84615384615385, 1)|add": 0.3104837900000001, "(76.92307692307693, 2)|remove": -0.09000000000000001, "(61.53846153846154, 1)|add": 0.17100000000000004, "(76.92307692307693, 2)|add": -0.010000000000000002, "(76.92307692307693, 3)|add": 0.081, "(76.92307692307693, 4)|remove": -0.0719, "(76.92307692307693, 3)|z3": 0.0, "(84.61538461538461, 4)|z3": 0.0, "(53.84615384615385, 2)|z3": -0.04000000000000001, "(53.84615384615385, 6)|add": 0.09000000000000001, "(69.23076923076923, 7)|merge": -0.010000000000000002, "(69.23076923076923, 8)|add": 0.15390000000000004, "(76.92307692307693, 9)|add": -0.010000000000000002, "(76.92307692307693, 10)|add": 0.09000000000000001, "(61.53846153846154, 2)|add": -0.010000000000000002, "(61.53846153846154, 3)|add": -0.010000000000000002, "(61.53846153846154, 4)|add": 0.07100000000000001, "(84.61538461538461, 5)|add": -0.010000000000000002, "(84.61538461538461, 6)|add": 0.17100000000000004, "(92.3076923076923, 7)|add": -0.010000000000000002, "(92.3076923076923, 8)|add": -0.010000000000000002, "(69.23076923076923, 2)|add": 0.171, "(69.23076923076923, 3)|merge": -0.010000000000000002, "(69.23076923076923, 4)|add": -0.010000000000000002, "(69.23076923076923, 5)|add": -0.010000000000000002, "(69.23076923076923, 6)|z3": -0.011000000000000001, "(69.23076923076923, 9)|add": -0.010000000000000002, "(69.23076923076923, 2)|z3": -0.030000000000000006, "(69.23076923076923, 5)|remove": 0.019000000000000003, "(69.23076923076923, 4)|z3": -0.030000000000000006, "(69.23076923076923, 7)|add": -0.0029, "(84.61538461538461, 9)|add": 0.09000000000000001, "(92.3076923076923, 10)|add": 0.07100000000000001, "(53.84615384615385, 2)|merge": -0.010000000000000002, "(53.84615384615385, 3)|add": -0.010000000000000002, "(53.84615384615385, 4)|add": 0.09100000000000001, "(69.23076923076923, 4)|remove": 0.010000000000000002, "(69.23076923076923, 3)|add": 0.23471000000000006, "(76.92307692307693, 4)|add": -0.010000000000000002, "(53.84615384615385, 1)|z3": -0.04000000000000001, "(53.84615384615385, 5)|z3": -0.04000000000000001, "(53.84615384615385, 9)|add": 0.09000000000000001, "(69.23076923076923, 10)|add": -0.010000000000000002, "(69.23076923076923, 11)|add": -0.010000000000000002, "(69.23076923076923, 12)|add": -0.010000000000000002, "(76.92307692307693, 2)|z3": 0.09000000000000001, "(84.61538461538461, 3)|add": -0.010000000000000002, "(84.61538461538461, 4)|add": -0.010000000000000002, "(84.61538461538461, 5)|z3": -0.0009999999999999996, "(92.3076923076923, 7)|z3": -0.010000000000000002, "(92.3076923076923, 8)|z3": -0.010000000000000002, "(76.92307692307693, 4)|z3": -0.020000000000000004, "(76.92307692307693, 6)|add": 0.05904900000000002, "(92.3076923076923, 7)|merge": -0.010000000000000002, "(92.3076923076923, 8)|merge": -0.010000000000000002, "(92.3076923076923, 9)|merge": -0.0009999999999999996, "(53.84615384615385, 2)|add": 0.09000000000000001, "(61.53846153846154, 3)|merge": -0.0009999999999999996, "(61.53846153846154, 5)|z3": 0.08000000000000002, "(76.92307692307693, 7)|remove": 0.034390000000000004, "(75.0, 2)|add": -0.010000000000000002, "(75.0, 3)|merge": -0.010000000000000002, "(87.5, 5)|merge": -0.0029, "(100.0, 6)|add": 0.09000000000000001, "(70.0, 3)|z3": 0.10368000000000002, "(70.0, 3)|remove": -0.06632, "(70.0, 4)|merge": -0.0038999999999999994, "(100.0, 8)|add": 0.09000000000000001, "(53.84615384615385, 1)|remove": -0.058951621, "(69.23076923076923, 4)|merge": -0.009, "(69.23076923076923, 7)|z3": -0.030000000000000006, "(69.23076923076923, 6)|remove": 0.010000000000000002, "(69.23076923076923, 9)|z3": -0.030000000000000006, "(84.61538461538461, 10)|add": 0.09000000000000001}
|
1
|
+
{"(0.0, 0)|add": 1.0147553256632154, "(62.5, 1)|z3": -0.020000000000000004, "(62.5, 3)|add": -0.010000000000000002, "(62.5, 4)|add": 0.18000000000000002, "(87.5, 5)|add": 0.06100000000000001, "(75.0, 1)|add": 0.7892791100000003, "(87.5, 2)|add": 0.3650931000000001, "(87.5, 3)|z3": 0.0, "(87.5, 3)|add": 0.0881, "(87.5, 4)|add": 0.26100000000000007, "(87.5, 2)|remove": -0.09000000000000001, "(62.5, 1)|add": 0.07100000000000001, "(62.5, 2)|add": -0.019000000000000003, "(62.5, 3)|z3": -0.020000000000000004, "(62.5, 5)|add": -0.010000000000000002, "(62.5, 6)|add": -0.010000000000000002, "(62.5, 7)|add": 0.07100000000000001, "(87.5, 8)|add": -0.010000000000000002, "(87.5, 9)|z3": -0.010000000000000002, "(87.5, 3)|remove": -0.09000000000000001, "(62.5, 2)|z3": -0.020900000000000002, "(62.5, 4)|merge": -0.010000000000000002, "(62.5, 5)|merge": -0.010000000000000002, "(62.5, 6)|remove": 0.010000000000000002, "(62.5, 5)|z3": -0.011000000000000001, "(87.5, 3)|merge": 0.08000000000000002, "(62.5, 4)|remove": 0.010000000000000002, "(62.5, 3)|merge": -0.0009999999999999996, "(87.5, 6)|z3": 0.0, "(87.5, 6)|merge": 0.09000000000000001, "(87.5, 2)|z3": -0.0009999999999999996, "(75.0, 1)|z3": 0.10056590000000001, "(60.0, 1)|add": 0.37652963100000003, "(60.0, 2)|add": 0.169, "(70.0, 3)|add": 0.23680000000000007, "(90.0, 4)|add": 0.08319800000000001, "(90.0, 5)|add": 0.1629, "(90.0, 6)|add": 0.07234900000000001, "(90.0, 7)|z3": -0.0046099999999999995, "(90.0, 7)|merge": -0.010000000000000002, "(90.0, 8)|add": -0.019000000000000003, "(0.0, 0)|z3": 0.20518, "(60.0, 4)|add": 0.24390000000000006, "(70.0, 5)|add": -0.010000000000000002, "(70.0, 6)|remove": 0.019000000000000003, "(70.0, 5)|z3": -0.020000000000000004, "(70.0, 7)|add": -0.010000000000000002, "(70.0, 8)|z3": -0.020000000000000004, "(70.0, 10)|add": 0.09000000000000001, "(60.0, 2)|z3": 0.08000000000000002, "(70.0, 4)|add": 0.06100000000000001, "(90.0, 5)|z3": -0.010000000000000002, "(90.0, 6)|z3": -0.0029, "(90.0, 6)|merge": -0.010000000000000002, "(90.0, 7)|add": 0.04390000000000001, "(60.0, 1)|z3": 0.26273490000000005, "(70.0, 5)|merge": -0.009, "(70.0, 5)|remove": -0.08100000000000002, "(80.0, 5)|z3": -0.001104690000000002, "(80.0, 6)|add": 0.18449000000000004, "(80.0, 2)|add": 0.07100000000000001, "(80.0, 3)|add": -0.019000000000000003, "(80.0, 4)|z3": 0.04380000000000001, "(90.0, 8)|z3": -0.010000000000000002, "(90.0, 9)|add": -0.010000000000000002, "(80.0, 3)|remove": -0.13661000000000004, "(90.0, 4)|z3": 0.0, "(90.0, 4)|remove": 0.054200000000000005, "(90.0, 3)|add": 0.18000000000000002, "(90.0, 3)|z3": -0.0072000000000000015, "(80.0, 2)|z3": -0.011900000000000003, "(80.0, 3)|z3": -0.0009999999999999996, "(60.0, 4)|remove": 0.010000000000000002, "(60.0, 3)|add": 0.08710000000000002, "(80.0, 5)|add": 0.079449, "(90.0, 6)|remove": -0.08100000000000002, "(53.84615384615385, 1)|add": 1.2104837900000005, "(76.92307692307693, 2)|remove": -0.09000000000000001, "(61.53846153846154, 1)|add": 0.17100000000000004, "(76.92307692307693, 2)|add": -0.010000000000000002, "(76.92307692307693, 3)|add": 0.171, "(76.92307692307693, 4)|remove": -0.0719, "(76.92307692307693, 3)|z3": 0.0, "(84.61538461538461, 4)|z3": 0.0, "(53.84615384615385, 2)|z3": -0.04000000000000001, "(53.84615384615385, 6)|add": 0.08000000000000002, "(69.23076923076923, 7)|merge": -0.010000000000000002, "(69.23076923076923, 8)|add": 0.15390000000000004, "(76.92307692307693, 9)|add": -0.010000000000000002, "(76.92307692307693, 10)|add": 0.09000000000000001, "(61.53846153846154, 2)|add": -0.010000000000000002, "(61.53846153846154, 3)|add": -0.010000000000000002, "(61.53846153846154, 4)|add": 0.07100000000000001, "(84.61538461538461, 5)|add": -0.010000000000000002, "(84.61538461538461, 6)|add": 0.17100000000000004, "(92.3076923076923, 7)|add": -0.010000000000000002, "(92.3076923076923, 8)|add": -0.010000000000000002, "(69.23076923076923, 2)|add": 0.261, "(69.23076923076923, 3)|merge": -0.010000000000000002, "(69.23076923076923, 4)|add": -0.010000000000000002, "(69.23076923076923, 5)|add": -0.010000000000000002, "(69.23076923076923, 6)|z3": -0.011000000000000001, "(69.23076923076923, 9)|add": -0.010000000000000002, "(69.23076923076923, 2)|z3": -0.030000000000000006, "(69.23076923076923, 5)|remove": 0.019000000000000003, "(69.23076923076923, 4)|z3": -0.030000000000000006, "(69.23076923076923, 7)|add": -0.0029, "(84.61538461538461, 9)|add": 0.09000000000000001, "(92.3076923076923, 10)|add": 0.06100000000000001, "(53.84615384615385, 2)|merge": -0.010000000000000002, "(53.84615384615385, 3)|add": -0.05217031000000001, "(53.84615384615385, 4)|add": 0.08100000000000002, "(69.23076923076923, 4)|remove": 0.020000000000000004, "(69.23076923076923, 3)|add": 0.23471000000000006, "(76.92307692307693, 4)|add": 0.07100000000000001, "(53.84615384615385, 1)|z3": 0.004048379000000005, "(53.84615384615385, 5)|z3": -0.04000000000000001, "(53.84615384615385, 9)|add": 0.09000000000000001, "(69.23076923076923, 10)|add": -0.010000000000000002, "(69.23076923076923, 11)|add": -0.010000000000000002, "(69.23076923076923, 12)|add": -0.010000000000000002, "(76.92307692307693, 2)|z3": 0.09000000000000001, "(84.61538461538461, 3)|add": -0.010000000000000002, "(84.61538461538461, 4)|add": -0.010000000000000002, "(84.61538461538461, 5)|z3": -0.0009999999999999996, "(92.3076923076923, 7)|z3": 0.07100000000000001, "(92.3076923076923, 8)|z3": 0.13290000000000002, "(76.92307692307693, 4)|z3": -0.020000000000000004, "(76.92307692307693, 6)|add": 0.05904900000000002, "(92.3076923076923, 7)|merge": -0.010000000000000002, "(92.3076923076923, 8)|merge": -0.010000000000000002, "(92.3076923076923, 9)|merge": -0.010900000000000002, "(53.84615384615385, 2)|add": 0.0027670000000000142, "(61.53846153846154, 3)|merge": -0.0009999999999999996, "(61.53846153846154, 5)|z3": 0.08000000000000002, "(76.92307692307693, 7)|remove": 0.034390000000000004, "(75.0, 2)|add": -0.010000000000000002, "(75.0, 3)|merge": -0.010000000000000002, "(87.5, 5)|merge": -0.0029, "(100.0, 6)|add": 0.18000000000000002, "(70.0, 3)|z3": 0.10368000000000002, "(70.0, 3)|remove": -0.06632, "(70.0, 4)|merge": -0.0038999999999999994, "(100.0, 8)|add": 0.09000000000000001, "(53.84615384615385, 1)|remove": 0.11934110709000006, "(69.23076923076923, 4)|merge": -0.009, "(69.23076923076923, 7)|z3": -0.030000000000000006, "(69.23076923076923, 6)|remove": 0.010000000000000002, "(69.23076923076923, 9)|z3": -0.030000000000000006, "(84.61538461538461, 10)|add": 0.09000000000000001, "(87.5, 4)|merge": 0.016100000000000007, "(80.0, 4)|merge": -0.004619999999999999, "(69.23076923076923, 3)|z3": 0.09347100000000001, "(69.23076923076923, 5)|z3": -0.0181, "(69.23076923076923, 3)|remove": 0.03347100000000001, "(36.36363636363637, 1)|add": 0.09000000000000001, "(36.36363636363637, 2)|add": -0.010000000000000002, "(54.54545454545454, 5)|z3": 0.06999999999999999, "(54.54545454545454, 6)|merge": -0.010000000000000002, "(54.54545454545454, 8)|z3": -0.020000000000000004, "(72.72727272727273, 5)|z3": 0.010000000000000002, "(72.72727272727273, 8)|z3": -0.030000000000000006, "(81.81818181818183, 9)|add": 0.09000000000000001, "(81.81818181818183, 10)|add": -0.010000000000000002, "(66.66666666666666, 1)|add": 0.18000000000000002, "(100.0, 2)|add": 0.36, "(80.0, 1)|add": 0.27, "(80.0, 1)|z3": 0.009000000000000001, "(100.0, 3)|add": 0.18000000000000002, "(85.71428571428571, 1)|add": 0.09000000000000001, "(63.63636363636363, 1)|add": 0.54, "(81.81818181818183, 2)|add": 0.27, "(81.81818181818183, 4)|z3": 0.06200000000000001, "(90.9090909090909, 5)|add": 0.09000000000000001, "(81.81818181818183, 4)|remove": -0.09000000000000001, "(72.72727272727273, 2)|add": 0.18000000000000002, "(72.72727272727273, 3)|add": -0.019000000000000003, "(72.72727272727273, 7)|z3": -0.038000000000000006, "(63.63636363636363, 2)|add": -0.010000000000000002, "(81.81818181818183, 6)|z3": -0.020000000000000004, "(90.9090909090909, 7)|add": 0.09000000000000001, "(90.9090909090909, 3)|add": 0.09000000000000001, "(90.9090909090909, 4)|add": -0.010000000000000002, "(90.9090909090909, 5)|z3": -0.0009999999999999996, "(81.81818181818183, 3)|add": -0.010000000000000002, "(81.81818181818183, 5)|z3": -0.020000000000000004, "(81.81818181818183, 6)|add": -0.010000000000000002, "(72.72727272727273, 8)|add": -0.010000000000000002, "(37.17277486910995, 1)|add": 0.09000000000000001, "(39.79057591623037, 61)|z3": -0.5, "(53.84615384615385, 3)|z3": 0.0, "(53.84615384615385, 2)|remove": 0.029300000000000007, "(53.84615384615385, 3)|merge": -0.019000000000000003, "(50.0, 1)|add": 0.18000000000000002, "(50.0, 2)|add": -0.04341690000000001, "(50.0, 2)|z3": 0.0, "(50.0, 3)|add": -0.018000000000000002, "(50.0, 3)|z3": 0.0, "(50.0, 4)|add": -0.010000000000000002, "(50.0, 4)|z3": -0.020000000000000004, "(53.84615384615385, 8)|z3": -0.095, "(53.84615384615385, 13)|z3": -0.094, "(53.84615384615385, 14)|add": -0.010000000000000002, "(53.84615384615385, 13)|remove": 0.010000000000000002, "(50.0, 3)|remove": 0.010000000000000002, "(50.0, 2)|remove": 0.010000000000000002, "(50.0, 1)|remove": 0.09629200000000002, "(100.0, 4)|add": 0.09000000000000001, "(80.0, 4)|add": 0.09438000000000002, "(90.0, 9)|merge": -0.010000000000000002, "(76.92307692307693, 5)|add": -0.010000000000000002, "(84.61538461538461, 7)|remove": -0.09000000000000001, "(84.61538461538461, 8)|add": -0.010000000000000002, "(92.3076923076923, 11)|add": -0.010000000000000002, "(55.55555555555556, 1)|add": 0.7200000000000001, "(88.88888888888889, 3)|z3": 0.16000000000000006, "(88.88888888888889, 4)|merge": -0.010000000000000002, "(88.88888888888889, 5)|add": -0.010000000000000002, "(88.88888888888889, 5)|z3": 0.17000000000000007, "(53.84615384615385, 6)|z3": -0.03821000000000001, "(53.84615384615385, 7)|merge": -0.010000000000000002, "(53.84615384615385, 6)|remove": 0.03610000000000001, "(53.84615384615385, 7)|add": -0.027100000000000006, "(53.84615384615385, 12)|z3": -0.1345, "(53.84615384615385, 13)|add": -0.024389999999999995, "(55.55555555555556, 2)|add": -0.05217031000000001, "(88.88888888888889, 4)|z3": 0.16000000000000006, "(77.77777777777779, 3)|remove": -0.09000000000000001, "(77.77777777777779, 4)|add": -0.010000000000000002, "(53.84615384615385, 12)|remove": 0.020000000000000004, "(53.84615384615385, 13)|merge": -0.009, "(88.88888888888889, 4)|add": -0.001999999999999998, "(66.66666666666666, 3)|remove": -0.09000000000000001, "(66.66666666666666, 4)|add": -0.010000000000000002, "(66.66666666666666, 5)|merge": -0.010000000000000002, "(66.66666666666666, 6)|add": -0.010000000000000002, "(92.3076923076923, 9)|add": -0.010000000000000002, "(55.55555555555556, 1)|remove": 0.046, "(55.55555555555556, 3)|add": -0.010000000000000002, "(88.88888888888889, 6)|merge": -0.010000000000000002, "(88.88888888888889, 7)|add": -0.010000000000000002, "(88.88888888888889, 8)|add": -0.010000000000000002, "(53.84615384615385, 11)|remove": 0.010000000000000002, "(53.84615384615385, 10)|remove": 0.010000000000000002, "(53.84615384615385, 9)|remove": 0.019000000000000003, "(53.84615384615385, 10)|add": -0.009, "(88.88888888888889, 5)|merge": 0.007000000000000006, "(53.84615384615385, 7)|z3": -0.05, "(53.84615384615385, 8)|add": -0.010000000000000002, "(53.84615384615385, 7)|remove": 0.010000000000000002, "(53.84615384615385, 5)|remove": 0.010000000000000002, "(55.55555555555556, 4)|z3": -0.05420000000000001, "(55.55555555555556, 5)|add": -0.027100000000000006, "(55.55555555555556, 7)|z3": -0.05320000000000001, "(55.55555555555556, 8)|merge": -0.010000000000000002, "(55.55555555555556, 9)|add": -0.010000000000000002, "(55.55555555555556, 8)|remove": 0.010000000000000002, "(55.55555555555556, 10)|z3": -0.020000000000000004, "(55.55555555555556, 8)|add": -0.009, "(55.55555555555556, 7)|remove": 0.010000000000000002, "(55.55555555555556, 6)|remove": 0.020000000000000004, "(55.55555555555556, 7)|add": -0.009, "(55.55555555555556, 9)|z3": -0.020000000000000004, "(55.55555555555556, 10)|merge": -0.010000000000000002, "(55.55555555555556, 12)|z3": -0.020000000000000004}
|
@@ -12,10 +12,11 @@ from testgen.models.test_case import TestCase
|
|
12
12
|
|
13
13
|
|
14
14
|
class ReinforcementEnvironment:
|
15
|
-
def __init__(self, file_name, fut: ast.FunctionDef, module, initial_test_cases: List[TestCase], state: AbstractState):
|
15
|
+
def __init__(self, file_name, fut: ast.FunctionDef, module, class_name: str | None, initial_test_cases: List[TestCase], state: AbstractState):
|
16
16
|
self.file_name = file_name
|
17
17
|
self.fut = fut
|
18
18
|
self.module = module
|
19
|
+
self.class_name = class_name
|
19
20
|
self.initial_test_cases = initial_test_cases
|
20
21
|
self.test_cases = initial_test_cases.copy()
|
21
22
|
self.state = state
|
@@ -32,13 +33,13 @@ class ReinforcementEnvironment:
|
|
32
33
|
|
33
34
|
# Execute action
|
34
35
|
if action == "add":
|
35
|
-
self.test_cases.append(randomizer.new_random_test_case(self.file_name, self.fut))
|
36
|
+
self.test_cases.append(randomizer.new_random_test_case(self.file_name, self.class_name, self.fut))
|
36
37
|
elif action == "merge" and len(self.test_cases) > 1:
|
37
38
|
self.test_cases.append(randomizer.combine_cases(self.test_cases))
|
38
39
|
elif action == "remove" and len(self.test_cases) > 1:
|
39
40
|
self.test_cases = randomizer.remove_case(self.test_cases)
|
40
41
|
elif action == "z3":
|
41
|
-
self.test_cases = randomizer.get_z3_test_cases(self.file_name, self.fut, self.test_cases)
|
42
|
+
self.test_cases = randomizer.get_z3_test_cases(self.file_name, self.class_name, self.fut, self.test_cases)
|
42
43
|
else:
|
43
44
|
raise ValueError("Invalid action")
|
44
45
|
|
@@ -97,26 +98,52 @@ class ReinforcementEnvironment:
|
|
97
98
|
|
98
99
|
test_cases = [tc for tc in self.test_cases if tc.func_name == self.fut.name]
|
99
100
|
|
101
|
+
executable_lines = set()
|
100
102
|
if not test_cases:
|
101
103
|
print("Warning: No test cases available to determine executable statements")
|
102
104
|
from testgen.util.randomizer import new_random_test_case
|
103
|
-
temp_case = new_random_test_case(self.file_name, self.fut)
|
104
|
-
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.file_name, self.fut.name, temp_case.inputs)
|
105
|
+
temp_case = new_random_test_case(self.file_name, self.class_name, self.fut)
|
106
|
+
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.file_name, self.class_name, self.fut.name, temp_case.inputs)
|
107
|
+
executable_lines.update(analysis[1]) # Add executable lines from coverage analysis
|
105
108
|
else:
|
106
|
-
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.file_name, self.fut.name, test_cases[0].inputs)
|
109
|
+
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.file_name, self.class_name, self.fut.name, test_cases[0].inputs)
|
107
110
|
|
111
|
+
executable_lines.update(analysis[1]) # Add executable lines from coverage analysis
|
108
112
|
# Get standard executable lines from coverage.py
|
109
|
-
executable_lines = list(
|
113
|
+
executable_lines = list(executable_lines)
|
110
114
|
|
111
115
|
# Parse the source file to find else branches
|
112
116
|
with open(self.file_name, 'r') as f:
|
113
117
|
source = f.read()
|
114
118
|
|
115
119
|
# Parse the code
|
116
|
-
tree = ast.parse(source)
|
117
|
-
|
120
|
+
tree = ast.parse(source)
|
118
121
|
# Find our specific function
|
119
122
|
for node in ast.walk(tree):
|
123
|
+
if isinstance(node, ast.ClassDef) and node.name == self.class_name:
|
124
|
+
# If we have a class, find the method
|
125
|
+
for method in node.body:
|
126
|
+
if isinstance(method, ast.FunctionDef) and method.name == self.fut.name:
|
127
|
+
# Find all if statements in this method
|
128
|
+
for if_node in ast.walk(method):
|
129
|
+
if isinstance(if_node, ast.If) and if_node.orelse:
|
130
|
+
# There's an else branch
|
131
|
+
if isinstance(if_node.orelse[0], ast.If):
|
132
|
+
# This is an elif - already counted
|
133
|
+
continue
|
134
|
+
|
135
|
+
# Get the line number of the first statement in the else block
|
136
|
+
# and subtract 1 to get the 'else:' line
|
137
|
+
else_line = if_node.orelse[0].lineno - 1
|
138
|
+
|
139
|
+
# Check if this is actually an else line (not a nested if)
|
140
|
+
with open(self.file_name, 'r') as f:
|
141
|
+
lines = f.readlines()
|
142
|
+
if else_line <= len(lines):
|
143
|
+
line_content = lines[else_line - 1].strip()
|
144
|
+
if line_content == "else:":
|
145
|
+
if else_line not in executable_lines:
|
146
|
+
executable_lines.append(else_line)
|
120
147
|
if isinstance(node, ast.FunctionDef) and node.name == self.fut.name:
|
121
148
|
# Find all if statements in this function
|
122
149
|
for if_node in ast.walk(node):
|
@@ -153,7 +180,12 @@ class ReinforcementEnvironment:
|
|
153
180
|
for test_case in self.test_cases:
|
154
181
|
try:
|
155
182
|
module = testgen.util.file_utils.load_module(self.file_name)
|
156
|
-
|
183
|
+
if self.class_name:
|
184
|
+
class_obj = getattr(module, self.class_name)
|
185
|
+
instance = class_obj()
|
186
|
+
func = getattr(instance, self.fut.name)
|
187
|
+
else:
|
188
|
+
func = getattr(module, self.fut.name)
|
157
189
|
_ = func(*test_case.inputs)
|
158
190
|
except Exception as e:
|
159
191
|
import traceback
|
@@ -12,7 +12,7 @@ class StatementCoverageState(AbstractState):
|
|
12
12
|
"""Returns calculated coverage and length of test cases in a tuple"""
|
13
13
|
all_covered_statements = set()
|
14
14
|
for test_case in self.environment.test_cases:
|
15
|
-
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.environment.file_name, self.environment.fut.name, test_case.inputs)
|
15
|
+
analysis = testgen.util.coverage_utils.get_coverage_analysis(self.environment.file_name, self.environment.class_name, self.environment.fut.name, test_case.inputs)
|
16
16
|
covered = testgen.util.coverage_utils.get_list_of_covered_statements(analysis)
|
17
17
|
all_covered_statements.update(covered)
|
18
18
|
|