Commit Graph
148 Commits
Author SHA1 Message Date
Danil Somsikov f294de1de2 Fix TEST_PATTERNS format description
Bug: none
Change-Id: I314035b082d7037a2be5755b634c0c8b37876614
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3607836
Commit-Queue: Danil Somsikov <dsv@chromium.org>
Auto-Submit: Danil Somsikov <dsv@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
2022-04-26 15:22:07 +00:00
Simon Zünd e3cdd37fb8 [e2e] Load extensions from the same origin as the DevTools frontend
This CL is a preparatory refactoring. In the future, we want to load
DevTools from a different origin than `localhost` to increase
isolation between test runs (e.g. no shared window.localStorage).

To get there, we have to change how the extension tests load the
actual extension code. The extension must be served from the same
origin as the DevTools frontend. Currently this CL is a no-op, as
both resources and the DevTools frontend are served from 'localhost'.

R=pfaffe@chromium.org

Bug: 1297458
Change-Id: Iedee09d8cdd992f64132add78537428e9e4ab7ae
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3466036
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
2022-02-16 10:12:32 +00:00
Simon Zünd 0b5820576e [l10n] Fix e2e test that switches locales
This CL fixes a long-standing disabled l10n test. Initially we didn't
have a 'language' setting so we had to use the emulation feature
to simulate setting `navigator.language`. Finally, this is not how
we solved l10n for DevTools.

This CL adds a new helper that allows setting settings via the
Host API and uses it to make sure that the pseudo local is loaded
and applied correctly.

R=alexrudenko@chromium.org

Bug: 1163928
Change-Id: I1873ed38c9c6ef95ae87b281292e210363764211
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3466035
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
2022-02-16 08:53:32 +00:00
Takuto Ikuta a36c4e87eb extract AsyncScope to separate file
This is extracted from https://crrev.com/c/3330076/36

This is to fix interactions test failure like
```
    1) shows cookies even when navigating to an unreachable page (crbug.com/1047348)
(node:3756728) Warning: Accessing non-existent property 'AsyncScope' of module exports inside circular dependency
    at emitCircularRequireWarning (node:internal/modules/cjs/loader:707:11)
    at Object.get (node:internal/modules/cjs/loader:721:5)
    at waitFor (/usr/local/google/home/tikuta/devtools/devtools-frontend/test/shared/helper.ts:228:67)
    at getElementPosition (/usr/local/google/home/tikuta/devtools/devtools-frontend/test/shared/helper.ts:57:21)
    at click (/usr/local/google/home/tikuta/devtools/devtools-frontend/test/shared/helper.ts:104:13)
    at navigateToApplicationTab (/usr/local/google/home/tikuta/devtools/devtools-frontend/test/e2e/helpers/application-helpers.ts:11:9)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at Context.<anonymous> (/usr/local/google/home/tikuta/devtools/devtools-frontend/test/e2e/application/cookies_test.ts:29:5)
```
when we use esbuild.

Bug: 1278663
Change-Id: I9e3ab2d19c4daa56c87e3f77ac917a13d32a7c24
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3394445
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Tim Van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim Van der Lippe <tvanderlippe@chromium.org>
2022-01-17 12:40:45 +00:00
Jesper van den Ende 0113884bf6 Use mousedown event for activating network requests.
The click event only fires for elements that receive both a mousedown
and a mouseup event. Since DataGrid elements in the Network panel get
replaced every time a message is received on WebSockets, the click
event doesn't get fired if you click before a message and release after
the message. To fix this we'll listen for the mousedown event instead.
This has the added benefit that the request panel becomes visible
sooner, making it feel more responsive.

Fixed: 1222382
Change-Id: Ia44c47a90b4822530081caf63aec682e9f32186c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3293092
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
2021-11-23 06:57:58 +00:00
Tim van der Lippe 59cd4d1065 Remove trailing comma in tsconfig.json
R=yangguo@chromium.org

