38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
"""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()
|