aboutsummaryrefslogtreecommitdiff
path: root/spec/testUtils.cpp
blob: e496a9babc23dcf8e0cad8be243932372b666b0d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <QtTest/QtTest>
#include <QtTest/qtestcase.h>
#include <cstdio>

std::vector<std::function<QObject *()>> &getQTestRegistry() {
  static std::vector<std::function<QObject *()>> registry;
  return registry;
}

int runAllTests() {
  int exitCode = 0;
  for (const auto &runTest : getQTestRegistry()) {
    auto test = runTest();
    // printf(":::: %s\n", test->objectName().toStdString().c_str());
    exitCode |= QTest::qExec(test);
    delete test;
  }
  getQTestRegistry().clear();
  return exitCode;
}