• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IJHack / QtPass / 34769437996
93%

Build:
DEFAULT BRANCH: main
Ran 13 Sep 2026 04:49PM UTC
Jobs 1
Files 88
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Sep 2026 04:43PM UTC coverage: 64.412% (-0.03%) from 64.444%
34769437996

push

github

web-flow
test: isolate QtPassSettings from the user's live config (#1662)

* test: isolate QtPassSettings from the user's live config

Seven suites wrote to ~/.config/IJHack/QtPass.conf (or the registry) and
each carried its own backup/restore code: saved members restored in
cleanupTestCase(), a portable-mode file copy in tst_settings, resets of
leftover values in initTestCase(). None of that survives a suite that is
killed half-way; a temp store path then stays in the real config.

tests/auto/testsettings.h provides isolateTestSettings(): redirects
QSettings (NativeFormat and IniFormat, user and system scope) into a
process-lifetime QTemporaryDir, switches the default format to ini so
Windows does not fall back to the registry, and enables QStandardPaths
test mode. Every suite that touches settings calls it first thing in
initTestCase(), and the per-suite backup/restore code is gone. Per-test
guards that keep tests independent of each other are untouched.

Verified: all seven suites green, md5 of the live QtPass.conf identical
before and after the run, nothing written under ~/.qttest.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* test: abort when the isolated settings dir cannot be created; normalise paths

An invalid QTemporaryDir has an empty path(), and QSettings::setPath()
would turn that into "/". Fail loudly instead. Paths go through
QDir::cleanPath() per repo convention.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JuQsrHonihp1nARE7bzstc

* settings: construct QtPassSettings with QSettings::defaultFormat()

QSettings(organization, application) always uses NativeFormat and
ignores setDefaultFormat(). On Windows NativeFormat is the registry and
QSettings::setPath() cannot redirect it, so the test isolation would
still have written to HKEY_CURRENT_USER there. The explicit-format
constructor with defaultFormat() kee... (continued)

2 of 2 new or added lines in 1 file covered. (100.0%)

22 existing lines in 6 files now uncovered.

4648 of 7216 relevant lines covered (64.41%)

85.97 hits per line

Coverage Regressions

Lines Coverage ∆ File
12
34.31
-1.07% src/mainwindow.cpp
4
61.45
2.18% src/qtpass.cpp
2
45.22
0.46% src/configdialog.cpp
2
48.39
-6.45% src/moc_qpushbuttonwithclipboard.cpp
1
34.04
-1.06% src/moc_mainwindow.cpp
1
33.33
-33.33% src/qtpass.h
Jobs
ID Job ID Ran Files Coverage
1 34769437996.1 13 Sep 2026 04:49PM UTC 88
64.41
GitHub Action Run
Source Files on build 34769437996
  • Tree
  • List 88
  • Changed 10
  • Source Changed 3
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34769437996
  • 766a36b2 on github
  • Prev Build on main (#34769290376)
  • Next Build on main (#34776298671)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc