#pragma once // Помощники для тестов сетевых сервисов. #include "fakeinternet.h" #include #include // В initTestCase(): поднять FakeInternet или пропустить весь тест-класс. // С BILAUNCHER_REQUIRE_FAKE_INTERNET=1 (так в CI на всех ОС) недоступность — // ошибка, а не пропуск: иначе сломанный перехват тихо выключил бы все сетевые тесты. #define BILAUNCHER_START_FAKE_INTERNET(net) \ do { \ QString startError_; \ if (!(net).start(&startError_)) { \ const QString message_ = QStringLiteral("FakeInternet недоступен: ") + startError_; \ if (qEnvironmentVariableIntValue("BILAUNCHER_REQUIRE_FAKE_INTERNET")) \ QFAIL(qPrintable(message_)); \ QSKIP(qPrintable(message_)); \ } \ } while (false) // Результат колбэка вида (bool ok, QString warning). struct CallResult { int calls = 0; bool ok = false; QString warning; auto callback() { return [this](bool okValue, const QString &warningValue) { ++calls; ok = okValue; warning = warningValue; }; } };