Bug: 1268746
Change-Id: If259ec5deef83183439a3c528b430847f8236436
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3275334
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
2021-11-11 09:49:04 +00:00
Andres Olivares c860fe1985 Introduce describe.skipOnPlatforms mocha extension
NOPRESUBMIT=true
Bug: none
Change-Id: If0e96e43aa13a2fa557a075975c2e7f365db930a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3258130
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2021-11-03 20:44:06 +00:00
Kateryna Prokopenko 227106dbf3 Allow Network request blocking panel scrolling in blocking disabled state
Bug: 1251542
Change-Id: I4cddc3d939cc1238ea931452762ed69c54871779
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3211977
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Commit-Queue: Kateryna Prokopenko <kprokopenko@chromium.org>
2021-10-11 16:14:52 +00:00
Jack Franklin a3f2d16091 Expose RenderCoordinator pending frames count
This change is required to prevent a test timing out when we await the
coordinator being done when actually that work is already done.

Previously the helper would add a listener for the `rendererqueueempty`
event but if the work had been completed by then, the event would never
fire and the test would time out.

Now we expose globally a function to return the count of pending events
and the interaction/e2e test helper will check if that returns `0`, and
if so, resolve, before then adding the event listener.

This means a test that waits for work where that work has actually
already happened will now correctly resolve and continue, whereas before
it would time out indefinitely.

Bug: none
Change-Id: I43243bcc9002c9e97f476a66ed3f42c7313f7fcd
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3198872
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-10-01 11:59:40 +00:00
Jack Franklin 03f5467123 Make makeCustomWrappedIt wrapper for mocha extensions.
This CL provides a foundation for enabling custom test `it` functions in
a way that will ensure they can still be used with `.only`, `.skip` and
so on.

Bug: chromium:1186163
Change-Id: I31544ad5dd0cf86132a2b59c910da0a27acfca17
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3162063
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-09-15 16:23:52 +00:00
Sigurd Schneider 20e1748d7d Add e2e test for issue caching
Bug: chromium:1240622
Change-Id: I0dcb417a32859b15351a7c5510766a3e6309c900
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3138092
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-09-03 10:54:27 +00:00
Tim van der Lippe d79e3c545b Strongly type key in pressKey
R=jacktfranklin@chromium.org

Bug: none
Change-Id: Ib9eb75bdb76124e1d4f6d54e5b5edcfdea6a4504
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3135426
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-09-01 14:10:32 +00:00
Jack Franklin fda44a1eb5 Add generic types to $, $$ and waitFor helpers
Puppeteer supports generics on these methods, but we didn't support them
in our helpers. This CL adds support for them, meaning we can avoid `as
HTMLElement` in some of our tests.

Bug: none
Change-Id: I2b229b81522d85e6cd9662fd867932d7e24ab7c2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3110204
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-08-23 11:45:28 +00:00
Wolfgang Beyer be0727c813 Turn assertNotNull() into assertNotNullOrUndefined() for e2e tests
`assertNotNull()` of `undefined` does not cause the test to fail,
whereas `assertNotNullOrUndefined()` does.

Because of import restrictions, platform.js's
`assertNotNullOrUndefined()` is copied to helper.ts.

Bug: 1072335
Change-Id: Iaa56492c2f58f735cb93b434f6a73c65cdb740c5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3057046
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Wolfgang Beyer <wolfi@chromium.org>
2021-07-30 08:50:56 +00:00
Kriti Sapra 56daf78ddb Updated no-multiple-empty-lines to only have 1 as max
DISABLE_THIRD_PARTY_CHECK=updated linting formatting
Bug: 1106746
Change-Id: I371bca95b7cf1e8b7eaa4f9e7c3860af4eedee3e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3057042
Commit-Queue: Kriti Sapra <kritisapra@google.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-07-28 14:10:15 +00:00
Tim van der Lippe 72f2d4bcc8 Add e2e-tests for focus interactions of console messages
This replaces http/tests/devtools/console/viewport-testing/console-key-navigation.js
as an e2e-test.

R=aerotwist@chromium.org

Bug: 1203169
Change-Id: I461f742e84f13e44eecc74553ced77b5041d3340
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3010115
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-07-07 10:23:47 +00:00
Paul Lewis 2906222f2a Update Chromium source references
Some comments in the code refer to the master branch. This CL updates
those comments to refer to the main branch instead.

