Make tests more platform agnostic (#4650)

Use QTemporaryDir to create the test directory
Add option to use httpbin over local docker
Increase delay for opening a connection

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
nerix
2023-05-26 14:54:23 +02:00
committed by GitHub
parent 2264c44f10
commit 1bc423d9c4
8 changed files with 56 additions and 24 deletions
+3 -1
View File
@@ -12,6 +12,7 @@
#include <benchmark/benchmark.h>
#include <QDebug>
#include <QString>
#include <QTemporaryDir>
using namespace chatterino;
@@ -66,7 +67,8 @@ public:
static void BM_HighlightTest(benchmark::State &state)
{
MockApplication mockApplication;
Settings settings("/tmp/c2-mock");
QTemporaryDir settingsDir;
Settings settings(settingsDir.path());
std::string message =
R"(@badge-info=subscriber/34;badges=moderator/1,subscriber/24;color=#FF0000;display-name=테스트계정420;emotes=41:6-13,15-22;flags=;id=a3196c7e-be4c-4b49-9c5a-8b8302b50c2a;mod=1;room-id=11148817;subscriber=1;tmi-sent-ts=1590922213730;turbo=0;user-id=117166826;user-type=mod :testaccount_420!testaccount_420@testaccount_420.tmi.twitch.tv PRIVMSG #pajlada :-tags Kreygasm,Kreygasm (no space))";
+7 -3
View File
@@ -3,6 +3,7 @@
#include <benchmark/benchmark.h>
#include <QApplication>
#include <QtConcurrent>
#include <QTemporaryDir>
using namespace chatterino;
@@ -12,12 +13,15 @@ int main(int argc, char **argv)
::benchmark::Initialize(&argc, argv);
// Ensure settings are initialized before any tests are run
chatterino::Settings settings("/tmp/c2-empty-mock");
// Ensure settings are initialized before any benchmarks are run
QTemporaryDir settingsDir;
settingsDir.setAutoRemove(false); // we'll remove it manually
chatterino::Settings settings(settingsDir.path());
QtConcurrent::run([&app] {
QtConcurrent::run([&app, &settingsDir]() mutable {
::benchmark::RunSpecifiedBenchmarks();
settingsDir.remove();
app.exit(0);
});