retracesoftware-proxy 0.2.7__py3-none-any.whl → 0.2.9__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.
- retracesoftware/__main__.py +3 -0
- retracesoftware/install/edgecases.py +11 -3
- retracesoftware/modules.toml +4 -0
- retracesoftware/run.py +36 -36
- {retracesoftware_proxy-0.2.7.dist-info → retracesoftware_proxy-0.2.9.dist-info}/METADATA +1 -1
- {retracesoftware_proxy-0.2.7.dist-info → retracesoftware_proxy-0.2.9.dist-info}/RECORD +8 -8
- {retracesoftware_proxy-0.2.7.dist-info → retracesoftware_proxy-0.2.9.dist-info}/WHEEL +0 -0
- {retracesoftware_proxy-0.2.7.dist-info → retracesoftware_proxy-0.2.9.dist-info}/top_level.txt +0 -0
retracesoftware/__main__.py
CHANGED
|
@@ -91,6 +91,9 @@ def record(options, args):
|
|
|
91
91
|
# ensure the path exists
|
|
92
92
|
path.mkdir(parents=True, exist_ok=True)
|
|
93
93
|
|
|
94
|
+
from retracesoftware.proxy import edgecases
|
|
95
|
+
edgecases.recording_path = path
|
|
96
|
+
|
|
94
97
|
# write various recording files to directory
|
|
95
98
|
dump_as_json(path / 'settings.json', {
|
|
96
99
|
'argv': args,
|
|
@@ -118,14 +118,22 @@ def transform_argument(target : callable, position : int, name : str, transform
|
|
|
118
118
|
|
|
119
119
|
return wrapper
|
|
120
120
|
|
|
121
|
+
subprocess_counter = 0
|
|
122
|
+
recording_path = None
|
|
123
|
+
|
|
124
|
+
def next_subprocess_path():
|
|
125
|
+
global subprocess_counter
|
|
126
|
+
path = f'subprocess-{subprocess_counter}'
|
|
127
|
+
subprocess_counter += 1
|
|
128
|
+
return recording_path / path
|
|
129
|
+
|
|
121
130
|
def retrace_env():
|
|
122
|
-
import threading
|
|
123
131
|
|
|
124
132
|
env = {
|
|
125
|
-
'RETRACE_RECORDING_PATH':
|
|
133
|
+
'RETRACE_RECORDING_PATH': next_subprocess_path(),
|
|
126
134
|
# 'RETRACE_PARENT_THREAD_ID': threading.current_thread().__retrace_thread_id__,
|
|
127
135
|
# 'RETRACE_PARENT_EXEC_COUNTER': str(next_exec_counter()
|
|
128
|
-
'
|
|
136
|
+
# 'RETRACE': 'true'
|
|
129
137
|
# 'RETRACE_MODE': 'proxy' if os.getenv('RETRACE_MODE') == 'proxy' else 'record'
|
|
130
138
|
}
|
|
131
139
|
# a timestamped directory off current directory
|
retracesoftware/modules.toml
CHANGED
|
@@ -25,6 +25,10 @@ PyDB.disable = ["enable_tracing", "set_suspend", "do_wait_suspend"]
|
|
|
25
25
|
["_pydevd_bundle.pydevd_trace_dispatch_regular".type_attributes]
|
|
26
26
|
ThreadTracer.disable = ["__call__"]
|
|
27
27
|
|
|
28
|
+
["_pydevd_bundle.pydevd_cython".type_attributes]
|
|
29
|
+
ThreadTracer.disable = ["__call__"]
|
|
30
|
+
|
|
31
|
+
|
|
28
32
|
[sys]
|
|
29
33
|
disable = ["excepthook"]
|
|
30
34
|
|
retracesoftware/run.py
CHANGED
|
@@ -201,42 +201,42 @@ def patch_import(thread_state, patcher, sync, checkpoint):
|
|
|
201
201
|
utils.wrap_func_with_overrides,
|
|
202
202
|
exec = thread_state.dispatch(builtins.exec, importing = thread_state.wrap('internal', sync(exec))))
|
|
203
203
|
|
|
204
|
-
preload = [
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
204
|
+
# preload = [
|
|
205
|
+
# "logging",
|
|
206
|
+
# "pathlib",
|
|
207
|
+
# "_signal",
|
|
208
|
+
# "_posixsubprocess",
|
|
209
|
+
# "socket",
|
|
210
|
+
# "select",
|
|
211
|
+
# "ssl",
|
|
212
|
+
# "random",
|
|
213
|
+
# "email",
|
|
214
|
+
# "email.errors",
|
|
215
|
+
# "http.client",
|
|
216
|
+
|
|
217
|
+
# "json",
|
|
218
|
+
# "typing",
|
|
219
|
+
# "queue",
|
|
220
|
+
# "mimetypes",
|
|
221
|
+
# "tempfile",
|
|
222
|
+
# "zipfile",
|
|
223
|
+
# "importlib.resources",
|
|
224
|
+
# "importlib.metadata",
|
|
225
|
+
# "encodings.idna"
|
|
226
|
+
|
|
227
|
+
# # "http.client",
|
|
228
|
+
# # "queue",
|
|
229
|
+
# # "mimetypes",
|
|
230
|
+
# # "encodings.idna",
|
|
231
|
+
# # "hmac",
|
|
232
|
+
# # "ipaddress",
|
|
233
|
+
# # "tempfile",
|
|
234
|
+
# # "zipfile",
|
|
235
|
+
# # "importlib.resources",
|
|
236
|
+
# # "importlib.metadata",
|
|
237
|
+
# # "atexit",
|
|
238
|
+
# # "weakref"
|
|
239
|
+
# ]
|
|
240
240
|
|
|
241
241
|
# def debugger_is_active():
|
|
242
242
|
# return sys.gettrace() and 'debugpy' in sys.modules
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
retracesoftware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
retracesoftware/__main__.py,sha256=
|
|
2
|
+
retracesoftware/__main__.py,sha256=rSWCBMCGEIQC4cis9Om1EPJqihmHfhOqfVvkstK3a6A,9194
|
|
3
3
|
retracesoftware/autoenable.py,sha256=s7dSykM0y3xVqRzrWouGgoed4-lMNRhdA7Gnm1f04NA,1772
|
|
4
4
|
retracesoftware/config.json,sha256=Cw5YZCfTo8GLmtbTH2LYwST7wNe7925DAwsTtRIGhBE,3817
|
|
5
5
|
retracesoftware/config.yaml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
retracesoftware/modules.toml,sha256=
|
|
6
|
+
retracesoftware/modules.toml,sha256=rQkTbb8eU88JxHdht1sDV3vZvXQAUYBOuyG5xrIaFJw,14623
|
|
7
7
|
retracesoftware/preload.txt,sha256=8Wm8OWnDfEp9X4FN-yNQYLfZk_h36kMgHA_QUw_7Hbs,2370
|
|
8
8
|
retracesoftware/replay.py,sha256=rKuhen_MDDi_5WVDmQgchxJ0ZrCbYL1yZZboZsu_q54,3601
|
|
9
|
-
retracesoftware/run.py,sha256=
|
|
9
|
+
retracesoftware/run.py,sha256=dQ_yM5f7Mlb0NyZf0CysBX6d_j_IHtIB_NG1W6FGIuY,12207
|
|
10
10
|
retracesoftware/stackdifference.py,sha256=nM9r5YHMCNQcrWozMjUX4ZTrZL5U0rQChSGzpiXy_DU,4466
|
|
11
11
|
retracesoftware/install/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
retracesoftware/install/config.py,sha256=AnSlHI3lWQrPUg0fOS26PqXiq1hJSy56SwrNL8mbAG8,1546
|
|
13
|
-
retracesoftware/install/edgecases.py,sha256=
|
|
13
|
+
retracesoftware/install/edgecases.py,sha256=u_ITzgaHhdAgEMEanianTYGuq7bOqUkQXR03qR_gBEo,7262
|
|
14
14
|
retracesoftware/install/globals.py,sha256=F8XvIoZQQ10gSRalk30dvdKllxlwxkaggYY6FogLDxY,510
|
|
15
15
|
retracesoftware/install/install.py,sha256=HCD_ji8XCr96b5fNzNdL_8qcEp0Jf05Em7T6GA6u8HU,4969
|
|
16
16
|
retracesoftware/install/patcher.py,sha256=sHgsKvdvjMJSVl8lOa3YiCjGf6zYhxgkWp67-ptJvlk,4157
|
|
@@ -36,7 +36,7 @@ retracesoftware/proxy/serializer.py,sha256=S5yhHoP2iYaXBY7Jr8Ei630Z31521x0IO6Deu
|
|
|
36
36
|
retracesoftware/proxy/startthread.py,sha256=YKUcOSjA-9_5ZsDHhyP0fXJSP3RWDKV-ajX-I0SI-bU,1270
|
|
37
37
|
retracesoftware/proxy/stubfactory.py,sha256=fyQtCZnkXvLaTlGcxE0Lx8od09ZOgnPWPn0YvNFfVeQ,6219
|
|
38
38
|
retracesoftware/proxy/thread.py,sha256=T1ME6DHB8O0xVnX3Rt1lMl7oCJ2Y0aoFT91D76yNICk,3073
|
|
39
|
-
retracesoftware_proxy-0.2.
|
|
40
|
-
retracesoftware_proxy-0.2.
|
|
41
|
-
retracesoftware_proxy-0.2.
|
|
42
|
-
retracesoftware_proxy-0.2.
|
|
39
|
+
retracesoftware_proxy-0.2.9.dist-info/METADATA,sha256=TVdIsMKjOJfZPgrqCsfcKY_M6Ewz0aBCTARVDLeAbgY,226
|
|
40
|
+
retracesoftware_proxy-0.2.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
41
|
+
retracesoftware_proxy-0.2.9.dist-info/top_level.txt,sha256=hYHsR6txLidmqvjBMITpIHvmJJbmoCAgr76-IpZPRz8,16
|
|
42
|
+
retracesoftware_proxy-0.2.9.dist-info/RECORD,,
|
|
File without changes
|
{retracesoftware_proxy-0.2.7.dist-info → retracesoftware_proxy-0.2.9.dist-info}/top_level.txt
RENAMED
|
File without changes
|