Commit Graph
25 Commits
Author SHA1 Message Date
Alex Rudenko d990ae300a Improve handling of .spawnSync errors
Fixed: 1198532
Change-Id: Id299bb7700f7a78aad97ad77eee23e4bd0c5b5f7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3598878
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2022-04-21 15:37:27 +00:00
Jack Franklin 7a9e4e9b2c Support --mocha-reporter-options in run_test_suite
I landed support for Mocha's `--reporter` flag but you also need
`--reporter-options` to be able to configure them fully.

Bug: 1278289
Change-Id: I8c46bc1e9dfd87ed22edd04d60e906b622364232
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3327249
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
2021-12-10 10:53:01 +00:00
Jack Franklin 3d57faf4fe Support --mocha-reporter in run_test_suite.js
So that we can generate JSON reports from test runs.

Bug: 1278289
Change-Id: I8450280297102154a36fd9698f6cb05a76899103
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3327242
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
2021-12-09 14:50:06 +00:00
Jack Franklin d9172b6d0c Reland "Add mocha-fgrep flag to run_test_suite.js"
This relands the original change with a fix to avoid the issue where
we'd run Mocha with `--fgrep=undefined`, causing no tests to run...

Bug: none
Change-Id: I4df53a935fe5c4359e5c35f56db4f9c133e7603f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3162062
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-09-15 16:04:20 +00:00
Jack Franklin 634ddfed43 Revert "Add mocha-fgrep flag to run_test_suite.js"
This reverts commit 348a89db15.

Reason for revert: broke interaction and e2e test runs

Original change's description:
> Add mocha-fgrep flag to run_test_suite.js
>
> This CL adds the ability to filter the tests via Mocha's `fgrep` flag,
> giving us the ability to run a subset of the tests if we wish in the
> future.
>
> Fixed: 1249000
> Change-Id: I3379f6f0f60fc97d8af6b019761cfb31dda8afd2
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3162297
> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>

Change-Id: Ie1e1999f60f3b144665083e0103a786cfb22906e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3162060
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-15 14:35:50 +00:00
Jack Franklin 348a89db15 Add mocha-fgrep flag to run_test_suite.js
This CL adds the ability to filter the tests via Mocha's `fgrep` flag,
giving us the ability to run a subset of the tests if we wish in the
future.

Fixed: 1249000
Change-Id: I3379f6f0f60fc97d8af6b019761cfb31dda8afd2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3162297
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-09-15 11:53:07 +00:00
Alex Rudenko f1182e24da Fix missing os import in run_test_suite.js
Probably broken in crrev.com/c/3080314

Bug: chromium:1186163
Change-Id: I0478b7f137d80e1a1aad13e81579c1cc67b40cdf
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3083705
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-08-10 07:01:00 +00:00
Jack Franklin 841587771d [TestRunner] allow --node-modules-path to be multiple paths.
Bug: chromium:1186163
Change-Id: I63a88cc94403983b1cead1d8ac54bc04469e1b03
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3080314
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
2021-08-09 16:03:08 +00:00
Jack Franklin e716e01269 Allow run_test_suite.js not to run a server
This CL updates run_test_suite.js to allow the user to explicitly pass
in `none` for the test server type, rather than currently where the
runner basically forces you to run either the hosted mode server or the
component docs server.

Bug: chromium:1186163
Change-Id: Ib01f31f3f7ccfb4956c0c42a8deed035454e0d84
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3080310
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-08-09 13:32:27 +00:00
Jack Franklin 98edce7f17 [TestRunner] fix bug setting configuration flags
Once we've got the `yargsObject`, we pull out all the keys we want,
which are all the configuration flags bar the special yargs keys `$0`
and `_`. The bug here was that once we pulled out that configuration, we
didn't update it, and instead kept referring to `yargsObject` in the
rest of the code. This meant that when we dynamically set the
`test-server-type` flag, we set it on `yargsObject`, but we needed to
set it on the configuration flags object so that the settings propagate
down into the test runner.

Bug: chromium:1186163
Change-Id: Ia88bb25588651fac4c11783f551651d27ccd0334
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3075379
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-08-06 01:23:16 +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
Tim van der Lippe 7460028f70 Update run_test_suite to pass on coverage flag
When running `run_test_suite.js` you can now specify `--coverage`
to allow for coverage collection. This will used by the CQ
scripts to collect coverage for interactions tests.

R=jacktfranklin@chromium.org
CC=liviurau@chromium.org

