File: main.cpp

package info (click to toggle)
dtkwidget 5.7.12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 36,540 kB
  • sloc: cpp: 63,257; ansic: 132; python: 88; sh: 42; makefile: 13
file content (39 lines) | stat: -rw-r--r-- 836 bytes parent folder | download
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);
}