Tests: fix the two tests that fail on Windows

Windows CI stopped running tests (bdd3b2050) after these two failed:

- tst_reporttextafterinfo wrote "columns numbered from 1" to a .conf
  under XDG_CONFIG_HOME, which only Linux reads. On Windows the setting
  stayed in the registry, columns counted from 0 and the report read
  1-C8. The setting now goes to an INI file QET_SETTINGS_DIR points at
  (#1178), read on every system.
- tst_projectlock::readOnlyFolderDoesNotBlock relies on a read-only
  folder refusing new files. Windows ignores that flag on folders, so
  the lock was taken; the case is skipped there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ispyisail
2026-10-18 10:06:15 +13:00
parent 0b0c20fdb5
commit 3c40bf5bd1
2 changed files with 9 additions and 4 deletions
+3 -1
View File
@@ -214,7 +214,9 @@ class tst_projectlock : public QObject
void readOnlyFolderDoesNotBlock()
{
#ifndef Q_OS_WIN
#ifdef Q_OS_WIN
QSKIP("a read-only folder still takes new files on Windows");
#else
if (geteuid() == 0)
QSKIP("root can write anywhere");
#endif
+6 -3
View File
@@ -69,10 +69,12 @@ private slots:
f.close();
// Columns numbered from 1, as QElectroTech's settings page
// shows by default
// shows by default. Written to an INI file QET_SETTINGS_DIR
// points at: on Windows the settings are in the registry
// otherwise, and the columns would count from 0
const QString home = m_dir.filePath(tag + QStringLiteral("-home"));
QVERIFY(QDir().mkpath(home + QStringLiteral("/config/QElectroTech")));
QFile conf(home + QStringLiteral("/config/QElectroTech/QElectroTech.conf"));
QVERIFY(QDir().mkpath(home + QStringLiteral("/settings/QElectroTech")));
QFile conf(home + QStringLiteral("/settings/QElectroTech/QElectroTech.ini"));
QVERIFY(conf.open(QIODevice::WriteOnly));
conf.write("[General]\nborder-columns_0=false\n");
conf.close();
@@ -80,6 +82,7 @@ private slots:
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert(QStringLiteral("QT_QPA_PLATFORM"), QStringLiteral("offscreen"));
env.insert(QStringLiteral("QET_ENABLE_SCRIPTING"), QStringLiteral("1"));
env.insert(QStringLiteral("QET_SETTINGS_DIR"), home + QStringLiteral("/settings"));
env.insert(QStringLiteral("HOME"), home);
env.insert(QStringLiteral("XDG_CONFIG_HOME"), home + QStringLiteral("/config"));
env.insert(QStringLiteral("XDG_DATA_HOME"), home + QStringLiteral("/data"));