Bug: 1206705
Change-Id: I555662f02efbf16165f1c8b3e47403e427d65a0a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2884241
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2021-05-11 09:29:08 +00:00
Tim van der Lippe e622f55864 Move component_docs to ui/components/docs
R=jacktfranklin@chromium.org

Bug: 1187573
Change-Id: I2f8225ba1b9fc9848cf497ec0235756ace0f4831
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2826290
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-14 15:08:31 +00:00
Jack Franklin 95126a863b [TestRunner] support --test-file-pattern as a positional arg.
Bug: chromium:1186163
Change-Id: Ib485321ba38860b9640f143f5cba008bdfa52bf6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2794955
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
2021-03-31 12:18:13 +00:00
Jack Franklin e61c02b806 [TestRunner] Make Conductor use --chrome-features flag.
This CL fixes a bug where the test runner took the `--chrome-features`
flag but Conductor never read that value when booting up a browser
instance.

This CL updates it so it will read the value and pass it into the
relevant argument when executing `puppeteer.launch`.

I also changed the Python test suite runner to not prepend
`--enable-features`; that feels like something that Conductor should
do, not the test runner.

Bug: chromium:1186163
Change-Id: I05916d39d60bb98a606570cd82e688581dd78a40
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2790874
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-29 11:47:41 +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
Jack Franklin fa099cbaef [TestRunner] validate file paths on input
Bug: chromium:1186163
Change-Id: If1c73edeebc1e015314ed4250ef038a816bdbcf4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2780793
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-23 11:28:59 +00:00
Jack Franklin a3dd06a3de Add test-suite-source-dir flag to new test runner
The current tests try to figure out the root directory and then glob
for _test.ts files within there, but this breaks easily if the folder
structure isn't exactly as expected. Instead we can set this via a
flag in the test runner.

This CL only updates the interaction tests, which use the new runner.
e2e tests will be supported in time.

Bug: chromium:1186163
Change-Id: I198b67bf0081ce7334c40d7d661fb8642c2d56d0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2772045
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-18 11:19:17 +00:00
Jack Franklin 0e199ca69f [TestRunner] set test-server-type flag
This CL adds a flag to the new test runner to provide the test-server-type.

We intelligently set it if the test suite ends with `e2e` or
`interactions`, but otherwise it's required. Unfortunately this can't
be checked as part of Yargs' API, so we check for it ourselves at run
time.

Bug: chromium:1186163
Change-Id: I6487f1a95c6c86759e1489309d4c18aec1292073
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2767266
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-18 11:04:22 +00:00
Jack Franklin aa1d0c8587 [TestRunner] add flag for configuring DevTools root page.
That. Note that this currently isn't used or set because everyone +
all our scripts still run the Python version of the test runner
script, not the new script. But this needs to be in place before we
move people over to the new script.

We provide a fallback value such that this still works and is able to
run the tests despite the test runner not providing the configuration
via an environment variable.

Bug: chromium:1186163
Change-Id: I8255e5c7f9902be845e3c33add7b1703f6e4db9d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2766904
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-17 15:29:47 +00:00
Jack Franklin 0dc1fef024 [TestRunner] Ensure NODE_PATH is absolute.
Forgot a call to `path.resolve`, which is required in the case that
`cwd` is a relative path.

Bug: chromium:1166669
Change-Id: Ia5af9567dde5a313174ca15945778a788e43cbd2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2766895
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
2021-03-17 10:34:07 +00:00
Jack Franklin fe65bc6387 [TestRunner] add base-path and shared-resources flags
This CL adds two flags to the new test runner for configuring the
components server and then updates the server to detect those values.

Note that whilst this CL adds yet-another-way to configure the
components server, this is only being done for backwards compat whilst
we roll out this change to all the various places. We will remove old
options towards the end of this work.

Bug: chromium:1186163
Change-Id: I4c9b85a5745b9fe36894e3c492952938a5b8f648
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2763875
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2021-03-16 13:59:59 +00:00
Jack Franklin 29bb6314ce [TestRunner] create new test runner that takes configuration file
This CL lands the initial new run_test_suite.js that can take its
configuration from a config JSON file, or from flags.

This new script is only used to run `npm run auto-interactionstest`
and nothing more; I want to roll it out slowly and ensure that
everyone is aware of it before removing the old Python script. I will
create a doc with all the various steps, and required documentation,
as I've taken the chance to rename some options to make them clearer.

Bug: chromium:1186163
Change-Id: I5a199f82ac7ab0f323988acacaa7aae2d64e6349
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2763866
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
2021-03-16 10:35:54 +00:00