mirror of
https://github.com/morluto/rea.git
synced 2026-11-07 07:16:13 +00:00
fix(python): preserve historical signed code fields
Keep signed co_stacksize and co_flags for historical magic entries whose constructors accepted them. Preserve magic 3410 with a constructor-revision limitation; reject negative values from 3411 onward. Fixes #6487
This commit is contained in:
1 parent
667402846c
commit
c6ab965062
7 files changed
+253
-79
No files matched your search
@@ -10,6 +10,7 @@ it("maps pinned CPython 3.7–3.13 magics and leaves gaps unknown", () => {
|
||||
python_version: "3.7",
|
||||
code_layout: "py37",
|
||||
header_bytes: 16,
|
||||
negative_code_fields: "accepted",
|
||||
});
|
||||
expect(pythonPycMagicEntry(3390)).toMatchObject({
|
||||
python_version: "3.7",
|
||||
@@ -23,16 +24,24 @@ it("maps pinned CPython 3.7–3.13 magics and leaves gaps unknown", () => {
|
||||
python_version: "3.8",
|
||||
code_layout: "py38",
|
||||
header_bytes: 16,
|
||||
negative_code_fields: "rejected",
|
||||
});
|
||||
expect(pythonPycMagicEntry(3401)?.negative_code_fields).toBe("accepted");
|
||||
expect(pythonPycMagicEntry(3410)?.negative_code_fields).toBe(
|
||||
"revision-dependent",
|
||||
);
|
||||
expect(pythonPycMagicEntry(3411)?.negative_code_fields).toBe("rejected");
|
||||
expect(pythonPycMagicEntry(3531)).toEqual({
|
||||
python_version: "3.12",
|
||||
code_layout: "py311",
|
||||
header_bytes: 16,
|
||||
negative_code_fields: "rejected",
|
||||
});
|
||||
expect(pythonPycMagicEntry(3571)).toEqual({
|
||||
python_version: "3.13",
|
||||
code_layout: "py311",
|
||||
header_bytes: 16,
|
||||
negative_code_fields: "rejected",
|
||||
});
|
||||
expect(pythonPycMagicEntry(3450)).toBeNull();
|
||||
expect(pythonPycMagicEntry(62171)).toBeNull();
|
||||
|
||||
Reference in new issue
Block a user