Commit Graph
131 Commits
Author SHA1 Message Date
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
Sigurd Schneider 9c07567fdd Properly enable dangling comma conventions in TypeScript
The eslint rule 'comma-dangle' isn't enough to enforce dangling
commas in TypeScript, we must use '@typescript-eslint/comma-dangle'
instead.

Bug: chromium:1174055
Change-Id: I589e1016ab578c965b54f17da3eab7ea542a2f7a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2672028
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-03 14:01:11 +00:00
Alex Rudenko aedb3d8bf3 Capture screenshots on timeout if there are not async stacks
Bug: none
Change-Id: I7b83347597d3a3f6f2664963c4c68965648e1d5c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2665735
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-02-03 11:52:19 +00:00
Sigurd Schneider 286466e0c8 Reland "Show issues on SAB instantiation"
This reverts commit b3759d720b.

Reason for revert: A chrome test binary roll changed e2e test
behavior between running CQ on the CL and landing it.

Original change's description:
> Revert "Show issues on SAB instantiation"
>
> This reverts commit f366a4ca99.
>
> Reason for revert: Fails on a lot of CQ and trybots.
> E.g.: https://ci.chromium.org/ui/p/devtools-frontend/builders/ci/Stand-alone%20Linux/5128/overview
>
> Original change's description:
> > Show issues on SAB instantiation
> >
> > Bug: chromium:1051466
> > Change-Id: I39f1110d370e3d5cca801112c2b776f697875d64
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2652505
> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> > Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> > Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
>
> TBR=sigurds@chromium.org,jacktfranklin@chromium.org,wolfi@chromium.org
>
> Change-Id: I8a6a8b7aa57be0521615f9569bfdcad86463d8d0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1051466
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2655246
> Commit-Queue: Simon Zünd <szuend@chromium.org>
> Reviewed-by: Simon Zünd <szuend@chromium.org>

TBR=sigurds@chromium.org,szuend@chromium.org,jacktfranklin@chromium.org,wolfi@chromium.org

# Not skipping CQ checks because this is a reland.

Bug: chromium:1051466
Change-Id: Id3858c9b38d4f0dbcbc47dcc86500e8e27258305
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2655248
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
2021-01-28 11:50:08 +00:00
Simon Zünd b3759d720b Revert "Show issues on SAB instantiation"
This reverts commit f366a4ca99.

Reason for revert: Fails on a lot of CQ and trybots.
E.g.: https://ci.chromium.org/ui/p/devtools-frontend/builders/ci/Stand-alone%20Linux/5128/overview

Original change's description:
> Show issues on SAB instantiation
>
> Bug: chromium:1051466
> Change-Id: I39f1110d370e3d5cca801112c2b776f697875d64
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2652505
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
> Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>

TBR=sigurds@chromium.org,jacktfranklin@chromium.org,wolfi@chromium.org

Change-Id: I8a6a8b7aa57be0521615f9569bfdcad86463d8d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1051466
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2655246
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
2021-01-28 10:02:18 +00:00
Sigurd Schneider f366a4ca99 Show issues on SAB instantiation
Bug: chromium:1051466
Change-Id: I39f1110d370e3d5cca801112c2b776f697875d64
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2652505
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
2021-01-28 08:52:47 +00:00
Tim van der Lippe ed61abde18 Enable no-implicit-coercion ESLint rule for test/
R=jacktfranklin@chromium.org

Bug: 1082789
Change-Id: Ibb356637e115dc811c165fb0ad33a60a99105e79
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2595267
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>
2020-12-16 15:40:04 +00:00
Alex Rudenko c9f76ea16b Capture page screenshot on e2e timeout errors
This CL adds capturing of the target page and the frontend screenshots
when a timeout occurs. The screenshots are printed to stderr as data URLs
and can be opened in a web browser directly.

Also-By: pfaffe@chromium.org
Change-Id: I58f731bd0a8d71565e1160699e1003b08361f073
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2571124
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2020-12-03 14:39:33 +00:00
Jack Franklin 3b3a782f3a Enable interaction tests
This CL introduces the infrastructure and first test for what we're calling
"Interaction tests". These are tests that can be used to test component
behaviour that cannot be tested via Karma unit tests but don't require an e2e
test either.

The best example here is complex user interactions: clicking and dragging a
mouse, or doing multiple tabs to navigate through the UI.

Note that the one interaction test added here for theme_colors isn't the best
example of a complex test, but it's a test that's good enough for now whilst we
get everything set up on infrastructure and make sure it runs without flaking.

Bug: 1153281
Change-Id: Ifb37639a557c459974f703b8954ae68a93d5d368
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2566808
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2020-12-03 10:44:22 +00:00
Tim van der Lippe 75c2c9cff5 Disable @typescript-eslint/no-unused-vars
The newest version of @typescript-eslint errors on declare globals.
While this is usually good to point out, we have legitimate usages
of these statements. Based on the discussion in
https://github.com/typescript-eslint/typescript-eslint/issues/2519
it seems unlikely this will be fixed anytime soon. Therefore, let's
disable these specific lines to unblock our upgrade of the linter.

R=jacktfranklin@chromium.org

Change-Id: Iee6339428eef0d5496783850a9026fed00942bcb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2566807
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>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2020-12-01 13:18:25 +00:00
Philip Pfaffe 7426b000e3 [wasm debug] Fix propagating debug evaluate errors in language plugins
When debug evaluation hits exceptions in wasm debugging, the
LanguagePluginManager incorrectly propagated those errors, causing weird
warnings in the wrong places or warnings that are missing altogether.
This CL hooks up the plugin manager with the existing error reporting
mechanisms and includes a test to make sure the errors show up.

