fridaforge 0.3.0__tar.gz → 0.3.2__tar.gz
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.
- {fridaforge-0.3.0 → fridaforge-0.3.2}/PKG-INFO +1 -1
- fridaforge-0.3.2/fridaforge/_version.py +1 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/PKG-INFO +1 -1
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_binja_entry.py +1 -1
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_binja_manifest.py +14 -3
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_build.py +2 -1
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_bump_version.py +11 -8
- fridaforge-0.3.0/fridaforge/_version.py +0 -1
- {fridaforge-0.3.0 → fridaforge-0.3.2}/LICENSE +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/README.md +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/__init__.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/backend.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/__init__.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/base.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/hook_dlopen_functions.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/hook_function.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/modify_section_protection.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/negate_cond_branch_arm64.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/negate_cond_branch_x86.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/__init__.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/hook_dlopen_functions.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/hook_function.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/modify_section_protection.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/negate_cond_branch_arm64.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/negate_cond_branch_x86.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/utils.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/hook_dlopen_functions.js +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/hook_function.js +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/modify_section_protection.js +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/negate_cond_branch_arm64.js +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/negate_cond_branch_x86.js +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/SOURCES.txt +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/dependency_links.txt +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/top_level.txt +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/pyproject.toml +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/setup.cfg +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_backend.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_backend_ghidra.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_check_wheel.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_commands.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_generators.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_ghidra_scripts.py +0 -0
- {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_readme.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.2"
|
|
@@ -80,4 +80,4 @@ def test_missing_core_logs_one_error_and_registers_nothing(fake_bn, monkeypatch)
|
|
|
80
80
|
assert fake_bn.registered == []
|
|
81
81
|
assert len(fake_bn.errors) == 1
|
|
82
82
|
assert "pip install fridaforge==" in fake_bn.errors[0]
|
|
83
|
-
assert "Extension Manager" in fake_bn.errors[0]
|
|
83
|
+
assert "Extension Manager" in fake_bn.errors[0]
|
|
@@ -4,7 +4,9 @@ from pathlib import Path
|
|
|
4
4
|
from fridaforge._version import __version__
|
|
5
5
|
|
|
6
6
|
ROOT = Path(__file__).resolve().parent.parent
|
|
7
|
-
|
|
7
|
+
BINJA_DIR = ROOT / "hosts" / "binja"
|
|
8
|
+
MANIFEST = BINJA_DIR / "plugin.json"
|
|
9
|
+
REQUIREMENTS = BINJA_DIR / "requirements.txt"
|
|
8
10
|
REQUIRED_FIELDS = (
|
|
9
11
|
"pluginmetadataversion",
|
|
10
12
|
"name",
|
|
@@ -40,5 +42,14 @@ def test_manifest_version_matches_core():
|
|
|
40
42
|
assert _manifest()["version"] == __version__
|
|
41
43
|
|
|
42
44
|
|
|
43
|
-
def
|
|
44
|
-
assert
|
|
45
|
+
def test_requirements_pin_core_exactly():
|
|
46
|
+
assert REQUIREMENTS.read_text(encoding="utf-8") == f"fridaforge=={__version__}\n"
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def test_manifest_leaves_dependencies_to_requirements_txt():
|
|
50
|
+
assert "dependencies" not in _manifest()
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def test_repo_root_is_not_a_binja_plugin():
|
|
54
|
+
assert not (ROOT / "plugin.json").exists()
|
|
55
|
+
assert not (ROOT / "__init__.py").exists()
|
|
@@ -34,7 +34,8 @@ def test_build_creates_both_archives(tmp_path):
|
|
|
34
34
|
assert "fridaforge/commands/__init__.py" in names
|
|
35
35
|
manifest = json.loads(z.read("fridaforge/plugin.json"))
|
|
36
36
|
assert manifest["version"] == "9.9.9"
|
|
37
|
-
assert
|
|
37
|
+
assert "dependencies" not in manifest
|
|
38
|
+
assert "fridaforge/requirements.txt" not in names
|
|
38
39
|
entry = z.read("fridaforge/__init__.py").decode("utf-8")
|
|
39
40
|
assert "from .backend_binja import BinjaBackend" in entry
|
|
40
41
|
|
|
@@ -15,7 +15,11 @@ _spec.loader.exec_module(bump_version)
|
|
|
15
15
|
|
|
16
16
|
@pytest.fixture
|
|
17
17
|
def repo_copy(tmp_path):
|
|
18
|
-
for rel in (
|
|
18
|
+
for rel in (
|
|
19
|
+
bump_version.VERSION_FILE,
|
|
20
|
+
bump_version.BINJA_MANIFEST,
|
|
21
|
+
bump_version.BINJA_REQUIREMENTS,
|
|
22
|
+
):
|
|
19
23
|
(tmp_path / rel).parent.mkdir(parents=True, exist_ok=True)
|
|
20
24
|
shutil.copy2(ROOT / rel, tmp_path / rel)
|
|
21
25
|
return tmp_path
|
|
@@ -32,11 +36,12 @@ def test_bump_rewrites_every_copy(repo_copy):
|
|
|
32
36
|
assert bump_version.read_versions(repo_copy) == {
|
|
33
37
|
"_version.py": "1.2.3",
|
|
34
38
|
"plugin.json version": "1.2.3",
|
|
35
|
-
"
|
|
39
|
+
"requirements.txt pin": "1.2.3",
|
|
36
40
|
}
|
|
37
41
|
manifest = json.loads((repo_copy / bump_version.BINJA_MANIFEST).read_text(encoding="utf-8"))
|
|
38
|
-
assert manifest["dependencies"]["pip"] == ["fridaforge==1.2.3"]
|
|
39
42
|
assert manifest["name"] == "FridaForge"
|
|
43
|
+
requirements = (repo_copy / bump_version.BINJA_REQUIREMENTS).read_text(encoding="utf-8")
|
|
44
|
+
assert requirements == "fridaforge==1.2.3\n"
|
|
40
45
|
|
|
41
46
|
|
|
42
47
|
def test_bump_rejects_non_semver(repo_copy):
|
|
@@ -57,8 +62,6 @@ def test_check_reports_each_mismatch(repo_copy):
|
|
|
57
62
|
assert all("2.0.0" in p for p in problems)
|
|
58
63
|
|
|
59
64
|
|
|
60
|
-
def
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
assert stamped["version"] == "0.0.2"
|
|
64
|
-
assert stamped["dependencies"]["pip"] == ["fridaforge==0.0.2", "other"]
|
|
65
|
+
def test_pin_requirement_keeps_other_lines():
|
|
66
|
+
text = "other>=1\nfridaforge==0.0.1\n"
|
|
67
|
+
assert bump_version.pin_requirement(text, "0.0.2") == "fridaforge==0.0.2\nother>=1\n"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|