Add Framework laptop controls and monitoring with hardware-aware discovery

This commit is contained in:
ajp_anton
2026-09-11 10:29:27 +00:00
parent 787231cb03
commit 8719402d97
50 changed files with 3611 additions and 9 deletions
@@ -3,12 +3,28 @@
#include "packageutils.h"
#include <QTest>
#include <QTemporaryDir>
#include <QDir>
#include <QFile>
class PackageUtilsTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void frameworkCompatibility() {
QTemporaryDir root;
QVERIFY(packageCompatibilityError(QStringLiteral("touchpad-hold-tap"), root.path()).isEmpty());
QVERIFY(!packageCompatibilityError(QStringLiteral("framework-laptop-tools"), root.path()).isEmpty());
QVERIFY(QDir().mkpath(root.path() + QStringLiteral("/class/dmi/id")));
QFile vendor(root.path() + QStringLiteral("/class/dmi/id/sys_vendor"));
QVERIFY(vendor.open(QIODevice::WriteOnly)); vendor.write("Framework\n"); vendor.close();
QFile product(root.path() + QStringLiteral("/class/dmi/id/product_name"));
QVERIFY(product.open(QIODevice::WriteOnly)); product.write("Laptop 13 Pro (Intel Core Ultra Series 3)\n"); product.close();
QVERIFY(packageCompatibilityError(QStringLiteral("framework-laptop-tools"), root.path()).isEmpty());
QVERIFY(product.open(QIODevice::WriteOnly | QIODevice::Truncate)); product.write("Laptop 13\n"); product.close();
QVERIFY(!packageCompatibilityError(QStringLiteral("framework-laptop-tools"), root.path()).isEmpty());
}
void parsesQueryOutput()
{
const auto records = parsePackageRecords(