Warning, file /frameworks/kcoreaddons/autotests/klibexectest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0003 SPDX-FileCopyrightText: 2021 Harald Sitter <sitter@kde.org> 0004 */ 0005 0006 #include <QObject> 0007 #include <QTest> 0008 #include <QFileInfo> 0009 0010 #include <KLibexec> 0011 0012 class KLibexecTest : public QObject 0013 { 0014 Q_OBJECT 0015 0016 const QString m_relative = QStringLiteral("fakeexec/kf" QT_STRINGIFY(QT_VERSION_MAJOR)); 0017 const QString m_fixtureName = 0018 #ifdef Q_OS_WIN 0019 QStringLiteral("klibexectest-fixture-binary.exe"); 0020 #else 0021 QStringLiteral("klibexectest-fixture-binary"); 0022 #endif 0023 QString m_fixtureDir; 0024 QString m_fixturePath; 0025 0026 private Q_SLOTS: 0027 void initTestCase() 0028 { 0029 m_fixtureDir = QDir::cleanPath(QCoreApplication::applicationDirPath() + QDir::separator() + m_relative); 0030 m_fixturePath = QDir::cleanPath(m_fixtureDir + QDir::separator() + m_fixtureName); 0031 QVERIFY(QDir().mkpath(m_fixtureDir)); 0032 QFile fixture(m_fixturePath); 0033 QVERIFY(fixture.open(QFile::ReadWrite)); 0034 fixture.setPermissions(QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner); 0035 0036 m_fixtureDir = QFileInfo(m_fixtureDir).canonicalFilePath(); 0037 m_fixturePath = QFileInfo(m_fixtureDir).canonicalFilePath(); 0038 } 0039 0040 void testPath() 0041 { 0042 QCOMPARE(KLibexec::path(m_relative), m_fixtureDir); 0043 } 0044 0045 void testKDEFrameworksPaths() 0046 { 0047 auto paths = KLibexec::kdeFrameworksPaths(m_relative); 0048 QVERIFY(paths.contains(QCoreApplication::applicationDirPath())); 0049 QVERIFY(paths.contains(m_fixtureDir)); 0050 // not exhaustive verification 0051 } 0052 }; 0053 0054 QTEST_MAIN(KLibexecTest) 0055 0056 #include "klibexectest.moc"