Skip to content

test: remove QML panel popup lifecycle smoke tests - #1797

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
wjyrich:fix-bug-398163-1
Nov 5, 2026
Merged

deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
wjyrich:fix-bug-398163-1

Conversation

@wjyrich

@wjyrich wjyrich commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor
  1. Remove QML test runner registration and the frame/qml suite from tests/CMakeLists.txt
  2. Delete tests/frame/qml/tst_panelpopup.qml which covered PanelPopup open/close, shared window switching, reveal-after-render, and focus loss policies
  3. The tests depended on LD_PRELOAD injection of dde-shell-frame and dde-shell-dock libraries plus offscreen QPA, a fragile setup that likely broke in CI environments
  4. Native window interactions are already stated to be covered by manual testing, so these smoke tests provided limited automated value

Influence:

  1. Verify the test suite still configures and builds without the removed qmltestrunner lookup
  2. Run ctest to confirm remaining frame/applets/dock coverage targets work as expected
  3. Confirm the coverage custom target still executes all remaining module tests
  4. Manually validate PanelPopup behavior (open/close, shared window switching, reveal after render, focus loss with closeOnInactive true/ false) since automated coverage is now removed

test: 移除 QML 面板弹窗生命周期冒烟测试

  1. 从 tests/CMakeLists.txt 中移除 QML 测试运行器的注册及 frame/qml 测试 套件
  2. 删除 tests/frame/qml/tst_panelpopup.qml,该文件覆盖 PanelPopup 的打 开/关闭、共享窗口切换、渲染后显示以及焦点丢失策略
  3. 这些测试依赖 LD_PRELOAD 注入 dde-shell-frame 和 dde-shell-dock 库并配 合离屏 QPA,这种配置较为脆弱,在 CI 环境中很可能失效
  4. 原生窗口交互已由手动测试覆盖,因此这些冒烟测试的自动化价值有限

Influence:

  1. 验证测试套件在移除 qmltestrunner 查找逻辑后仍能正常配置和构建
  2. 运行 ctest 确认剩余的 frame/applets/dock 覆盖率目标正常工作
  3. 确认覆盖率自定义目标仍能执行所有剩余模块测试
  4. 由于自动化覆盖已移除,需手动验证 PanelPopup 行为(打开/关闭、共享窗口 切换、渲染后显示、closeOnInactive 为 true/false 时的焦点丢失)

PMS: TASK-398163

Summary by Sourcery

Remove the unreliable QML PanelPopup lifecycle smoke tests and simplify the test suite configuration.

Enhancements:

  • Remove the fragile QML PanelPopup lifecycle smoke-test suite and its test-runner registration from the test configuration.

Tests:

  • Retain the existing native module coverage targets while dropping the offscreen QML test setup.

1. Remove QML test runner registration and the frame/qml suite from
tests/CMakeLists.txt
2. Delete tests/frame/qml/tst_panelpopup.qml which covered PanelPopup
open/close, shared window switching, reveal-after-render, and focus
loss policies
3. The tests depended on LD_PRELOAD injection of dde-shell-frame and
dde-shell-dock libraries plus offscreen QPA, a fragile setup that likely
broke in CI environments
4. Native window interactions are already stated to be covered by manual
testing, so these smoke tests provided limited automated value

Influence:
1. Verify the test suite still configures and builds without the removed
qmltestrunner lookup
2. Run ctest to confirm remaining frame/applets/dock coverage targets
work as expected
3. Confirm the coverage custom target still executes all remaining
module tests
4. Manually validate PanelPopup behavior (open/close, shared window
switching, reveal after render, focus loss with closeOnInactive true/
false) since automated coverage is now removed

test: 移除 QML 面板弹窗生命周期冒烟测试

1. 从 tests/CMakeLists.txt 中移除 QML 测试运行器的注册及 frame/qml 测试
套件
2. 删除 tests/frame/qml/tst_panelpopup.qml,该文件覆盖 PanelPopup 的打
开/关闭、共享窗口切换、渲染后显示以及焦点丢失策略
3. 这些测试依赖 LD_PRELOAD 注入 dde-shell-frame 和 dde-shell-dock 库并配
合离屏 QPA,这种配置较为脆弱,在 CI 环境中很可能失效
4. 原生窗口交互已由手动测试覆盖,因此这些冒烟测试的自动化价值有限

Influence:
1. 验证测试套件在移除 qmltestrunner 查找逻辑后仍能正常配置和构建
2. 运行 ctest 确认剩余的 frame/applets/dock 覆盖率目标正常工作
3. 确认覆盖率自定义目标仍能执行所有剩余模块测试
4. 由于自动化覆盖已移除,需手动验证 PanelPopup 行为(打开/关闭、共享窗口
切换、渲染后显示、closeOnInactive 为 true/false 时的焦点丢失)

PMS: TASK-398163
@sourcery-ai

sourcery-ai Bot commented Nov 5, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR removes the QML PanelPopup lifecycle smoke test and its qmltestrunner-based CTest integration because the LD_PRELOAD/offscreen setup was fragile and offered limited automated value; reviewers should verify the remaining test and coverage targets still configure, build, and run successfully, then manually validate the removed PanelPopup behaviors.

File-Level Changes

Change Details Files
Remove the fragile QML panel-popup smoke-test infrastructure and its test implementation.
  • Delete qmltestrunner discovery and the frame/qml CTest registration.
  • Remove lifecycle coverage for PanelPopup open/close, shared-window switching, reveal-after-render, and focus-loss behavior.
  • Eliminate the test setup’s offscreen QPA, software rendering, and LD_PRELOAD dependencies.
tests/CMakeLists.txt
tests/frame/qml/tst_panelpopup.qml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

🤖 AI 代码审查报告

总体评分: 100 分 (通过阈值: 70分)

Pass


📊 总体评价

项目 结果
审查结论 代码审查通过
评分详情 本次提交为纯删除QML面板弹窗生命周期冒烟测试代码,commit目的明确。变更仅涉及移除CMake测试配置和QML测试文件,无新增代码,无安全漏洞,四维度均通过。

🔍 详细分析

1. 语法逻辑 ✅

评价: 语法正确,逻辑清晰 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


2. 代码质量 ✅

评价: 代码结构清晰,注释完整 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


3. 代码性能 ✅

评价: 性能良好,资源使用合理 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


4. 代码安全 🔒

评价: 存在0个安全漏洞 ✅ 通过

🔐 发现 0 个安全漏洞

安全漏洞详情:
✅ 未发现安全漏洞

建议: []


💡 改进建议代码示例


本报告由 AI 代码审查工具自动生成

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mhduiy, wjyrich

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mhduiy

mhduiy commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

/forcemerge

@deepin-bot

deepin-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

This pr force merged! (status: blocked)

@deepin-bot
deepin-bot Bot merged commit 70da104 into linuxdeepin:master Nov 5, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants