- Building on an arm mac now works well, and is covered by a main
waterfall bot (the main waterfall bot even works without rosetta)
- All tests should pass by now without rosetta
- Except for web tests on macOS 12+, but that's true on Intel as well.
A fix for that is in review.
Bug: 1103236,1103275,1234503,1190885
Change-Id: I0ef174f4baffbd5499f43c12524f28f85f9ba8fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3368225
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#955825}
Change this to --timeout-ms to align with other parameter names,
e.g. --exit-after-n-crashes-or-timeouts, --skip-timeouts,
--initialize-webgpu-adapter-at-startup-timeout-ms.
Bug: 1095123
Change-Id: I039c342249c7392ffdb850eebbbf63a51fe7cd8a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3366217
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Weizhong Xia <weizhong@google.com>
Cr-Commit-Position: refs/heads/main@{#955755}
Update web_tests.md to fix some problems in Test Harness Options section
- Remove --renderer-startup-dialog option description from the table
because run_web_tests.py seems to no longer have
--renderer-startup-dialog option.
- Let the Meaning of --reset-results display correctly. Vertical bar
in the inline code block inside the table isn't displayed correctly. Let
it out from the inline code block and use HTML character code instead.
Update AUTHORS
- Add a new individual contributor Takahiro because this is his first
patch
Change-Id: Ie374a0a77e27fabf1d7b522845fcf0d9407ddd63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3357156
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#955567}
Moves inactive GPU experimental testers to the new
chromium.gpu.experimental console. This console is intended to be used
for parking inactive GPU experimental testers until they are needed
again in order to declutter the chromium.gpu.fyi console.
These testers have already been paused.
Bug: 1280441
Change-Id: If035c502b40a88c3dd54da5dd6236c6e88dcfb57
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3345549
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#955514}
This summarizes the state of how test results are fetched and used on
chromium bots after the work done in crbug.com/1135718.
This doc should also provide pointers/advice for folks introducing a
new test type or test harness to Chromium.
Bug: 1135718
Change-Id: Ia39a3a4101c71bb8591f7875cb812ef56b53a823
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3293843
Reviewed-by: Chan Li <chanli@chromium.org>
Reviewed-by: Erik Staab <estaab@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Commit-Position: refs/heads/main@{#955439}
Add unit test to ensure that copies of a barrier callback share state.
While this is already used in multiple use cases, it was not obvious
to me.
Add basic documentation with a usage example.
Bug: 1283847
Test: New unit test
Change-Id: I84c8f61777108eed60ec8781df11de84a507359a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3361846
Reviewed-by: danakj chromium <danakj@chromium.org>
Commit-Queue: Roland Bock <rbock@google.com>
Cr-Commit-Position: refs/heads/main@{#955284}
This adds info about how to use the worker-specific
BrowserInterfaceBinders, how to use the RenderProcessHostImpl
BrowserInterfaceBinder, and also discusses
navigation-associated interfaces.
Bug: None
Change-Id: Iea614f8353be5ed0a5eca7283344e9c26b8b9fe4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3359121
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Commit-Queue: Andrew Williams <awillia@google.com>
Cr-Commit-Position: refs/heads/main@{#954485}
If don't run `autoninja -C out/Default unit_tests`, you will get the following error:
```zsh
$ out/Default/unit_tests --gtest_filter="PushClientTest.*"
```
zsh: no such file or directory: out/Default/unit_tests
Change-Id: Id390ee9a7e78624e4eba8d91199670645a484bf6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3351802
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#954000}
Enable the state of the GlobalVaapiLock switch to be manually set. This
flag will be used in a follow-up for corresponding tast tests.
Tested: Ran binaries on Volteer DUT.
Bug: b:182008564
Change-Id: I5a3922946b6aa4a6aaebb58d3ad0307b869fc2c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3339096
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Commit-Queue: Jeff Chen <jeffcchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#953661}
This CL patches vs_toolchain.py to handle an installed version of
Visual Studio 2022. This is a necessary first step towards supporting
VS2022, but it's not sufficient. There are no guarantees that the
MSVC143 toolchain produces acceptable results.
Visual Studio 2022 is the first 64-bit edition, so it is installed in
C:\Program Files\, not C:\Program Files (x86)\. Handling both VS2022 and
older versions introduces a bit of extra complexity in the path
detection code. We'll be able to remove this complexity when we remove
support for VS2019 and below.
This was originally landed as crrev.com/c/3316095 but that change broke
arm64 builds because this change inadvertently changed the toolset
version for prepackaged toolchains which arm64 use to find the UCRT.
Tested: Full build with Visual Studio 2022 Professional retail, gn gen
of x64 and arm64 with packaged toolchain.
Bug: 1277518
Change-Id: Ic942ba82a71799bbe14dc64e4e640d9d36e62b22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3351095
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#953228}
This CL adds a `rust_unit_tests_group(...)` gni template that can
generate a Chromium-bot-friendly script that can run _all_ Rust unit
tests inside the transitive `deps` of the group.
Manual testing:
1. Checking that the tests can be run locally:
$ ninja -C out/rust build/rust/tests
$ out/rust/bin/run_native_rust_unittests__from__build_rust_tests
... the tests execute successfully ...
2. Checking that the tests can be run on the bots in a follow-up CL:
https://crrev.com/c/3322199/6
3. Checking that the runtime_deps are reasonable:
$ gn clean out/rust
$ gn desc out/rust \
build/rust/tests:native_rust_unittests__from__build_rust_tests \
runtime_deps
bin/run_native_rust_unittests__from__build_rust_tests
../../testing/scripts/rust/main_program.py
../../testing/scripts/rust/test_filtering.py
../../testing/scripts/rust/test_results.py
../../testing/scripts/rust/exe_util.py
../../testing/scripts/rust/rust_main_program.py
bin/run_test_mixed_component_rs_unittests
./test_mixed_component_rs_unittests
bin/run_test_mixed_source_set_rs_unittests
./test_mixed_source_set_rs_unittests
bin/run_test_rust_source_set_unittests
./test_rust_source_set_unittests
bin/run_foo_tests
./foo_tests
bin/run_test_rust_unittests
./test_rust_unittests
bin/run_test_variable_source_set_rs_unittests
./test_variable_source_set_rs_unittests
Bug: 1260120
Change-Id: I19a15581ced0da85c6ec50a95016f2a547a43600
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3327603
Reviewed-by: Adrian Taylor <adetaylor@google.com>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#953019}
This is behind the gclient option "checkout_clang_libs"
When enabled:
- Header files from llvm/clang/include/clang appear at
third_party/llvm-build/Release+Asserts/include/clang/
- Static libclang* libraries that were built at
llvm-build/Release+Asserts/lib will appear at the same
location under third_party/llvm-build.
The libraries themselves are meant only for the host
machine, so they don't need to be separated by target
tuples, just like libstdc++.so.6 does not.
R=thakis@chromium.org
Bug: 1272780
Change-Id: Iac2cd40b6c05c63c4913c20ce64aa5d7831fdb6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3342694
Commit-Queue: danakj chromium <danakj@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#952348}
This was switched to vpython3 because run_web_tests.py
specifies vpython3.
It turns out the other scripts specify vpython and
while vpython3 almost works, it fails with some other
messages such as (for run_blink_wptserve.py):
ALPN negotiated protocol h3
Connection close sent (code 0x0, reason )
<repeatedly>
Bug: crbug.com/1280472
Change-Id: Id455ea0f2fea860f76a4b0e17de9490634779c40
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3344086
Auto-Submit: Johann Koenig <johannkoenig@google.com>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#952206}
vpython3 is specified in run_web_tests.py
using python or python3 leads to errors such as:
or
ImportError: No module named requests
ModuleNotFoundError: No module named 'aioquic'
Change-Id: I53660e5222020d9266c0ff3ac088e1ff99ad7e27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3341132
Auto-Submit: Johann Koenig <johannkoenig@google.com>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#951859}
* replace the term "master" with "bucket" which appears to be the
correct term (although this is specifically the v1 bucket syntax,
which probably doesn't need to be mentioned here)
* use an example that is valid today
* point out that Gerrit can produce the syntax for you
Change-Id: I2f1a8e1bf3a0d57eb99d4fc5c457cd98c60677aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3334705
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#951013}
This CL tweaks GN templates so that `rust_unit_test(foo)` will not only
generate a `out/dir/foo` executable with unit tests from "foo" crate,
but also generate a `out/dir/bin/run_foo` Bash script that can be used
to run the tests in a //docs/testing/test_executable_api.md-compatible
way.
Exactly 1 generated run_foo script is generated per 1
rust_unit_test("foo") build target. In the future, additional gni magic
may be provided for generating a script that covers multiple crates
(e.g. multiple Rust unit test executables). To ensure that the test
names are stable going forward, this CL preemptively tweaks
//testing/scripts/rust to encode the name of a test executable in test
names.
Manual testing:
1. $ ninja -C out/rust build/rust/tests/test_rust_unittests
$ out/rust/bin/run_test_rust_unittests
2. Checking that a follow-up CL can successfully execute Rust unit tests
on a bot: https://crrev.com/c/3322199/3
Bug: 1260120
Change-Id: I2c963c12c343ff90a7d5132ee8b7136d24a79685
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3268794
Reviewed-by: Adrian Taylor <adetaylor@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#950547}
Allow fuchsia_test_runner template to create an executable wrapper with
same name as test target itself.
When building a test target, in addition to the test component
<test_target_name>_component, three wrapper scripts are created:
1. deploy_<test_target_name>, for deploying the Fuchsia package onto a
device
2. run_<test_target_name>, for running the Fuchsia package on the device
3. <test_target_name>, for running the Fuchsia package on the device
The first two executables will be found in ${OUTPUT_DIR}/bin whereas
%package% will be found directly in the output directory.
This change also allows ninja to identify which test target to build
in the case of duplicate target names (e.g. unit_tests) since ninja
prioritizes executable targets.
Bug: 1268956
Change-Id: I582ab0d22a1b19b0e8df1bb96e0c8d207b021a2c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3296401
Auto-Submit: Chong Gu <chonggu@google.com>
Reviewed-by: David Dorwin <ddorwin@chromium.org>
Commit-Queue: Chong Gu <chonggu@google.com>
Cr-Commit-Position: refs/heads/main@{#950169}
Although web platform tests are different from web tests, the document
does not clearly mentions they are different. I misunderstood
web test as web platform tests. I have updated web_tests and
writing_web_tests to clarify they are different.
Also, I have added the way to debug WPTs in writing_web_tests.
This is something like my brain dump of what I have learned and used
recently. That includes the way to run test one by one, logging,
and the way to see HTTP headers for WPTs.
Change-Id: I1673e15b2c8ec7f8b17665aeb87b16d81de0d62a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3319983
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#949943}
This fixes a few bugs:
1 - Insertion of the version into the command line.
2 - Surprising reordering of server args with positional args.
3 - Missing keystone_postinstall and preinstall scripts.
4 - EC path not being appended as an arg if there are no server args.
I also added some additional logging and env variables.
I also simplified the mac install script to
1 - Not depend on positional args.
2 - Depend on the server to pass --system or not.
Fixed: 1278019, 1056818
Change-Id: Ieef13db89b33556fc5a8927c01eff617960d1d23
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3323681
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#949776}
This reverts commit 616dd4d5bd.
Reason for revert: Changes to IDL fail because this change broke
ARM64 builds, see https://crbug.com/1277518
Original change's description:
> build: Rudimentary support for Visual Studio 2022.
>
> This CL patches vs_toolchain.py to handle an installed version of
> Visual Studio 2022. This is a necessary first step towards supporting
> VS2022, but it's not sufficient. There are no guarantees that the
> MSVC143 toolchain produces acceptable results.
>
> Visual Studio 2022 is the first 64-bit edition, so it is installed in
> C:\Program Files\, not C:\Program Files (x86)\. Handling both VS2022 and
> older versions introduces a bit of extra complexity in the path
> detection code. We'll be able to remove this complexity when we remove
> support for VS2019 and below.
>
> Tested: Full build with Visual Studio 2022 Professional retail.
> Change-Id: Ib439343e773cf422c0f78cd960f3456fe35e1991
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3316095
> Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
> Commit-Queue: Victor Costan <pwnall@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#948668}
Bug: 1277518
Change-Id: I8248b66348b7238a05964e6f9cba494c1984605e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3322197
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#949324}
This CL patches vs_toolchain.py to handle an installed version of
Visual Studio 2022. This is a necessary first step towards supporting
VS2022, but it's not sufficient. There are no guarantees that the
MSVC143 toolchain produces acceptable results.
Visual Studio 2022 is the first 64-bit edition, so it is installed in
C:\Program Files\, not C:\Program Files (x86)\. Handling both VS2022 and
older versions introduces a bit of extra complexity in the path
detection code. We'll be able to remove this complexity when we remove
support for VS2019 and below.
Tested: Full build with Visual Studio 2022 Professional retail.
Change-Id: Ib439343e773cf422c0f78cd960f3456fe35e1991
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3316095
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/main@{#948668}
gn can inform IDEs such VSCode to find Rust code. With this change,
IDEs are successfully informed of the location of the Rust standard
library.
This is a breaking change for gn args, in the case that you're using
an external Rust toolchain. Previously you needed to specify
rust_bin_dir; now you need to specify rust_sysroot_absolute, pointing
to the parent directory of whatever you previously specified.
It also removes the redundant 'use_unverified_rust_toolchain' Boolean
argument.
The DEPS change here is to absorb a revised CIPD package of the Rust
toolchain which has slightly different source code layout.
Bug: 1269992
Change-Id: Ieae64344f4f7589f75a53ad2d4e83d4a12b6305a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3280458
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Adrian Taylor <adetaylor@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946561}
Introduces the initial NavigationEntry, created on FrameTree
initialization, which is not associated with any navigation. It will
be replaced or lose its initial-ness when the first navigation in the
main frame committed. With the initial NavigationEntry, we can always
guarantee that a NavigationEntry always exists, even when no navigation
has committed. This has many benefits, as outlined in the doc:
https://docs.google.com/document/d/1H81oAG13f21fUf-IGHH8AnjNVJFtaThowl5Ki9hWw5E/edit#heading=h.sbcge7snrbj3
This CL introduces a few changes of behavior:
- After initialization, a FrameTree/NavigationController will always
have a NavigationEntry. This will be reflected in content/public
functions such as GetLastCommittedEntry(), GetVisibleEntry(),
GetActiveEntry(), GetEntryCount(), GetLastCommittedEntryIndex(),
GetCurrentEntryIndex()
- Navigations that are previously ignored because there is no committed
entry to attach to or clone are now no longer ignored, except for the
synchronous about:blank commit for window.open().
What this CL does not change:
- This CL does not change the behavior of any navigation that wasn't
previously ignored, including initial empty document replacements.
- Web-platform-exposed behaviors, including history.length which will
still start at 0 instead of 1 on a tab that hasn't navigated at all.
- Behavior of WebView APIs. WebBackForwardList, which exposes the
whole session history list, remove initial NavigationEntry.
getOriginalURL() will continue to return null when there's no
committed navigation.
- Similarly, behavior of WebLayer APIs will not change. The values
returned by APIs such as GetNavigationListCurrentIndex() and
GetNavigationListSize() will continue to be what they were before (-1
and 0 respectively) even when the initial NavigationEntry exists,
preserving their previous behaviors.
This CL corresponds to Step 1 of the implementation plan in this doc:
https://docs.google.com/document/d/1H81oAG13f21fUf-IGHH8AnjNVJFtaThowl5Ki9hWw5E/edit#heading=h.8n643ug2wk11
This CL also applies all the changes detailed in the audit doc, except
for most of the "remove nullcheck" changes:
https://docs.google.com/spreadsheets/d/1MJyLNd6T5b7QWCO-qsSdnzmyLhubCddns1Uu9X8mEIk/edit#gid=0
Bug: 524208, 1215096
Change-Id: I9dbc17feeb451ae32954a8544cc32bb39ec37150
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3237491
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Reviewed-by: Clark DuVall <cduvall@chromium.org>
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Daniel Rubery <drubery@chromium.org>
Owners-Override: Charlie Reis <creis@chromium.org>
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946343}