| Summary: | [Cocoa] Add a FairPlay keyserver and EME tests to LayoutTests | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Jer Noble <jer.noble> | ||||||||||||||||||||||||||||
| Component: | New Bugs | Assignee: | Jer Noble <jer.noble> | ||||||||||||||||||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||||
| Severity: | Normal | CC: | calvaris, eric.carlson, ews-watchlist, glenn, jbedard, peng.liu6, philipj, sergio, webkit-bug-importer | ||||||||||||||||||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||||||
| Version: | WebKit Nightly Build | ||||||||||||||||||||||||||||||
| Hardware: | Unspecified | ||||||||||||||||||||||||||||||
| OS: | Unspecified | ||||||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||||||
|
Description
Jer Noble
2022-03-10 13:44:30 PST
Created attachment 454402 [details]
Patch
Comment on attachment 454402 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=454402&action=review > LayoutTests/ChangeLog:23 > + and persistable licenses. It currently only supports "modern" EME key requests, but acn s/acn/can/ > LayoutTests/ChangeLog:261 > +2022-03-10 Jer Noble <jer.noble@apple.com> > + > + [Cocoa] Add a FairPlay keyserver and EME tests to LayoutTests > + https://bugs.webkit.org/show_bug.cgi?id=237731 > + > + Reviewed by NOBODY (OOPS!). Double ChangeLog Created attachment 454500 [details]
Patch
Created attachment 454556 [details]
Patch
Created attachment 454558 [details]
Patch
``` [Sun Mar 13 15:35:39.040034 2022] [cgi:error] [pid 847] [client 127.0.0.1:62020] AH01215: ModuleNotFoundError: No module named 'OpenSSL': /Volumes/Data/worker/macOS-Release-WK2-Stress-Tests-EWS/build/LayoutTests/http/tests/media/fairplay/keyserver/index.py, referer: http://127.0.0.1:8000/media/fairplay/fps-mse-unmuxed-multiple-keys.html ``` Looks like we need to auto install the OpenSSL package as well. Comment on attachment 454558 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=454558&action=review > LayoutTests/http/tests/media/fairplay/keyserver/keyserver/__init__.py:40 > + from webkitpy.autoinstalled.cryptography.hazmat.primitives.ciphers import modes `from webkitpy.autoinstalled import cryptography` should be sufficient for this. Also, once you do this once, "from cryptography.hazmat.primitives.ciphers import modes" should work. Created attachment 454595 [details]
Patch
Created attachment 454777 [details]
Patch
Created attachment 454836 [details]
Patch
Getting closer! The key server is now running correctly! Now to investigate the cause of the failing tests. I suspect it's just a harness problem. Comment on attachment 454836 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=454836&action=review > LayoutTests/ChangeLog:23 > + and persistable licenses. It currently only supports "modern" EME key requests, but acn s/acn/can > LayoutTests/http/tests/media/fairplay/eme2016.js:15 > + method: 'POST', Nit. The indention. > LayoutTests/http/tests/media/fairplay/fps-hls-key-rotation.html:61 > + method: 'POST', Ditto. > LayoutTests/http/tests/media/fairplay/fps-hls-update-reject.html:52 > + method: 'POST', Ditto. > LayoutTests/http/tests/media/fairplay/fps-hls.html:53 > + method: 'POST', Ditto. > LayoutTests/http/tests/media/fairplay/fps-init-data-cenc.html:48 > + method: 'POST', Ditto. > LayoutTests/http/tests/media/fairplay/fps-init-data-sinf.html:45 > + method: 'POST', Ditto. > LayoutTests/http/tests/media/fairplay/keyserver/keyserver/test_DFunction.py:34 > +class TestDFunction(unittest.TestCase): Will bots run the test? :-) Created attachment 454868 [details]
Patch
Created attachment 454877 [details]
Patch
Created attachment 454879 [details]
Patch
I think there are some changes in this patch that need to be removed as they are unrelated and there is no changelog for them, right? (In reply to Xabier RodrÃguez Calvar from comment #16) > I think there are some changes in this patch that need to be removed as they > are unrelated and there is no changelog for them, right? Yes, I should remove the r? bit on this patch; I changed some of the promise rejections inside MediaKeySession to get more information about why the testes were failing on the stress bot. Okay, the Mac-wk2-stress test bot is failing for a very interesting reason: we leak every RemoteCDMInstanceSessionProxy we create in the GPU Process. So after about 800 tests, FairPlay stops allowing additional sessions to be created. I'll include a fix with the next patch. Created attachment 455213 [details]
Patch
Created attachment 455565 [details]
Patch
Created attachment 455584 [details]
Patch
Pull request: https://github.com/WebKit/WebKit/pull/2786 Committed 253230@main (809ad82ca6e2): <https://commits.webkit.org/253230@main> Reviewed commits have been landed. Closing PR #2786 and removing active labels. |