mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-07 15:13:52 -08:00
Tests: Move hosting test to APQuest #5671
This commit is contained in:
@@ -70,13 +70,13 @@ if __name__ == "__main__":
|
|||||||
empty_file = str(Path(tempdir) / "empty")
|
empty_file = str(Path(tempdir) / "empty")
|
||||||
open(empty_file, "w").close()
|
open(empty_file, "w").close()
|
||||||
sys.argv += ["--config_override", empty_file] # tests #5541
|
sys.argv += ["--config_override", empty_file] # tests #5541
|
||||||
multis = [["VVVVVV"], ["Temp World"], ["VVVVVV", "Temp World"]]
|
multis = [["APQuest"], ["Temp World"], ["APQuest", "Temp World"]]
|
||||||
p1_games: list[str] = []
|
p1_games: list[str] = []
|
||||||
data_paths: list[Path | None] = []
|
data_paths: list[Path | None] = []
|
||||||
rooms: list[str] = []
|
rooms: list[str] = []
|
||||||
multidata: Path | None
|
multidata: Path | None
|
||||||
|
|
||||||
copy_world("VVVVVV", "Temp World")
|
copy_world("APQuest", "Temp World")
|
||||||
try:
|
try:
|
||||||
for n, games in enumerate(multis, 1):
|
for n, games in enumerate(multis, 1):
|
||||||
print(f"Generating [{n}] {', '.join(games)} offline")
|
print(f"Generating [{n}] {', '.join(games)} offline")
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ def copy(src: str, dst: str) -> None:
|
|||||||
src_cls = AutoWorldRegister.world_types[src]
|
src_cls = AutoWorldRegister.world_types[src]
|
||||||
src_folder = Path(src_cls.__file__).parent
|
src_folder = Path(src_cls.__file__).parent
|
||||||
worlds_folder = src_folder.parent
|
worlds_folder = src_folder.parent
|
||||||
if (not src_cls.__file__.endswith("__init__.py") or not src_folder.is_dir()
|
if (not src_cls.__file__.endswith(("__init__.py", "world.py")) or not src_folder.is_dir()
|
||||||
or not (worlds_folder / "generic").is_dir()):
|
or not (worlds_folder / "generic").is_dir()):
|
||||||
raise ValueError(f"Unsupported layout for copy_world from {src}")
|
raise ValueError(f"Unsupported layout for copy_world from {src}")
|
||||||
dst_folder = worlds_folder / dst_folder_name
|
dst_folder = worlds_folder / dst_folder_name
|
||||||
@@ -28,11 +28,14 @@ def copy(src: str, dst: str) -> None:
|
|||||||
raise ValueError(f"Destination {dst_folder} already exists")
|
raise ValueError(f"Destination {dst_folder} already exists")
|
||||||
shutil.copytree(src_folder, dst_folder)
|
shutil.copytree(src_folder, dst_folder)
|
||||||
_new_worlds[dst] = str(dst_folder)
|
_new_worlds[dst] = str(dst_folder)
|
||||||
with open(dst_folder / "__init__.py", "r", encoding="utf-8-sig") as f:
|
|
||||||
contents = f.read()
|
for potential_world_class_file in ("__init__.py", "world.py"):
|
||||||
contents = re.sub(r'game\s*(:\s*[a-zA-Z\[\]]+)?\s*=\s*[\'"]' + re.escape(src) + r'[\'"]', f'game = "{dst}"', contents)
|
with open(dst_folder / potential_world_class_file, "r", encoding="utf-8-sig") as f:
|
||||||
with open(dst_folder / "__init__.py", "w", encoding="utf-8") as f:
|
contents = f.read()
|
||||||
f.write(contents)
|
r_src = re.escape(src)
|
||||||
|
contents = re.sub(r'game\s*(:\s*[a-zA-Z\[\]]+)?\s*=\s*[\'"]' + r_src + r'[\'"]', f'game = "{dst}"', contents)
|
||||||
|
with open(dst_folder / "__init__.py", "w", encoding="utf-8") as f:
|
||||||
|
f.write(contents)
|
||||||
|
|
||||||
|
|
||||||
def delete(name: str) -> None:
|
def delete(name: str) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user