Skip to content

Conversation

@hanhsuan
Copy link
Contributor

@hanhsuan hanhsuan commented Sep 17, 2025

Description

In order to close test coverage gap for Ubuntu GA Hardware Feature Matrix, the new WebGL conformance test is added in this PR.

  1. WEBGL_README.md: The detail of WebGL conformance test in checkbox
  2. file_watcher.py: A simple file watcher implementation that utilize the inotify
  3. Environment WEBGL_CONFORMANCE_TEST_URL: for pointing to the self-hosted WebGL conformance test server
  4. Manifest entry: has_webgl_support:
  5. browser_resource: Simply echo firefox, chromium and google-chrome
  6. test plan: webgl-conformance-test
  7. test cases: graphics/webgl-conformance-test-.* and after-suspend-graphics/webgl-conformance-test-.*
  8. Each browser will take more than one hour to finish the WebGL conformance test on Normal PCs.

Resolved issues

https://warthogs.atlassian.net/browse/OEMQA-6284

Documentation

ref: WEBGL_README.md

Tests

https://certification.canonical.com/hardware/202507-36996/submission/450107/

@codecov
Copy link

codecov bot commented Sep 17, 2025

Codecov Report

❌ Patch coverage is 92.08333% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 52.85%. Comparing base (7e4ba6a) to head (780b274).
⚠️ Report is 37 commits behind head on main.

Files with missing lines Patch % Lines
providers/base/bin/webgl_conformance_test.py 84.84% 13 Missing and 2 partials ⚠️
...x-support/checkbox_support/helpers/file_watcher.py 92.30% 2 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2115      +/-   ##
==========================================
+ Coverage   52.24%   52.85%   +0.61%     
==========================================
  Files         391      394       +3     
  Lines       41966    42534     +568     
  Branches     7774     8073     +299     
==========================================
+ Hits        21924    22481     +557     
- Misses      19266    19268       +2     
- Partials      776      785       +9     
Flag Coverage Δ
checkbox-ng 70.92% <ø> (ø)
checkbox-support 67.73% <97.16%> (+2.40%) ⬆️
provider-base 28.47% <83.83%> (+0.38%) ⬆️
provider-certification-client 57.14% <ø> (ø)
provider-certification-server 57.14% <ø> (ø)
provider-genio 96.90% <ø> (ø)
provider-gpgpu 93.06% <ø> (ø)
provider-iiotg 100.00% <ø> (ø)
provider-resource 39.38% <ø> (ø)
provider-sru 97.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hanhsuan hanhsuan force-pushed the add_wegl_conformance_test branch from dbdb350 to 8785d72 Compare September 21, 2025 06:09
2. add WebGL conformance test script
3. add test cases and test plan
4. add readme
@hanhsuan hanhsuan force-pushed the add_wegl_conformance_test branch from 8785d72 to 780b274 Compare September 22, 2025 12:06
@hanhsuan hanhsuan marked this pull request as ready for review September 23, 2025 07:06
@zongminl zongminl changed the title Add wegl conformance test (New) Add webgl conformance test (New) Sep 25, 2025
Copy link
Contributor

@tomli380576 tomli380576 left a comment

Choose a reason for hiding this comment

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

lgtm, I was able to setup a local server and run the tests

watch_test_result(download, filename)

# Firefox needs more time to save the file.
time.sleep(5)
Copy link
Contributor

Choose a reason for hiding this comment

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

Optional: instead of a .sleep() I think you can poll lsof on the output file and see if firefox/chromium is still holding onto it.

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.

2 participants