Since versioning DevTools protocol (https://chromium.googlesource.com/chromium/src/+/a91861b31d2119f96f7b4c0d90b9c4b1d4a24120), we've needed to keep front-end changes backwards compatible with older backends. In particular, this benefits node.js whose v8 inspector backend is updated periodically (yearly?) but uses the latest devtools frontend from Chrome.
Approach:
- A content shell from the protocol versioning commit will be stored on the cloud
- Only a subset of inspector tests (e.g. ignoring non-js tests such as Elements panel) will be run in backwards compatibility mode
- Address test result discrepancies by creating a separate baseline where needed and filtering out console error messages when a protocol method does not exist (need only to make sure devtools frontend gracefully handles the error)
Phase 1:
Initially create a local way of running tests for backwards-compatibility in a simple way. (e.g. npm test-compat)
Phase 2:
Add these backward compat tests to the devtools optional trybot and then auto-include the trybots as part of the presubmit hook. For simplicity, we can start with a linux trybot and then later add other platforms if needed.
Since versioning DevTools protocol (https://chromium.googlesource.com/chromium/src/+/a91861b31d2119f96f7b4c0d90b9c4b1d4a24120), we've needed to keep front-end changes backwards compatible with older backends. In particular, this benefits node.js whose v8 inspector backend is updated periodically (yearly?) but uses the latest devtools frontend from Chrome.
Approach:
- A content shell from the protocol versioning commit will be stored on the cloud
- DevTools tests will be run in backwards compatibility mode
- Address test result discrepancies by creating a separate baseline where needed and filtering out console error messages when a protocol method does not exist (need only to make sure devtools frontend gracefully handles the error)
Phase 1:
Initially create a local way of running tests for backwards-compatibility in a simple way.
Phase 2:
Add these backward compat tests to the devtools optional trybot and then auto-include the trybots as part of the presubmit hook. For simplicity, we can start with a linux trybot and then later add other platforms if needed.
Since versioning DevTools protocol (https://chromium.googlesource.com/chromium/src/+/a91861b31d2119f96f7b4c0d90b9c4b1d4a24120), we've needed to keep front-end changes backwards compatible with older backends. In particular, this benefits node.js whose v8 inspector backend is updated periodically (yearly?) but uses the latest devtools frontend from Chrome.
Approach:
- A content shell from the protocol versioning commit will be stored on the cloud
- DevTools tests will be run in backwards compatibility mode
- Create a separate baseline where needed
- Make sure devtools frontend gracefully handles backends that are missing newer protocol methods (e.g. no test should timeout)
Phase 1:
Initially create a local way of running tests for backwards-compatibility in a simple way.
Phase 2:
Add these backward compat tests to the devtools optional trybot and then auto-include the trybots as part of the presubmit hook. For simplicity, we can start with a linux trybot and then later add other platforms if needed.
Since versioning DevTools protocol (https://chromium.googlesource.com/chromium/src/+/a91861b31d2119f96f7b4c0d90b9c4b1d4a24120), we've needed to keep front-end changes backwards compatible with older backends. In particular, this benefits node.js whose v8 inspector backend is updated periodically (yearly?) but uses the latest devtools frontend from Chrome.
Approach:
- A content shell from the protocol versioning commit will be stored on the cloud
- DevTools tests will be run in backwards compatibility mode
- Create a separate baseline where needed
* (I'm using `dtrun compat-test --new-baseline inspector/test.html`)
- Make sure devtools frontend gracefully handles backends that are missing newer protocol methods (e.g. no test should timeout)
Phase 1:
Initially create a local way of running tests for backwards-compatibility in a simple way.
Phase 2:
Add these backward compat tests to the devtools optional trybot and then auto-include the trybots as part of the presubmit hook. For simplicity, we can start with a linux trybot and then later add other platforms if needed.
Doesn't seem to be worth the effort as it would take a huge investment to maintain a compatibility test suite and our current ad-hoc approach hasn't resulted in much issues thus far. @dgozman, feel free to re-open if you disagree.
Comment 1 by chenwilliam@chromium.org
, Jan 19 2017