Bug: 1226943
Change-Id: Ib01747a447f7fc462ed92ba2fbb961cd12c3e490
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3009819
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Auto-Submit: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2021-07-07 10:11:57 +00:00
Sigurd Schneider 76cb0e9d20 Refactor matching helpers to support tables
Bug: chromium:1223300
Change-Id: Ifb464b5c7bc3c068e71ccc0f71cf995b3103bfb2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2983019
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-06-24 08:07:48 +00:00
Tim van der Lippe 46244285d4 Cleanup TypeScript configuration files and root OWNERS
This moves the required TypeScript configuration files into
/config/typescript/, which allows us to cleanup the root OWNERS.
Doing so will make it easier to make infrastructure refactorings
in our TypeScript configuration (if we for example need to add
a new file), while not requiring ENG_REVIEW_OWNERS.

DISABLE_THIRD_PARTY_CHECK=Configuration changes
R=yangguo@chromium.org,szuend@chromium.org

Bug: none
Change-Id: Icffd52d37c37b52651dc8125948dc90b2b79cdf5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2975287
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-06-22 10:45:59 +00:00
Philip Pfaffe d097e515dc Mark asyncScopes as canceled on timeout
When an e2e test times out, running promises aren't aborted. Instead,
any errors that are thrown are silently swallowed. When not being
careful, in-flight promises can still mess up state, or even never
detect timeouts. waitForFunction is especially vulnerable to this,
because it's running an infinite loop inside the test process. This CL
extends AsyncScopes to carry a flag when a timeout was triggered, which
allows waitForFunction to bail.

Bug: none
Change-Id: I30ebcc45419c4000a1b2a25096ca1211bf2400a0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2978374
Auto-Submit: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
2021-06-22 10:40:48 +00:00
Alex Rudenko fd136e001e Rename DEBUG env var to DEBUG_TEST
Currently, you cannot run tests in non-debug mode
and turn on debug logging from Puppeteer that relies
on https://www.npmjs.com/package/debug.

Running `DEBUG=puppeteer.* ...` would also start the
test runner in a debug and non headless mode. This
CL renames the DEBUG variable that DevTools test runner
relies on so that debug logging is independent from the
debug mode we have for tests.

Bug: none
Change-Id: I8b8476f7c26c07eea1db29bfae74d4fb61afd42c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2963755
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jan Scheffler <janscheffler@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-06-16 12:47:15 +00:00
Jan Scheffler 551be57016 Update puppeteer to v10.0.0
DISABLE_THIRD_PARTY_CHECK=Update puppeteer requires type changes

Bug: None
Change-Id: Ifda85d161fc94567e4cfaaab0acc2da2f2c29d30
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2953266
Auto-Submit: Jan Scheffler <janscheffler@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-06-11 09:22:36 +00:00
Paul Lewis 4627047839 Adds renderCoordinatorQueueEmpty helper
This CL adds a helper for e2e / interaction tests that lets us know
when the render coordination work is done.

R=jacktfranklin@chromium.org

Bug: 1210848
Change-Id: I6bde19831aa7eff727c3adc31db852750a3c57cd
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2912103
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
2021-05-25 11:04:33 +00:00
Sigurd Schneider c3f5d19ed6 More waiting in test/e2e/sources/icon-row-bucket_test.ts
Flakes indicate that the .hover() doesn't work reliably. This CL adds
retries to the hover call.

Bug: chromium:1184162
Change-Id: Id79f9185993d7852706173e2d35e9b05986527ce
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2902811
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-05-19 07:00:52 +00:00
Jack Franklin a75ae7cbb3 Enforce import type when importing TS types.
Bug: none
Change-Id: I02ef1182143b7fe091ce92d59f04ac2188903e0d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2886925
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2021-05-11 14:00:22 +00:00
Sigurd Schneider c86b89fe67 Wait for CSP violations tab to update
Bug: chromium:1205766
Change-Id: I896ff541308437d4ee927dd33aec81ecc2939235
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2874129
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-05-05 09:16:46 +00:00
Sigurd Schneider a7d1bb14f4 Correctly handle relative sourcemaps in inline CSS
Previously, if inline CSS had a sourcemap attached, we'd assume that the
sourcemap maps HTML document locations instead of locations relative
to the start of the CSS style tag. This CL adds logic that checks for
inline CSS whether the sourcemap maps the origin location (0,0), and if
so, uses locations relative to the style tag to index the sourcemap.

