diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-13 10:00:31 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-13 10:00:31 +0200 |
| commit | 9585674c9546079aa86f9943df39f700d8db331a (patch) | |
| tree | 5d885eed06287ffcbbc05eacfd10d7d77a1751e0 /src/cidschemehandler.cpp | |
| parent | f119afe9a3d30f5d320b99c90b47fe52e7133d84 (diff) | |
| download | qtmaildir-9585674c9546079aa86f9943df39f700d8db331a.tar.gz qtmaildir-9585674c9546079aa86f9943df39f700d8db331a.zip | |
test(mainwindow): stop the suite reading the real kernel lock table
Item 61. An init() fixture gives every test its own empty lock table in a
QTemporaryDir, so no test observes the machine's real sync state. The
failure was never intermittent in the usual sense: 0 failures in 30 runs
with no lock held, 30 in 30 with one held. It presented as three tests
failing that never mention syncing, and cost three misdiagnoses.
The three tests that already used the seam each restored "/proc/locks"
when finished, which was itself the defect: it handed the real table to
whichever test ran next, so one test opting in re-exposed all the others.
Those restores are gone and cleanup() leaves the temporary path in place.
noTestCanSeeTheRealLockTable guards the fixture, since a silent revert
would go back to failing for reasons no assertion mentions.
Verified with the lock deliberately held: 3 failures before, 119/119
after, full suite 19/19. Mutation-checked by disabling the fixture, where
the guard fails first and a real test fails behind it.
Diffstat (limited to 'src/cidschemehandler.cpp')
0 files changed, 0 insertions, 0 deletions
