mirror of
https://github.com/FelipePrado0/SpartanPort.git
synced 2026-11-07 10:45:59 -10:00
- Renomeados arquivos, alvos e binários (gow3gpu, gow3-probe, gow3-play) - Renomeadas variáveis GOW3_*, identificadores Gow3*, gow3.ini e magics G3* - Atualizado o patch do fsr-vulkan com as variáveis novas
41 lines
1.8 KiB
Python
41 lines
1.8 KiB
Python
from paths import ROOT
|
|
from pathlib import Path
|
|
import struct
|
|
import subprocess
|
|
import tempfile
|
|
import unittest
|
|
from unittest.mock import patch
|
|
import content_profile
|
|
|
|
EXE=ROOT/'out/content-test'
|
|
|
|
class ProfileTests(unittest.TestCase):
|
|
def test_sfo_parameters_and_explicit_trial_profile(self):
|
|
with tempfile.TemporaryDirectory() as tmp:
|
|
p=Path(tmp);(p/'sce_sys').mkdir();(p/'sce_sys/param.sfo').write_bytes(b'fixture')
|
|
with patch.object(content_profile,'sfo',return_value={'USER_DEFINED_PARAM_1':13,'USER_DEFINED_PARAM_4':0xffffffff}):
|
|
content_profile.prepare(p,p,'trial')
|
|
self.assertEqual(struct.unpack('<8s5I',(p/'content.bin').read_bytes()),(b'G3CONT01',1,13,0,0,0xffffffff))
|
|
|
|
def test_invalid_sfo_parameter_rejected(self):
|
|
with tempfile.TemporaryDirectory() as tmp:
|
|
p=Path(tmp);(p/'sce_sys').mkdir();(p/'sce_sys/param.sfo').write_bytes(b'fixture')
|
|
with patch.object(content_profile,'sfo',return_value={'USER_DEFINED_PARAM_1':'13'}):
|
|
with self.assertRaisesRegex(ValueError,'invalid user-defined'):
|
|
content_profile.prepare(p,p)
|
|
|
|
@unittest.skipUnless(EXE.exists(),'run bash build.sh --test first')
|
|
class ContentTests(unittest.TestCase):
|
|
def run_case(self,*args):
|
|
return subprocess.run([str(EXE.resolve()),*args],capture_output=True,text=True,timeout=5)
|
|
|
|
def test_lifecycle_and_output_boundaries(self):
|
|
r=self.run_case();self.assertEqual(r.returncode,0,r.stdout+r.stderr)
|
|
|
|
def test_missing_profile_does_not_report_loaded(self):
|
|
r=self.run_case('--missing');self.assertEqual(r.returncode,21)
|
|
self.assertIn('needs --content-profile',r.stderr)
|
|
|
|
def test_other_modules_are_counted_independently(self):
|
|
r=self.run_case('--unknown');self.assertEqual(r.returncode,0,r.stdout+r.stderr)
|