This preserves the previous behavior for non-inline CSS, and for inline
CSS if the sourcemap doesn't map the origin coordinates.

Bug: chromium:787792
Change-Id: I92c107dc652cc377371dceb8c523d4788f2532bc
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2859907
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-04-30 10:53:22 +00:00
Sigurd Schneider 1531610a58 Add issues for CORS disallowed methods
This CL adds issues for the CORS error code

MethodDisallowedByPreflightResponse


Screenshot: https://imgur.com/a/gNylieJ

Bug: chromium:1141824
Change-Id: I13a20f7a7467ddc8c211520679583292499c2f7f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2846338
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
2021-04-26 08:34:30 +00:00
Sigurd Schneider bec4aa4eb5 Add issues for CORS credentialed requests to wildcard origins
This CL adds issues for the CORS error codes

WildcardOriginNotAllowed
PreflightWildcardOriginNotAllowed

Screenshot: https://imgur.com/a/8VmHdQe

Bug: chromium:1141824
Change-Id: I78c1bafa271bc8b4dbe49180d021d66455f790d0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2843304
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
2021-04-21 13:16:05 +00:00
Sigurd Schneider 2ca000670d Add issues for CORS response header problems
This CL adds issues for the CORS error codes

InvalidAllowMethodsPreflightResponse
InvalidAllowHeadersPreflightResponse
PreflightMissingAllowOriginHeader
PreflightMultipleAllowOriginValues
PreflightInvalidAllowOriginValue
MissingAllowOriginHeader
MultipleAllowOriginValues
InvalidAllowOriginValue

Screenshot: https://imgur.com/a/jywAigx

Bug: chromium:1141824
Change-Id: I22b6ed4c782da47d651cd0d0527c01503fc166be
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2837831
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
2021-04-20 11:30:14 +00:00
Jack Franklin 14b4b533b4 [TestRunner] allow e2e resource path to not start with a slash
This is for consistency with every other path option that the runner
takes; because we `path.join()` them they should work with or without
a starting slash. This is the only flag that requires a slash, so I'd
like to change it to make it work with or without.

Bug: chromium:1186163
Change-Id: I2f55da0a82b0d80d33f4d1c8f25c85492cdefd25
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2810279
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-04-07 10:09:29 +00:00
Tim van der Lippe 90d1c17188 Fix ESLint configuration with regards to spacing
ESLint and clang-format previously disagreed on whether there should
be a space before the arrow parentheses. Clang enforces the space
should be removed, which ESLint didn't want to.

Instead, we can configure ESLint to not add the extra space, to avoid
this inconsistency.

Bug: 1177242
Change-Id: Icc4435e86d6f6d9a0861f23f6b1cc95a5fd4d14f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799753
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Brandon Goddard <brgoddar@microsoft.com>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-01 14:09:33 +00:00
Jack Franklin 19a283d9fc Export puppeteer from 'test/shared/helper.js'
To make it easier to import from a helper without relying on Node
resolution. This CL only adds the export; if I update all imports to
use it we get a circular dep of:

test/shared:shared =>
test/conductor:implementation =>
test/shared:shared

So I will do some thinking about the best way to break that chain in a
follow-up CL (logged crbug.com/1193946).

Bug:1192498
Change-Id: Ia4d85be76a8018c41d9697e0cb9eda8ca556164e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2792584
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-30 09:55:18 +00:00
Alex Rudenko afd74f9d8a Add options to configure accepted encodings in the Network conditions
Screenshot: https://i.imgur.com/Fzu9cpR.png
Bug: chromium:1162042
Change-Id: I5bb03e86564db966e83ce057d6181023c8344d58
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2790879
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Changhao Han <changhaohan@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2021-03-30 09:40:18 +00:00
Jack Franklin 4b34d9c8cf Revert "[TestRunner] remove --chrome-features flag"
This reverts commit 7742a201a1.

