История изменений
Исправление dhampire, (текущая версия) :
Сигналы не ходят _без_ eventloop, до строки return a.exec(); нету у тебя eventloop. Или крути руками или можно сделать примерно так:
QCatchTest.h
#pragma once
#include <QCoreApplication>
#include <QTimer>
#include <QObject>
class QCatchTest : public QCoreApplication
{
Q_OBJECT
int m_argc;
char** m_argv;
public:
QCatchTest(int &argc, char *argv[]) : QCoreApplication(argc, argv) {
m_argc = argc;
m_argv = argv;
}
public Q_SLOTS:
void startCatch();
};
QCatchTest.cpp
#define CATCH_CONFIG_RUNNER // own main
#include "catch.hpp"
#include "QCatchTest.h"
void QCatchTest::startCatch()
{
// а вот тут он уже есть.
int result = Catch::Session().run( m_argc, m_argv);
qApp->exit(result);
}
int main( int argc, char *argv[])
{
QCatchTest app(argc, argv);
QTimer timer;
timer.setSingleShot(true);
QObject::connect(&timer, SIGNAL(timeout()), &app, SLOT(startCatch()));
timer.start(100);
// тут eventloop ещё не запущен.
return app.exec();
}
Исходная версия dhampire, :
Сигналы не ходят _без_ eventloop, до строки return a.exec(); нету у тебя eventloop.