From 4a7aeae6626533e2d60fa5bb222dc2941d5bbdaa Mon Sep 17 00:00:00 2001 From: Ivy233 Date: Tue, 16 Jun 2026 11:41:17 +0800 Subject: [PATCH] fix: fix ODR violation of PaintWidget by wrapping it in anonymous namespace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wrap PaintWidget class in `namespace { ... }` across 6 test files to comply with the C++ One Definition Rule, eliminating cppcheck ctuOneDefinitionRuleViolation errors. fix: 用匿名命名空间修复 PaintWidget 的 ODR 违规 在 6 个测试文件中将 PaintWidget 类放入匿名命名空间,遵循 C++ 单一定义 规则,消除 cppcheck 报告的 CTU ODR 违规错误。 Log: Fix ODR violation of PaintWidget in test files by wrapping with anonymous namespace PMS: BUG-366487 --- dde-osd/tests/ut_audioprovider.cpp | 4 +++- dde-osd/tests/ut_brightnessprovider.cpp | 4 +++- dde-osd/tests/ut_common.cpp | 4 +++- dde-osd/tests/ut_displaymodeprovider.cpp | 4 +++- dde-osd/tests/ut_kblayoutprovider.cpp | 4 +++- dde-osd/tests/ut_osdprovider.cpp | 4 +++- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/dde-osd/tests/ut_audioprovider.cpp b/dde-osd/tests/ut_audioprovider.cpp index 6a8543d55..bf1d8ad4b 100644 --- a/dde-osd/tests/ut_audioprovider.cpp +++ b/dde-osd/tests/ut_audioprovider.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -17,6 +17,7 @@ class UT_AudioProvider : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -39,6 +40,7 @@ class PaintWidget : public QWidget public: AudioProvider *m_provider; }; +} // namespace TEST_F(UT_AudioProvider, coverageTest) diff --git a/dde-osd/tests/ut_brightnessprovider.cpp b/dde-osd/tests/ut_brightnessprovider.cpp index dc943950e..e294e18ed 100644 --- a/dde-osd/tests/ut_brightnessprovider.cpp +++ b/dde-osd/tests/ut_brightnessprovider.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -17,6 +17,7 @@ class UT_BrightnessProvider : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -39,6 +40,7 @@ class PaintWidget : public QWidget public: BrightnessProvider *m_provider; }; +} // namespace TEST_F(UT_BrightnessProvider, coverageTest) diff --git a/dde-osd/tests/ut_common.cpp b/dde-osd/tests/ut_common.cpp index c347e1d1d..e3e1f961f 100644 --- a/dde-osd/tests/ut_common.cpp +++ b/dde-osd/tests/ut_common.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -17,6 +17,7 @@ class UT_Common : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -36,6 +37,7 @@ class PaintWidget : public QWidget DrawHelper::DrawBackground(&painter, option); } }; +} // namespace TEST_F(UT_Common, coverageTest) { diff --git a/dde-osd/tests/ut_displaymodeprovider.cpp b/dde-osd/tests/ut_displaymodeprovider.cpp index 5083e3973..70309535d 100644 --- a/dde-osd/tests/ut_displaymodeprovider.cpp +++ b/dde-osd/tests/ut_displaymodeprovider.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -18,6 +18,7 @@ class UT_DisplayModeProvider : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -40,6 +41,7 @@ class PaintWidget : public QWidget public: DisplayModeProvider *m_provider; }; +} // namespace TEST_F(UT_DisplayModeProvider, coverageTest) { diff --git a/dde-osd/tests/ut_kblayoutprovider.cpp b/dde-osd/tests/ut_kblayoutprovider.cpp index 57ce98fe3..af0065a11 100644 --- a/dde-osd/tests/ut_kblayoutprovider.cpp +++ b/dde-osd/tests/ut_kblayoutprovider.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -16,6 +16,7 @@ class UT_KBLayoutProvider : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -38,6 +39,7 @@ class PaintWidget : public QWidget public: KBLayoutProvider *m_provider; }; +} // namespace TEST_F(UT_KBLayoutProvider, coverageTest) { diff --git a/dde-osd/tests/ut_osdprovider.cpp b/dde-osd/tests/ut_osdprovider.cpp index 3dd0aa735..9e9d4d532 100644 --- a/dde-osd/tests/ut_osdprovider.cpp +++ b/dde-osd/tests/ut_osdprovider.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -16,6 +16,7 @@ class UT_OSDProvider : public testing::Test }; +namespace { class PaintWidget : public QWidget { @@ -38,6 +39,7 @@ class PaintWidget : public QWidget public: OSDProvider *m_provider; }; +} // namespace TEST_F(UT_OSDProvider, coverageTest) {