Reason for revert: We do have a use case for this flag that we missed, so we need it. Will follow-up with a CL to fix the fact that the test frontend infra doesn't use it currently.

Original change's description:
> [TestRunner] remove --chrome-features flag
>
> The scripts (both the old Python one and the new JS one) took
> `--chrome-features` as a flag, which was then set as
> `process.env.CHROME_FEATURES`, however searching the codebase for
> `CHROME_FEATURES` revealed that whilst we set this value, we never
> read it. Therefore this CL removes it entirely, my logic being that if
> someone needed this flag to work, we would have found this bug a long
> time ago.
>
> We can reintroduce should we find a usecase for it in the future.
>
> Bug: chromium:1186163
> Change-Id: I11d900df4aaad232fd64b9edca2aac12c94fc988
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782555
> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
> Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>

Bug: chromium:1186163
Change-Id: I336a4a14a3e720f3b0626d78148038ceab9a8774
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2786942
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-25 14:02:21 +00:00
Jack Franklin 7742a201a1 [TestRunner] remove --chrome-features flag
The scripts (both the old Python one and the new JS one) took
`--chrome-features` as a flag, which was then set as
`process.env.CHROME_FEATURES`, however searching the codebase for
`CHROME_FEATURES` revealed that whilst we set this value, we never
read it. Therefore this CL removes it entirely, my logic being that if
someone needed this flag to work, we would have found this bug a long
time ago.

We can reintroduce should we find a usecase for it in the future.

Bug: chromium:1186163
Change-Id: I11d900df4aaad232fd64b9edca2aac12c94fc988
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782555
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2021-03-24 15:26:05 +00:00
Jack Franklin 1e39e4a268 [TestRunner] allow the e2e resources path to be configurable
Bug: chromium:1186163
Change-Id: I35031bd570f88de3b884da4e57cb9de5d00e5571
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2782551
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
2021-03-24 10:58:21 +00:00
Philip Pfaffe 9e8803fe5f Simplify running e2e tests selectively
Currently, a e2e tests can be run selectively using the --test-file
option of the test suite runner. This CL extends that by accepting
multiple file names or glob patterns as positional arguments.

Bug: none
Change-Id: Ie8edc254c82af1f280d1854a4cee2a3667b4629d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2727389
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
2021-03-11 10:57:43 +00:00
Simon Zünd 372e712a01 Report e2e and interaction test results to ResultDB
Note that the actual reporting is blocked on infra changes
(more specifically our bots need to migrate to LUIC realms), before
ResultsDB is available on our bots.

Nonetheless, this change can already land. As per official guidance
no runtime flags etc should be used, but only whether the LUCI_CONTEXT
environment variable is available.

R=tvanderlippe@chromium.org

Bug: chromium:1186570
Change-Id: I2974f8b3b68f4c42c8d4ae9309ebf7ca8f58ccb4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2748084
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-11 08:46:04 +00:00
Philip Pfaffe 30b1bab2ad Enable globbing patterns for running e2e tests
By supporting glob patterns for specifying tests to run (either through
--test-file or the TEST_FILE env var), it's possible to run tests for a
specific panel only, for example. For instance, tests can be run for
'sources/*' with this change.

Bug: none
Change-Id: I3c5d319b58a937758533ae679a628e19726512d2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2726574
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
2021-03-02 08:53:56 +00:00
Alex Rudenko b5285026ec Add ITERATIONS env var
Suggestion to add an ENV var called ITERATIONS
so that repeating a test does not require modification of the
source file.

Bug: 1181777, 1049999
Change-Id: Ic5cb024eeefe8c324216b5f841b2153870e35846
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2722436
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-01 12:58:38 +00:00
Alex Rudenko ceb75688d9 Add support for TEST_FILES env variable
This CL allows running multiple test files that would be useful
for the bot to deflake tests.

