forked from linuxdeepin/dtkwidget
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
39 lines (33 loc) · 836 Bytes
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#include <QTimer>
#include <gtest/gtest.h>
#include <DApplication>
#ifdef QT_DEBUG
#include <sanitizer/asan_interface.h>
#endif
/**
添加Qt事件循环,兼容gtest.
*/
int runTest(Dtk::Widget::DApplication &app)
{
int ret = 0;
QTimer::singleShot(0, &app, [&app, &ret]() {
ret = RUN_ALL_TESTS();
app.quit();
});
app.exec();
return ret;
}
int main(int argc, char *argv[])
{
Dtk::Widget::DApplication app(argc, argv);
::testing::InitGoogleTest(&argc, argv);
// gerrit编译时没有显示器,需要指定环境变量
qputenv("QT_QPA_PLATFORM", "offscreen");
#ifdef QT_DEBUG
__sanitizer_set_report_path("asan.log");
#endif
return runTest(app);
}