aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-21 10:03:31 +0200
committerDanilo M. <danix@danix.xyz>2026-10-21 10:03:31 +0200
commit6b0f67655b40fef221f9c84cfb6c0bcedf34e3bb (patch)
treeb4f66f2e0f327d9da5c40566518225606a517135 /tests
parent8a63cde8346c6ff30dd79cf7862e28ce6dff56fc (diff)
downloadsb-builder-6b0f67655b40fef221f9c84cfb6c0bcedf34e3bb.tar.gz
sb-builder-6b0f67655b40fef221f9c84cfb6c0bcedf34e3bb.zip
Repository, Packages: no stale detail pane; scan survives races
A reload or filter that drops the current row left its pane and link up, and the link then crashed on current() being None (Packages had the same). A .txz slackrepo replaces between glob and stat is skipped, and any exception in the scan thread reaches the stats line instead of leaving it at loading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/test_gui.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/test_gui.py b/tests/test_gui.py
index 7d0b7dd..a12efdd 100644
--- a/tests/test_gui.py
+++ b/tests/test_gui.py
@@ -655,6 +655,11 @@ class SmokeTest(unittest.TestCase):
tab.link.linkActivated.emit("#")
self.assertIs(w.tabs.currentWidget(), w.packages_tab)
self.assertEqual(w.packages_tab.query.text(), "foo")
+ tab.table.setCurrentIndex(tab.proxy.index(0, 0))
+ tab.reload() # the reset drops the current row: no stale pane or link
+ self.wait(lambda: tab.stats.text() != "loading…")
+ self.assertTrue(tab.link.isHidden())
+ self.assertEqual(tab.detail.text(), "")
def test_repository_missing(self):
w, _remote = self.window()