Bug: 1049999
Change-Id: I365924da95fbfc3ad8697c62675f6ae5368ef1c5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2722442
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-03-01 10:58:27 +00:00
Alex Rudenko 27d120309b Allow skipping e2e tests for a particular platform
Adds it.skipOnPlatforms function to skip an e2e test only on given
platforms. For example,

it.skipOnPlatforms(['mac'], '[crbug.com/xxxx] test name', ..);

Bug: none
Change-Id: Ia73382628c92195adfae9eebbb426250a5a55973
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2703964
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-02-19 08:27:25 +00:00
Sigurd Schneider 123977af32 Enforce naming convention in test/
Bug: chromium:1057042
Change-Id: Ib95f2640b1acf525cd12e377f0118377ddbe6077
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2695568
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-02-15 14:57:54 +00:00
Simon Zünd 5fd7506a2e [e2e] Add host resolver rules for *.test domains
This CL configures custom host resolver rules for the Chromium binary
that puppeteer is using to run e2e test.

With host resolver rules, all resources can now be loaded via
arbitrary '.test' domains while still being served from localhost.
E.g. an e2e test might navigate to 'devtools.test/foo.html' while
also including an iframe with Url 'bar.test/iframe.html', with both
files being served from localhost.

This unlocks testing for a whole class of features that was
previoulsy impossible to test.

This CL also adds a new helper 'goToResourceWithCustomHost', that
supplements the existing 'goToResource' with a modifiable host part.

R=aerotwist@chromium.org, sigurds@chromium.org

Bug: chromium:1177676
Change-Id: I1f51aa8419619e11352989457b24cc56cfc78e52
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2692148
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-02-12 13:36:02 +00:00
Jack Franklin 5017c095f3 Bump Puppeteer to 7.1.0
Doing so lets me remove some of my hacks for previously broken types.

DISABLE_THIRD_PARTY_CHECK=upgrading puppeteer

Bug: chromium:1176642
Change-Id: I141c6eadfe258ac2c8c31fa86c80f014362ee8ce
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2692157
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-02-12 12:04:06 +00:00
Jack Franklin 60cc8ba371 Upgrade DevTools Frontend to Puppeteer 7.0.4
DISABLE_THIRD_PARTY_CHECK=upgrading pptr

Bug: none
Change-Id: I3b0672d209bd6a35ab0eed7db7cc158cc40039dc
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2678700
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-02-10 14:07:38 +00:00
Philip Pfaffe 543570c2ba Patch Mocha's describe to include test names
When tests fail, debugging the failure includes isolating the test
before opening it in debug mode or adding diagnostics to it. With the
current test output, opening the file is surprisingly tedious, since
there is no direct way to map test log output to the tests on the
filesystem. One has to grep the test directory for test names first.
This CL wraps Mocha's describe function to automatically include the
test filename into the test title in a format that can be copy-pasted
into the test runner's --test-file argument.

Bug: none
Change-Id: I172bd14f5026ec0041b933c64bcdcccf58536fb9
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2681741
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Auto-Submit: Philip Pfaffe <pfaffe@chromium.org>
2021-02-08 15:49:05 +00:00
Alex Rudenko d6594130ef Report low contrast issues
This CL adds the logic to trigger contrast checks on DevTools
startup or on page load events. The check is only triggered if
the corresponding experiment (contrastIssues) is enabled.
Deduplication of the reported issues happens in the IssueManager
on the frontend since the same issue might be reported twice
if there are multiple documents on the target page.

Bug: chromium:1155460
Change-Id: Ib0d5115c527ceb9da9d2ed2dfa48cfdca6f82f60
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2573360
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
2021-02-04 12:39:48 +00:00
Sigurd Schneider 1576186355 Enforce member delimiters
This CL enforces member delimiters following
https://google.github.io/styleguide/tsguide.html#member-property-declarations

Bug: chromium:1057042
Change-Id: I2553aeebb8187235cdf0e7f0585da36ea53388bb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2672032
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-02-04 09:03:57 +00:00