#include #include #include #include #include "ProcessCwd.h" class ProcessCwdTest : public QObject { Q_OBJECT private slots: void selfCwdMatchesCurrentPath(); void bogusPidEmpty(); void zeroAndNegativePidEmpty(); }; void ProcessCwdTest::selfCwdMatchesCurrentPath() // NOLINT(readability-convert-member-functions-to-static) { const QString cwd = processCwd(QCoreApplication::applicationPid()); QVERIFY(!cwd.isEmpty()); // Canonicalization absorbs the macOS /tmp -> /private/tmp symlink. QCOMPARE(QFileInfo(cwd).canonicalFilePath(), QFileInfo(QDir::currentPath()).canonicalFilePath()); } void ProcessCwdTest::bogusPidEmpty() // NOLINT(readability-convert-member-functions-to-static) { QCOMPARE(processCwd(999'999'999), QString()); } void ProcessCwdTest::zeroAndNegativePidEmpty() // NOLINT(readability-convert-member-functions-to-static) { QCOMPARE(processCwd(0), QString()); QCOMPARE(processCwd(-1), QString()); } QTEST_MAIN(ProcessCwdTest) #include "tst_processcwd.moc"