mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 10:13:58 +00:00
83 lines
2.1 KiB
Python
Executable File
83 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Test that resource paths work correctly."""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# Add current directory to path
|
|
sys.path.insert(0, str(Path.cwd()))
|
|
|
|
from install import get_resource_path
|
|
|
|
|
|
def test_resource_path():
|
|
"""Test get_resource_path function."""
|
|
print("Testing get_resource_path() function:")
|
|
print()
|
|
|
|
test_cases = [
|
|
("img/knoeIcon.png", "App icon"),
|
|
("img/knoeLogoSepia.png", "Background logo (sepia)"),
|
|
("img/knoeLogo.png", "Main logo"),
|
|
("img/knoeLogoBlueprint.png", "Blueprint logo"),
|
|
("img/knoeIconblueprint.png", "Blueprint icon"),
|
|
]
|
|
|
|
all_passed = True
|
|
for rel_path, description in test_cases:
|
|
result = get_resource_path(rel_path)
|
|
exists = result.exists()
|
|
status = "✓" if exists else "✗"
|
|
|
|
print(f"{status} {description}")
|
|
print(f" Path: {rel_path}")
|
|
print(f" Resolved: {result}")
|
|
print(f" Exists: {exists}")
|
|
print()
|
|
|
|
if not exists:
|
|
all_passed = False
|
|
|
|
return all_passed
|
|
|
|
|
|
def test_pyinstaller_simulation():
|
|
"""Simulate PyInstaller environment."""
|
|
print("Simulating PyInstaller environment:")
|
|
print()
|
|
|
|
# Temporarily set _MEIPASS to simulate PyInstaller
|
|
test_meipass = Path.cwd()
|
|
sys._MEIPASS = str(test_meipass)
|
|
|
|
try:
|
|
result = get_resource_path("img/knoeIcon.png")
|
|
print(f" sys._MEIPASS: {sys._MEIPASS}")
|
|
print(f" Resolved path: {result}")
|
|
print(f" Exists: {result.exists()}")
|
|
print()
|
|
return result.exists()
|
|
finally:
|
|
# Clean up
|
|
delattr(sys, "_MEIPASS")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("=" * 60)
|
|
print("Resource Path Tests")
|
|
print("=" * 60)
|
|
print()
|
|
|
|
test1 = test_resource_path()
|
|
test2 = test_pyinstaller_simulation()
|
|
|
|
print("=" * 60)
|
|
if test1 and test2:
|
|
print("✓ All tests passed!")
|
|
print()
|
|
print("Images will be correctly included in PyInstaller build.")
|
|
sys.exit(0)
|
|
else:
|
|
print("✗ Some tests failed!")
|
|
sys.exit(1)
|