Improved self-cleaning tests.

This commit is contained in:
Storm Dragon committed 2026-10-15 13:12:15 -04:00
1 parent 77db0b83ab
commit e3de71e594
14 files changed
+487 -39

No files matched your search

+7 -4
View File
@@ -4,11 +4,12 @@ import os
from pathlib import Path
import subprocess
import sys
import tempfile
import time
from gi.repository import Gio, GLib
from wine_test_environment import add_test_options, run_wine_test, wine_test_directory
parser = argparse.ArgumentParser()
parser.add_argument("--build-dir", default="build")
parser.add_argument("--reader", choices=("cthulhu", "orca"), default="cthulhu")
@@ -16,17 +17,19 @@ parser.add_argument("--32-bit", dest="is32Bit", action="store_true")
parser.add_argument("--session", action="store_true")
parser.add_argument("--prism-dll", type=Path)
parser.add_argument("--prism-include", type=Path)
add_test_options(parser)
args = parser.parse_args()
if bool(args.prism_dll) != bool(args.prism_include) or (args.prism_dll and args.is32Bit):
parser.error("Prism checks require both --prism-dll and --prism-include, and a 64-bit DLL")
build = Path(args.build_dir).resolve()
if not args.session:
sys.exit(subprocess.call(["dbus-run-session", "--", sys.executable, __file__,
sys.exit(run_wine_test(["dbus-run-session", "--", sys.executable, __file__,
"--session", "--build-dir", str(build), "--reader", args.reader,
*(["--prism-dll", str(args.prism_dll.resolve()),
"--prism-include", str(args.prism_include.resolve())]
if args.prism_dll else []),
*(["--32-bit"] if args.is32Bit else [])]))
*(["--32-bit"] if args.is32Bit else [])], build, "notification_integration",
keep=args.keep, keepOnFailure=args.keepOnFailure))
interface = "org.gnome.Orca1.Service" if args.reader == "orca" else "org.stormux.Cthulhu1.Service"
objectPath = "/" + interface.replace(".", "/")
@@ -52,7 +55,7 @@ connection.call_sync("org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freed
"RequestName", GLib.Variant("(su)", (interface, 0)), None,
Gio.DBusCallFlags.NONE, 1000, None)
with tempfile.TemporaryDirectory(prefix="wine-access-notifications-") as temporary:
with wine_test_directory(prefix="wine-access-notifications-") as temporary:
tempPath = Path(temporary)
env = os.environ.copy()
env.update(WINEPREFIX=str(tempPath / "prefix"), WINEDEBUG="-all",