-
Notifications
You must be signed in to change notification settings - Fork 71
Add webgl conformance test (New) #2115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2115 +/- ##
==========================================
+ Coverage 53.63% 53.85% +0.21%
==========================================
Files 401 404 +3
Lines 43116 43356 +240
Branches 7990 8032 +42
==========================================
+ Hits 23127 23348 +221
- Misses 19174 19192 +18
- Partials 815 816 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
8785d72 to
780b274
Compare
tomli380576
left a comment
There was a problem hiding this 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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds WebGL conformance testing capabilities to Checkbox to close a test coverage gap for Ubuntu GA Hardware Feature Matrix. The implementation includes a custom file watcher utility using inotify, test job definitions for multiple browsers (Firefox, Chromium, Google Chrome), and comprehensive test coverage.
Key Changes:
- New file watcher implementation using inotify for monitoring test result files
- WebGL conformance test jobs for Firefox, Chromium, and Google Chrome with browser-specific launch options
- Test plans for normal and after-suspend WebGL conformance testing
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| providers/base/units/graphics/test-plan.pxu | Adds two test plans for WebGL conformance testing (normal and after-suspend) |
| providers/base/units/graphics/resource.pxu | Defines browser_resource job that lists browsers to test |
| providers/base/units/graphics/manifest.pxu | Adds has_webgl_support manifest entry |
| providers/base/units/graphics/jobs.pxu | Defines template job for WebGL conformance tests across browsers |
| providers/base/units/graphics/WEBGL_README.md | Documentation for WebGL conformance testing setup and requirements |
| providers/base/tests/test_webgl_conformance_test.py | Unit tests for WebGL conformance test script |
| checkbox-support/checkbox_support/helpers/tests/test_file_watcher.py | Unit tests for FileWatcher utility |
| checkbox-support/checkbox_support/helpers/file_watcher.py | FileWatcher implementation using inotify system calls |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import os | ||
|
|
||
|
|
||
| class InotfiyEvent: |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| class InotfiyEvent: | |
| class InotifyEvent: |
| @@ -0,0 +1,149 @@ | |||
| from checkbox_support.helpers.file_watcher import FileWatcher, InotfiyEvent | |||
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| from checkbox_support.helpers.file_watcher import FileWatcher, InotfiyEvent | ||
| from unittest.mock import MagicMock, patch | ||
| import unittest | ||
|
|
||
|
|
||
| class TestInotifyEvent(unittest.TestCase): | ||
| """ | ||
| Test the InotfiyEvent data class. | ||
| """ | ||
|
|
||
| def test_inotify_event_creation(self): | ||
| event = InotfiyEvent( |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| from checkbox_support.helpers.file_watcher import FileWatcher, InotfiyEvent | |
| from unittest.mock import MagicMock, patch | |
| import unittest | |
| class TestInotifyEvent(unittest.TestCase): | |
| """ | |
| Test the InotfiyEvent data class. | |
| """ | |
| def test_inotify_event_creation(self): | |
| event = InotfiyEvent( | |
| from checkbox_support.helpers.file_watcher import FileWatcher, InotifyEvent | |
| from unittest.mock import MagicMock, patch | |
| import unittest | |
| class TestInotifyEvent(unittest.TestCase): | |
| """ | |
| Test the InotifyEvent data class. | |
| """ | |
| def test_inotify_event_creation(self): | |
| event = InotifyEvent( |
| """ | ||
|
|
||
| def test_inotify_event_creation(self): | ||
| event = InotfiyEvent( |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| self.assertEqual(watcher._mask2event(0x0000FFFF), "unknown") | ||
|
|
||
| @patch("checkbox_support.helpers.file_watcher.os.read") | ||
| @patch("checkbox_support.helpers.file_watcher.InotfiyEvent") |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| self.assertEqual(events[0], mock_event_instance) | ||
|
|
||
| @patch("checkbox_support.helpers.file_watcher.os.read") | ||
| @patch("checkbox_support.helpers.file_watcher.InotfiyEvent") |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
| else "" | ||
| ) | ||
| event.append( | ||
| InotfiyEvent(wd, self._mask2event(mask), cookie, name) |
Copilot
AI
Nov 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'InotfiyEvent' to 'InotifyEvent'.
2. add WebGL conformance test script 3. add test cases and test plan 4. add readme
4048fb5 to
bca26d4
Compare
Description
In order to close test coverage gap for Ubuntu GA Hardware Feature Matrix, the new WebGL conformance test is added in this PR.
inotifyWEBGL_CONFORMANCE_TEST_URL: for pointing to the self-hosted WebGL conformance test serverfirefox,chromiumandgoogle-chromeResolved issues
https://warthogs.atlassian.net/browse/OEMQA-6284
Documentation
ref: WEBGL_README.md
Tests
https://certification.canonical.com/hardware/202507-36996/submission/450107/