"""Für build/maustest.sh: startet die App und schreibt laufend Lage und Zustand des Hauptfensters. Kein pytest-Test – wird im Windows-Build mit echter Maus (xdotool) bedient. Hintergrund: v1.3.0 stürzte beim Ziehen an der Titelleiste hart ab; das sieht man nur mit echter Maus. """ import faulthandler import json import os import sys import tempfile import tkinter as tk aus = sys.argv[1] faulthandler.enable(open(os.path.join(aus, "absturz.txt"), "w")) home = tempfile.mkdtemp() os.environ["PROVTOOL_HOME"] = home with open(os.path.join(home, "einstellungen.json"), "w") as f: json.dump({"assistent_erledigt": True, "tipps_beim_start": False, "fenster": "900x560+100+100", "design": "win95", "vollbild": False}, f) # nur Win95 hat den eigenen Fensterrahmen sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from provtool.gui import app as A # noqa: E402 root = tk.Tk() a = A.App(root) fehler = [] root.report_callback_exception = lambda *e: fehler.append(repr(e[1])) def melden(): with open(os.path.join(aus, "status.txt"), "a") as f: f.write(f"{root.winfo_x()} {root.winfo_y()} {root.winfo_width()} {root.winfo_height()} " f"{int(a.rahmen.maximiert)} {len(fehler)}\n") root.after(250, melden) root.after(250, melden) root.mainloop()