mirror of
https://github.com/blw1138/Zordon.git
synced 2026-06-12 22:59:23 -05:00
Add Unit Tests (#132)
* Add tests and new github workflow * Add new unit tests * Add Github CI workflow * Workflow fix * Add pytest install to workflow file * More CI / test updates * More test cleanup * Whitespace cleanup and link complexity override * More whitespace cleanup * Make lint less strict * More lint tweaks
This commit is contained in:
@@ -270,7 +270,7 @@ class DistributedJobManager:
|
||||
|
||||
@staticmethod
|
||||
def find_available_servers(engine_name: str, system_os=None):
|
||||
from api.api_server import API_VERSION
|
||||
from src.api.api_server import API_VERSION
|
||||
found_available_servers = []
|
||||
for hostname in ZeroconfServer.found_hostnames():
|
||||
host_properties = ZeroconfServer.get_hostname_properties(hostname)
|
||||
|
||||
@@ -80,9 +80,10 @@ class EngineManager:
|
||||
|
||||
binary_name = result_dict['engine'].lower()
|
||||
eng = self.engine_class_with_name(result_dict['engine'])
|
||||
binary_name = eng.binary_names.get(result_dict['system_os'], binary_name)
|
||||
if eng:
|
||||
binary_name = eng.binary_names.get(result_dict['system_os'], binary_name)
|
||||
|
||||
search_root = self.engines_path / directory
|
||||
search_root = Path(self.engines_path) / directory
|
||||
match = next((p for p in search_root.rglob(binary_name) if p.is_file()), None)
|
||||
path = str(match) if match else None
|
||||
result_dict['path'] = path
|
||||
|
||||
@@ -225,35 +225,35 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
"""Get GPU info on Windows"""
|
||||
try:
|
||||
result = subprocess.run(
|
||||
['wmic', 'path', 'win32_videocontroller', 'get', 'name,AdapterRAM', '/format:list'],
|
||||
['wmic', 'path', 'win32_videocontroller', 'get', 'name,AdapterRAM', '/format:list'],
|
||||
capture_output=True, text=True, timeout=5
|
||||
)
|
||||
|
||||
|
||||
# Virtual adapters to exclude
|
||||
virtual_adapters = [
|
||||
'virtual', 'rdp', 'hyper-v', 'microsoft basic', 'basic display',
|
||||
'vga compatible', 'dummy', 'nvfbc', 'nvencode'
|
||||
]
|
||||
|
||||
|
||||
gpus = []
|
||||
current_gpu = None
|
||||
|
||||
|
||||
for line in result.stdout.strip().split('\n'):
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
|
||||
|
||||
if line.startswith('Name='):
|
||||
if current_gpu and current_gpu.get('name'):
|
||||
gpus.append(current_gpu)
|
||||
gpu_name = line.replace('Name=', '').strip()
|
||||
|
||||
|
||||
# Skip virtual adapters
|
||||
if any(virtual in gpu_name.lower() for virtual in virtual_adapters):
|
||||
current_gpu = None
|
||||
else:
|
||||
current_gpu = {'name': gpu_name, 'memory': 'Integrated'}
|
||||
|
||||
|
||||
elif line.startswith('AdapterRAM=') and current_gpu:
|
||||
vram_bytes_str = line.replace('AdapterRAM=', '').strip()
|
||||
if vram_bytes_str and vram_bytes_str != '0':
|
||||
@@ -262,10 +262,10 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
current_gpu['memory'] = round(vram_gb, 2)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
if current_gpu and current_gpu.get('name'):
|
||||
gpus.append(current_gpu)
|
||||
|
||||
|
||||
return gpus if gpus else [{'name': 'Unknown GPU', 'memory': 'Unknown'}]
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to get Windows GPU info: {e}")
|
||||
@@ -281,7 +281,7 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
result = subprocess.run(['system_profiler', 'SPDisplaysDataType', '-detailLevel', 'mini', '-json'],
|
||||
capture_output=True, text=True, timeout=5)
|
||||
data = json.loads(result.stdout)
|
||||
|
||||
|
||||
gpus = []
|
||||
displays = data.get('SPDisplaysDataType', [])
|
||||
for display in displays:
|
||||
@@ -294,7 +294,7 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
except Exception as e:
|
||||
print(f"Failed to get macOS GPU info: {e}")
|
||||
return [{'name': 'Unknown GPU', 'memory': 'Unknown'}]
|
||||
|
||||
|
||||
def get_linux_gpu_info():
|
||||
gpus = []
|
||||
try:
|
||||
@@ -316,7 +316,7 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
vendor = "AMD"
|
||||
elif "intel" in name.lower():
|
||||
vendor = "Intel"
|
||||
|
||||
|
||||
gpus.append({
|
||||
"name": name,
|
||||
"vendor": vendor,
|
||||
@@ -332,7 +332,7 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
return gpus
|
||||
|
||||
system = platform.system()
|
||||
|
||||
|
||||
if system == 'Darwin': # macOS
|
||||
return get_macos_gpu_info()
|
||||
elif system == 'Windows':
|
||||
@@ -340,55 +340,56 @@ def get_gpu_info() -> List[Dict[str, Any]]:
|
||||
else: # Assume Linux or other
|
||||
return get_linux_gpu_info()
|
||||
|
||||
|
||||
COMMON_RESOLUTIONS = {
|
||||
# SD
|
||||
"SD_480p": (640, 480),
|
||||
"NTSC_DVD": (720, 480),
|
||||
"PAL_DVD": (720, 576),
|
||||
# SD
|
||||
"SD_480p": (640, 480),
|
||||
"NTSC_DVD": (720, 480),
|
||||
"PAL_DVD": (720, 576),
|
||||
|
||||
# HD
|
||||
"HD_720p": (1280, 720),
|
||||
"HD_900p": (1600, 900),
|
||||
"HD_1080p": (1920, 1080),
|
||||
# HD
|
||||
"HD_720p": (1280, 720),
|
||||
"HD_900p": (1600, 900),
|
||||
"HD_1080p": (1920, 1080),
|
||||
|
||||
# Cinema / Film
|
||||
"2K_DCI": (2048, 1080),
|
||||
"4K_DCI": (4096, 2160),
|
||||
# Cinema / Film
|
||||
"2K_DCI": (2048, 1080),
|
||||
"4K_DCI": (4096, 2160),
|
||||
|
||||
# UHD / Consumer
|
||||
"UHD_4K": (3840, 2160),
|
||||
"UHD_5K": (5120, 2880),
|
||||
"UHD_8K": (7680, 4320),
|
||||
# UHD / Consumer
|
||||
"UHD_4K": (3840, 2160),
|
||||
"UHD_5K": (5120, 2880),
|
||||
"UHD_8K": (7680, 4320),
|
||||
|
||||
# Ultrawide / Aspect Variants
|
||||
"UW_1080p": (2560, 1080),
|
||||
"UW_1440p": (3440, 1440),
|
||||
"UW_5K": (5120, 2160),
|
||||
# Ultrawide / Aspect Variants
|
||||
"UW_1080p": (2560, 1080),
|
||||
"UW_1440p": (3440, 1440),
|
||||
"UW_5K": (5120, 2160),
|
||||
|
||||
# Mobile / Social
|
||||
"VERTICAL_1080x1920": (1080, 1920),
|
||||
"SQUARE_1080": (1080, 1080),
|
||||
# Mobile / Social
|
||||
"VERTICAL_1080x1920": (1080, 1920),
|
||||
"SQUARE_1080": (1080, 1080),
|
||||
|
||||
# Classic / Legacy
|
||||
"VGA": (640, 480),
|
||||
"SVGA": (800, 600),
|
||||
"XGA": (1024, 768),
|
||||
"WXGA": (1280, 800),
|
||||
# Classic / Legacy
|
||||
"VGA": (640, 480),
|
||||
"SVGA": (800, 600),
|
||||
"XGA": (1024, 768),
|
||||
"WXGA": (1280, 800),
|
||||
}
|
||||
|
||||
COMMON_FRAME_RATES = {
|
||||
"23.976 (NTSC Film)": 23.976,
|
||||
"24 (Cinema)": 24.0,
|
||||
"25 (PAL)": 25.0,
|
||||
"29.97 (NTSC)": 29.97,
|
||||
"30": 30.0,
|
||||
"48 (HFR Film)": 48.0,
|
||||
"50 (PAL HFR)": 50.0,
|
||||
"59.94": 59.94,
|
||||
"60": 60.0,
|
||||
"72": 72.0,
|
||||
"90 (VR)": 90.0,
|
||||
"120": 120.0,
|
||||
"144 (Gaming)": 144.0,
|
||||
"240 (HFR)": 240.0,
|
||||
}
|
||||
"23.976 (NTSC Film)": 23.976,
|
||||
"24 (Cinema)": 24.0,
|
||||
"25 (PAL)": 25.0,
|
||||
"29.97 (NTSC)": 29.97,
|
||||
"30": 30.0,
|
||||
"48 (HFR Film)": 48.0,
|
||||
"50 (PAL HFR)": 50.0,
|
||||
"59.94": 59.94,
|
||||
"60": 60.0,
|
||||
"72": 72.0,
|
||||
"90 (VR)": 90.0,
|
||||
"120": 120.0,
|
||||
"144 (Gaming)": 144.0,
|
||||
"240 (HFR)": 240.0,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user