84 lines
1.9 KiB
C++
84 lines
1.9 KiB
C++
/* === This file is part of Calamares - <https://calamares.io> ===
|
|
*
|
|
* SPDX-FileCopyrightText: 2022 Adriaan de Groot <groot@kde.org>
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*
|
|
* Calamares is Free Software: see the License-Identifier above.
|
|
*
|
|
*/
|
|
|
|
#include "JobQueue.h"
|
|
#include "utils/Logger.h"
|
|
|
|
#include <QtTest/QtTest>
|
|
|
|
#undef STATICTEST
|
|
#define STATICTEST extern
|
|
|
|
// Implementation details
|
|
STATICTEST bool hasMountPoint( const QVariantMap& map, const QString& path );
|
|
|
|
STATICTEST bool isEncrypted( const QVariantMap& map );
|
|
|
|
STATICTEST bool anyPartition( bool ( *pred )( const QVariantMap& ) );
|
|
|
|
STATICTEST bool hasUnencryptedSeparateBoot();
|
|
|
|
STATICTEST bool hasEncryptedRoot();
|
|
|
|
class LuksBootKeyFileTests : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
LuksBootKeyFileTests() {}
|
|
~LuksBootKeyFileTests() override {}
|
|
|
|
private Q_SLOTS:
|
|
void initTestCase();
|
|
|
|
void testMountPoint();
|
|
};
|
|
|
|
void
|
|
LuksBootKeyFileTests::initTestCase()
|
|
{
|
|
Logger::setupLogLevel( Logger::LOGDEBUG );
|
|
cDebug() << "LuksBootKeyFile test started.";
|
|
|
|
if ( !Calamares::JobQueue::instance() )
|
|
{
|
|
(void)new Calamares::JobQueue();
|
|
}
|
|
}
|
|
|
|
void
|
|
LuksBootKeyFileTests::testMountPoint()
|
|
{
|
|
QVariantMap m; // As if this is a partition data
|
|
const QString key = QStringLiteral( "mountPoint" );
|
|
const QString boot = QStringLiteral( "/boot" );
|
|
const QString root = QStringLiteral( "/" );
|
|
|
|
QVERIFY( !hasMountPoint( m, QString() ) );
|
|
QVERIFY( !hasMountPoint( m, boot ) );
|
|
|
|
m.insert( key, boot );
|
|
QVERIFY( hasMountPoint( m, boot ) );
|
|
QVERIFY( !hasMountPoint( m, QString() ) );
|
|
QVERIFY( !hasMountPoint( m, root ) );
|
|
|
|
m.insert( key, root );
|
|
QVERIFY( !hasMountPoint( m, boot ) );
|
|
QVERIFY( !hasMountPoint( m, QString() ) );
|
|
QVERIFY( hasMountPoint( m, root ) );
|
|
|
|
m.remove( key );
|
|
QVERIFY( !hasMountPoint( m, root ) );
|
|
}
|
|
|
|
QTEST_GUILESS_MAIN( LuksBootKeyFileTests )
|
|
|
|
#include "utils/moc-warnings.h"
|
|
|
|
#include "Tests.moc"
|