Retain startup diagnostics for the desktop edit integration test

This commit is contained in:
evgeny committed 2026-10-26 22:55:05 +01:00
1 parent b19e6797c9
commit 87f312f31b
1 file changed
+5 -1
+5 -1
View File
@@ -12,6 +12,7 @@
#include <QFile>
#include <QTextEdit>
#include <QMenu>
#include <QScopeGuard>
#include <future>
#include <memory>
extern "C" {
@@ -36,13 +37,16 @@ class GroupEditTest : public QObject {
private slots:
void editThroughMenuAndCore() {
debug_config_init(); gui_bridge_init(); QTemporaryDir directory; QVERIFY(directory.isValid());
directory.setAutoRemove(false);
auto diagnostics = qScopeGuard([&] { directory.setAutoRemove(!QTest::currentTestFailed()); });
const auto configPath = directory.filePath("node.cfg"); QFile config(configPath); QVERIFY(config.open(QIODevice::WriteOnly));
const QByteArray settings = "[global]\ntun_enabled=no\n[server:local]\naddr=127.0.0.1:0\ntype=private\n"
"[chatserver]\ngroup_autoconnect=0\nstorage_autoload=0\nlocal_invites_enabled=0\nlocal_broadcasts_enabled=0\n"
"[ntp]\nenabled=no\n";
QCOMPARE(config.write(settings), settings.size()); config.close(); DbManager db;
MainWindow window(nullptr, &db, configPath, directory.filePath("db"), directory.filePath("edit.log"), "warn", "chat_sync=debug");
window.show(); QVERIFY2(window.utunNode()->isRunning(), qPrintable(window.utunNode()->startupError()));
window.show(); QFile log(directory.filePath("edit.log")); log.open(QIODevice::ReadOnly);
QVERIFY2(window.utunNode()->isRunning(), qPrintable(window.utunNode()->startupError() + "\n" + log.readAll()));
QTRY_VERIFY_WITH_TIMEOUT(db.isOpen(), 3000);
QCOMPARE(inCore([](UTUN_INSTANCE* inst) { chat_core_create_channel_auto(inst, "Editable"); return 0; }), 0);
QTRY_COMPARE(db.getChannels().size(), 1); const auto channel = db.getChannels().first().channelId;