shrinkray 25.12.28.0__py3-none-any.whl → 26.1.1.0__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.
- shrinkray/__main__.py +48 -1
- shrinkray/history.py +446 -0
- shrinkray/state.py +289 -88
- shrinkray/subprocess/client.py +53 -4
- shrinkray/subprocess/protocol.py +18 -1
- shrinkray/subprocess/worker.py +253 -42
- shrinkray/tui.py +1124 -43
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/METADATA +7 -2
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/RECORD +13 -12
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/WHEEL +0 -0
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/entry_points.txt +0 -0
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/licenses/LICENSE +0 -0
- {shrinkray-25.12.28.0.dist-info → shrinkray-26.1.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shrinkray
|
|
3
|
-
Version:
|
|
3
|
+
Version: 26.1.1.0
|
|
4
4
|
Summary: Shrink Ray
|
|
5
5
|
Author-email: "David R. MacIver" <david@drmaciver.com>
|
|
6
6
|
License: MIT
|
|
@@ -16,6 +16,7 @@ Requires-Dist: click>=8.0.1
|
|
|
16
16
|
Requires-Dist: chardet>=5.2.0
|
|
17
17
|
Requires-Dist: trio>=0.28.0
|
|
18
18
|
Requires-Dist: textual>=0.47.0
|
|
19
|
+
Requires-Dist: textual-plotext>=0.2.0
|
|
19
20
|
Requires-Dist: humanize>=4.9.0
|
|
20
21
|
Requires-Dist: libcst>=1.1.0
|
|
21
22
|
Requires-Dist: exceptiongroup>=1.2.0
|
|
@@ -28,6 +29,8 @@ Requires-Dist: hypothesmith>=0.3.1; extra == "dev"
|
|
|
28
29
|
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
29
30
|
Requires-Dist: pytest-trio>=0.8.0; extra == "dev"
|
|
30
31
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-xdist>=3.5.0; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
31
34
|
Requires-Dist: syrupy>=5.0.0; extra == "dev"
|
|
32
35
|
Requires-Dist: jinja2>=3.0.0; extra == "dev"
|
|
33
36
|
Requires-Dist: coverage[toml]>=7.4.0; extra == "dev"
|
|
@@ -78,7 +81,9 @@ shrinkray (or any other test-case reducer) then systematically tries smaller and
|
|
|
78
81
|
|
|
79
82
|
While it runs, you will see the following user interface:
|
|
80
83
|
|
|
81
|
-

|
|
85
|
+
|
|
86
|
+
(This is a toy example based on reducing a ridiculously bad version of hello world)
|
|
82
87
|
|
|
83
88
|
When it finishes you will be left with the reduced test case in `mytestcase.py`.
|
|
84
89
|
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
shrinkray/__init__.py,sha256=b5MvcvhsEGYya3GRXNbCJAlAL5IZHSsETLK_vtfmXRY,18
|
|
2
|
-
shrinkray/__main__.py,sha256=
|
|
2
|
+
shrinkray/__main__.py,sha256=ScRobI0sUwq7bDow9gW4_vrDoceXbR9BM7fZnzh2J8E,13676
|
|
3
3
|
shrinkray/cli.py,sha256=1-qjaIchyCDd-YCdGWtK7q9j9qr6uX6AqtwW8m5QCQg,1697
|
|
4
4
|
shrinkray/formatting.py,sha256=tXCGnhJn-WJGpHMaLHRCAXK8aKJBbrOdiW9QGERrQEk,3121
|
|
5
|
+
shrinkray/history.py,sha256=atQPBG15gOBDT4SXrBk3wnQ_Vz9cvCYa_tmTqy21LEo,16274
|
|
5
6
|
shrinkray/problem.py,sha256=_edENYk8OC5o_2ng0WZrhIfilhlY5IuOrqt0qWBZAuM,25979
|
|
6
7
|
shrinkray/process.py,sha256=-eP8h5X0ESbkcTic8FFEzkd4-vwaZ0YI5tLxUR25L8U,1599
|
|
7
8
|
shrinkray/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
9
|
shrinkray/reducer.py,sha256=8CF_SxkfVMBxiikQKwv-rlrQawTLhQxy6QnVwIWWiws,18601
|
|
9
|
-
shrinkray/state.py,sha256=
|
|
10
|
-
shrinkray/tui.py,sha256=
|
|
10
|
+
shrinkray/state.py,sha256=gDKz1jov84lEih-7jtYcYoWfIS2k2YtBtWuJmcAx6Is,38478
|
|
11
|
+
shrinkray/tui.py,sha256=FKg5ETDC0gxurCYJpW0BLJGm9rPGRCiQC7PD0WYXfOg,73572
|
|
11
12
|
shrinkray/ui.py,sha256=xuDUwU-MM3AetvwUB7bfzav0P_drUsBrKFPhON_Nr-k,2251
|
|
12
13
|
shrinkray/validation.py,sha256=piBCO-k9he_id6TWC4EHMK3GfuyPqRcNfkNJPVjxEaU,13366
|
|
13
14
|
shrinkray/work.py,sha256=GEZ14Kk3bvwUxAnACvY-wom2lVWaGrELMNxrDjv03dk,8110
|
|
@@ -22,12 +23,12 @@ shrinkray/passes/python.py,sha256=3WN1lZTf5oVL8FCTGomhrCuE04wIX9ocKcmFV86NMZA,68
|
|
|
22
23
|
shrinkray/passes/sat.py,sha256=OboY6jsKf6lph3pAFh535plvhNOVzEF8HJ66WEqsNm4,19483
|
|
23
24
|
shrinkray/passes/sequences.py,sha256=-5ajmMeHnS7onjjppbxLiP0F6mRSqiFI5DspBTj2x_M,2206
|
|
24
25
|
shrinkray/subprocess/__init__.py,sha256=qxZ19Nzizbm7H0MkKL38OqfP7U-VuOAvaqBVkmHFivY,375
|
|
25
|
-
shrinkray/subprocess/client.py,sha256=
|
|
26
|
-
shrinkray/subprocess/protocol.py,sha256=
|
|
27
|
-
shrinkray/subprocess/worker.py,sha256=
|
|
28
|
-
shrinkray-
|
|
29
|
-
shrinkray-
|
|
30
|
-
shrinkray-
|
|
31
|
-
shrinkray-
|
|
32
|
-
shrinkray-
|
|
33
|
-
shrinkray-
|
|
26
|
+
shrinkray/subprocess/client.py,sha256=c430-qYlLlVDHoaCt2Ho2ZjbIKaGYroyt6qXfp3tvkQ,11336
|
|
27
|
+
shrinkray/subprocess/protocol.py,sha256=86sSxexQpPpr4W2C1y0V5Ddqoqb-1LfHa2wKjJSzmJA,7340
|
|
28
|
+
shrinkray/subprocess/worker.py,sha256=Spy2DjzJGHgFmr9PTxkd68q1REoymWcA4Ls4iDD36tE,31373
|
|
29
|
+
shrinkray-26.1.1.0.dist-info/licenses/LICENSE,sha256=iMKX79AuokJfIZUnGUARdUp30vVAoIPOJ7ek8TY63kk,1072
|
|
30
|
+
shrinkray-26.1.1.0.dist-info/METADATA,sha256=2KKaq4d5_2a4VuHR_paZ_4zOz8YrtkxvOzo-K7fnOTc,7836
|
|
31
|
+
shrinkray-26.1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
32
|
+
shrinkray-26.1.1.0.dist-info/entry_points.txt,sha256=wIZvnGyOdVeaLTiv2klnSyTe-EKkkwn4SwHh9bmJ7qk,104
|
|
33
|
+
shrinkray-26.1.1.0.dist-info/top_level.txt,sha256=fLif8-rFoFOnf5h8-vs3ECkKNWQopTQh3xvl1s7pchQ,10
|
|
34
|
+
shrinkray-26.1.1.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|