test: raise unit test coverage to 75.7% and stabilize test environment#693
Conversation
There was a problem hiding this comment.
Sorry @pengfeixx, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
Warning
详情 {
"export": {
"deepin-devicemanager/tests/src/DeviceManager/ut_devicemanager_export.cpp": {
"b": [
"// \u8986\u76d6 DeviceManager \u7684\u5bfc\u51fa\u65b9\u6cd5 exportToTxt/Xlsx/Html + overviewToTxt/Html/Xlsx +",
"// exportToDoc/overviewToDoc \u56e0 Docx::Document \u9ed8\u8ba4\u6784\u9020 SEGV \u6682\u8df3\u8fc7\u3002",
"TEST_F(UT_DeviceManagerExport, exportToTxt)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToTxt(\"/tmp/ut_dm_export.txt\"));",
"TEST_F(UT_DeviceManagerExport, exportToXlsx)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToXlsx(\"/tmp/ut_dm_export.xlsx\"));",
"TEST_F(UT_DeviceManagerExport, exportToHtml)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToHtml(\"/tmp/ut_dm_export.html\"));"
]
}
}
} |
463ce00 to
b9f5472
Compare
|
Warning
详情 {
"export": {
"deepin-devicemanager/tests/src/DeviceManager/ut_devicemanager_export.cpp": {
"b": [
"// \u8986\u76d6 DeviceManager \u7684\u5bfc\u51fa\u65b9\u6cd5 exportToTxt/Xlsx/Html + overviewToTxt/Html/Xlsx +",
"// exportToDoc/overviewToDoc \u56e0 Docx::Document \u9ed8\u8ba4\u6784\u9020 SEGV \u6682\u8df3\u8fc7\u3002",
"TEST_F(UT_DeviceManagerExport, exportToTxt)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToTxt(\"/tmp/ut_dm_export.txt\"));",
"TEST_F(UT_DeviceManagerExport, exportToXlsx)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToXlsx(\"/tmp/ut_dm_export.xlsx\"));",
"TEST_F(UT_DeviceManagerExport, exportToHtml)",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToHtml(\"/tmp/ut_dm_export.html\"));"
]
}
}
} |
Add unit tests for UI/DeviceManager/DBus/HTTP modules to raise line coverage. 为 UI/DeviceManager/DBus/HTTP 等模块新增单元测试,提升行覆盖率。 Fix cmake 3.31 Qt version misdetection and stub DBus calls in test_main. 修复 cmake 3.31 下 Qt 版本误检,并在 test_main 全局桩 DBus 调用避免服务阻塞。 Log: 提升单元测试覆盖率至75.7%并稳定测试环境 Influence: 前端覆盖率70.3%→75.7%,1100测试通过;修复cmake Qt6误检与DBus测试阻塞。
b9f5472 to
07ca9c0
Compare
|
Warning
详情 {
"export": {
"deepin-devicemanager/tests/src/DeviceManager/ut_devicemanager_save.cpp": {
"b": [
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToTxt(\"/tmp/ut_dm_out.txt\"));",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToXlsx(\"/tmp/ut_dm_out.xlsx\"));",
" EXPECT_NO_FATAL_FAILURE(DeviceManager::instance()->exportToHtml(\"/tmp/ut_dm_out.html\"));"
]
}
}
} |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lzwind, pengfeixx The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
deepin pr auto review★ 总体评分:95分■ 【总体评价】
■ 【详细分析】
■ 【改进建议代码示例】 // test_main.cpp
#include <gtest/gtest.h>
#include <QApplication>
#include <DApplication>
#include <QDBusInterface>
#include <QDBusMessage>
#include <QDBusPendingCall>
#include <QVariant>
#include "stub.h"
#if defined(CMAKE_SAFETYTEST_ARG_ON)
#include <sanitizer/asan_interface.h>
#endif
DCORE_USE_NAMESPACE
static QDBusMessage ut_dbus_call(const QString &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &)
{
return QDBusMessage().createReply(QVariant(true));
}
static QDBusPendingCall ut_dbus_asyncCall(const QString &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &)
{
return QDBusPendingCall::fromCompletedCall(QDBusMessage().createReply(QVariant(true)));
}
int main(int argc, char **argv)
{
qputenv("QT_QPA_PLATFORM", "offscreen");
QApplication a(argc, argv);
// 使用栈对象替代堆对象,确保在进程退出时自动调用析构函数释放资源,避免内存泄漏报告
Stub stub;
QDBusMessage (QDBusInterface::*pc)(const QString &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &) = &QDBusInterface::call;
stub.set(pc, ut_dbus_call);
QDBusPendingCall (QDBusInterface::*pa)(const QString &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &, const QVariant &, const QVariant &,
const QVariant &, const QVariant &) = &QDBusInterface::asyncCall;
stub.set(pa, ut_dbus_asyncCall);
::testing::InitGoogleTest(&argc, argv);
auto c = RUN_ALL_TESTS();
#if defined(CMAKE_SAFETYTEST_ARG_ON)
__sanitizer_report_summary_summary();
#endif
return c;
} |
Add unit tests for UI/DeviceManager/DBus/HTTP modules to raise line coverage.
为 UI/DeviceManager/DBus/HTTP 等模块新增单元测试,提升行覆盖率。
Fix cmake 3.31 Qt version misdetection and stub DBus calls in test_main.
修复 cmake 3.31 下 Qt 版本误检,并在 test_main 全局桩 DBus 调用避免服务阻塞。
Log: 提升单元测试覆盖率至75.7%并稳定测试环境
Influence: 前端覆盖率70.3%→75.7%,1100测试通过;修复cmake Qt6误检与DBus测试阻塞。