Windows-Build / windows-exe (push) Successful in 5m30s
- Verschieben/Größe ziehen per PostMessage statt SendMessage: Die Windows-Verschiebeschleife lief innerhalb eines Tk-Ereignisses; Tk führte darin Python-Ereignisse (<Configure>) aus -> harter Absturz „PyEval_RestoreThread … thread state is NULL“ (normal und aus maximiert). - Größen-Mauszeiger am Rand wieder von Tk (blieb sonst im Fenster stehen); Windows zieht beim Drücken. - Neuer Maustest im Build (xdotool, echte Maus): Titelleiste/Rand ziehen, maximieren, herausziehen. - Export: Bei Vodafone steht in Spalte A das Aktivierungsdatum (statt Abrechnungslauf). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.2 KiB
Python
37 lines
1.2 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"}, f)
|
||
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()
|