Drive-by: In the watch window, when evaluation failed, we previously
swallowed the actual exception. That's probably because most of the time
that exception is a reference error because variables aren't valid in
the current scope. This CL adds a tooltip that shows the exception.


Bug: chromium:1137514, chromium:1153315
Change-Id: Ia1ec81ce95598adf7abab8c4e31c3310e3669fb7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2565376
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Auto-Submit: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
2020-11-30 16:34:10 +00:00
Jack Franklin 8d634c2cdf Update all enums to be const enums
We will land a rule soon that enforces const enums in the codebase. This
updates any non-const enums to be const enums and updates the tests
accordingly.

R=andoli@chromium.org

Bug: 1130536
Change-Id: I2221a948a88ec7328e7abc2b33f044d14aef73fb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2562853
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Andres Olivares <andoli@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2020-11-30 15:23:42 +00:00
Jack Franklin aba88003dc [ESLint] enforce enum members are explicitly initialized
As per the DevTools style guide; this was a rule enforced previously by
the component bridges.

Bug: 1130536
Change-Id: I281f2d355a78dedd0433b7967f7b26e2e71c8791
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2562348
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>
2020-11-26 17:03:13 +00:00
Jan Scheffler f74777559c [e2etest] Move hosted mode server to https
This allows testing things that require secure connections
like thrid party cookies.

Change-Id: Id7f6dc672f8a2e701f2baad22fa035826a8d7b2a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2537951
Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2020-11-18 12:58:43 +00:00
Peter Marshall 1319aa78f5 [tests] Don't print steps except for error cases
console.log() output is not buffered during parallel testing so it's
hard to associate the step() logging output with the test that
actually caused it. If we want to log stuff like this, we should find
a way to redirect it to the test reporter properly so that it gets
buffered per-test-file and printed all at once, like the describe/
it output is.

The step output probably isn't needed anymore as we have the AsyncScope
output which gives the source-mapped file name + line number in the
test output if there is an await failure, which is even more useful
than the step output.

If people find cases where we do really need this we can add it back,
the step function still exists for now.

Bug: 1101784
Change-Id: Ia90b6532ce348b189ee7c5f2e3ed482f074a6561
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2534207
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Almothana Athamneh <almuthanna@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
2020-11-13 09:03:52 +00:00
Peter Marshall 6ab6932111 [tests] Re-export mocha functions properly in mocha-extensions
Directly re-exporting functions using the ES modules syntax is clearer.

There is also a bug in parallel mode where describe.skip does not work
in some circumstances, and this fixes it.

Bug: 1101784
Change-Id: Ia0f94f53d0846253c46f47234eefdde4ce212ec8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2532243
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
2020-11-11 14:47:19 +00:00
Johan Bay f04b99c38e Remove redundant aria labels and update tests
crrev.com/c/2039270 introduced a redundant aria-label on every context
submenu for testing purposes. Now that Puppeteer supports querying the
AOM for computed name and role, we can use that instead and remove the
labels.

Change-Id: I883cd99ab5f289e5f50907336f4638bbcea57df4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2516341
Commit-Queue: Johan Bay <jobay@google.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2020-11-04 12:50:58 +00:00
Jack Lynch d529e88005 Reland "Settings: Add e2e tests for shortcuts tab"
This reverts commit f3b391e525.

Reason for revert: Some strings are different on mac, creating a reland to investigate a fix

Original change's description:
> Revert "Settings: Add e2e tests for shortcuts tab"
>
> This reverts commit 137f0a1b84.
>
> Reason for revert: Consistently fails on Mac Bot, first failure:
> https://logs.chromium.org/logs/devtools-frontend/buildbucket/cr-buildbucket.appspot.com/8864995173425920000/+/steps/E2E_tests/0/stdout
>
> Original change's description:
> > Settings: Add e2e tests for shortcuts tab
> >
> > This CL adds several end to end tests for the shortcuts settings tab,
> > including the keyboard shortcut editor.
> >
> > Bug: 174309
> > Change-Id: I293f233f9afde298cb618fbdbb6c9b147b895daf
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2504790
> > Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
> > Reviewed-by: Patrick Brosset <patrick.brosset@microsoft.com>
> > Commit-Queue: Jack Lynch <jalyn@microsoft.com>
>
> TBR=jalyn@microsoft.com,tvanderlippe@chromium.org,patrick.brosset@microsoft.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: 174309
> Change-Id: Ie5ee124b3ad760dead6745e33591eb7578b69e88
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2512225
> Reviewed-by: Simon Zünd <szuend@chromium.org>
> Commit-Queue: Simon Zünd <szuend@chromium.org>

TBR=szuend@chromium.org,jalyn@microsoft.com,tvanderlippe@chromium.org,patrick.brosset@microsoft.com

# Not skipping CQ checks because this is a reland.

Bug: 174309
Change-Id: I8382dfab7a3e3a3dfaaa36e834d67636b33a6b9c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2512850
Reviewed-by: Jack Lynch <jalyn@microsoft.com>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Patrick Brosset <patrick.brosset@microsoft.com>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Lynch <jalyn@microsoft.com>
2020-11-03 19:22:47 +00:00