Commit Graph

150 Commits

Author SHA1 Message Date
Ben Clayton 174c508c8d tools/cts: Bunch of fixes for 'cts roll'
• Strip 'release-x64' tags.
  These are always paired with 'release', and all
  other tests just have the 'release' tag. This
  means that results with the 'release' +
  'release-x64' tags are a subset of just the
  'release' tags, leading to many broken
  assumptions in the expectation update.

• Don't consider tests with the error reason
  'asyncio.exceptions.TimeoutError' as slow, but
  as a failure. The CTS expectation updater will
  already mark tests exceeding the config
  threshold as slow. This reduces the amount of
  data requested from resultdb, and prevents
  failed rolls when results are actually
  deadlocking.

• Fix inferring of patchset in GetResults().
  LatestPatchest() was called but was assigned to
  a nested scope.

Bug: dawn:1401
Change-Id: I57b2c9a029b31430d63a056f7b13c4bf1bc5b437
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88450
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-05-02 20:44:21 +00:00
Ben Clayton bf464ddbdf tools: Add the 'cts roll' sub-command
Performs a CTS roll, updating ts_sources.txt and expectations.txt.

Bug: dawn:1342
Change-Id: I18cc644e9eef1db6034fc07fd94f21f070561265
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88444
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-02 20:44:21 +00:00
Ben Clayton d9f2a61c6f tools: Add the 'cts export' sub-command
Updates a Google spreadsheet with latest CTS statistics.

Bug: dawn:1342
Change-Id: I01a9c99032c755d6a78af674675d8c9cbfc79019
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88443
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-02 20:44:21 +00:00
Ben Clayton 446166c81b tools/setup-build: Into the 'active' symlink directory
Previously we'd generate the build files into the symlink target directory.
CMake gets grumpy if the cache is invalidated, and you're building in the 'active' directory, which does not match the directory path it remembered.

Also: Enable ccache if found on PATH

Change-Id: I7e0dc93516b2c59d6bf346fc943acea3d0021087
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88311
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-29 20:18:45 +00:00
Ben Clayton 665c07ac6a tools: Add the 'cts update' sub-command
Updates the expectations file with new results.

Bug: dawn:1342
Change-Id: I05cab48eb1cf0f9ab7e652a1b7c3da361c45b0b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88442
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-04-29 19:09:17 +00:00
Ben Clayton 1ed858c20a tools: Add the 'cts merge' sub-command
Merges results files into one.

Bug: dawn:1342
Change-Id: Ia241afc982c88c840a102abba211053611f77f5b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88441
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-29 19:09:17 +00:00
Ben Clayton 09eafe71b5 tools: Add the 'cts results' sub-command
Pulls the CTS results from a patchset

Bug: dawn:1342
Change-Id: I879605b71517004d3a8e81a1b4481bbc0105a22c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88440
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-29 19:09:17 +00:00
Ben Clayton 40bed821f8 tools: Add the 'cts time' sub-command
Add the common utilities for starting and fetching build results.

'cts time' provides views on the longest running tests, along with
a histogram view of all test times.

Bug: dawn:1342
Change-Id: Ia3707f7f062ea26a2406e3163a26e1cc7e30e3b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88319
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-29 19:09:17 +00:00
Ben Clayton 251e464af1 tools: Add the 'cts format' sub-command
Formats an expectation file

Bug: dawn:1342
Change-Id: Idc7728ad5b955fcbdb4062e511aff6665a711718
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88318
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-04-29 19:09:17 +00:00
Ben Clayton 846e3149b7 tools: Begin adding the CTS command line tool
This CL introduces the Config structure, and config file.
Used by all the sub-commands.

Bug: dawn:1342
Change-Id: Iaad5a02bc2ceba2c63265cf0d1086dc7901e7ed7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88317
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-04-29 19:09:17 +00:00
Ben Clayton e822f5e016 tools: Add 'Duration' field to cts.Result.
Will help identify slow tests.

Bug: dawn:1342
Change-Id: I422d345361785addcc2faa6281e0608de02629b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88316
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-04-29 19:09:17 +00:00
Ben Clayton 15a85dec7e tools: Add 'subcmd' package
Helper for writing command line tools that have sub-commands.
Will be used by the CTS tool (roll, results, export, etc).

Bug: dawn:1342
Change-Id: Id22beecbc02b73af23064adc67c590f825b37789
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88315
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-29 16:30:24 +00:00
Ben Clayton 526087bde7 tools: Add more functionality to gerrit package
Add Patchset.RefsChanges(). Returns the 'refs/changes/X/Y/Z' string
for the given patchset.

Add []FileComment parameter to Gerrit.Comment(), allowing the posting
of comments on particular lines of the change.

Bug: dawn:1342
Change-Id: Ia4113a158b285c606b2c6c520cef6c9e8030fae7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88314
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-04-29 15:15:43 +00:00
Ben Clayton 2fb28e008d tools: Extract getDawnRoot() from run-cts to utils
This is needed elsewhere.
Rename location.go to paths.go, as this is really dealing with file
paths.

Bug: dawn:1342
Change-Id: Ifdbfafc0fd763ac7ec2b8f692efc35772c4793da
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87704
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-29 11:18:43 +00:00
Ben Clayton 27f480b7e6 tools: Add src/cts/expectations Update()
Implement the logic to update an existing expectations file with new
results.

Bug: dawn:1342
Change-Id: Idcbad57946712539cc5f0d238f89a2adf42f5aa0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87702
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-29 11:06:34 +00:00
Ben Clayton 2c1154c36f tools: Add src/cts/results.List.MinimalVariantTags
MinimalVariantTags accepts a list of tag-sets (e.g GPU tags, OS tags, etc),
and returns an optimized list of variants, folding together variants that
have identical result query-to-status mappings, and removing redundant tags.

Bug: dawn:1342
Change-Id: I759c82e9a0631a9d321d376656e5a2dbbf5f5507
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87643
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-29 08:13:19 +00:00
Ben Clayton 68e039c456 tools: Add src/cts/expectations
Implement an expectation parser, data structures and writer.

Bug: dawn:1342
Change-Id: I53587a9b55346ccf1543e15c9cec5ff68c6849ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87641
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-28 22:32:23 +00:00
Ben Clayton bd18618bf6 tools: Move go.mod & go.sum files to root
Go tooling does not work properly when modifying go files in subdirectories from the root of the IDE.

Consolidate the two go modules in the source tree.
We'll eventually want to move `src/dawn/node/tools` to `tools/src`.

Allows us to type `go test ./...` at the root, and test all go code in
the entire repo.

Bug: dawn:1342
Change-Id: Ie3dd2c89a769cd25c2b68884970ef0f2ba8c7560
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86532
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-04-28 09:51:03 +00:00
Ben Clayton 1c3f88eb0c tools: Fix LoadCredentials()
If the URL ends in a slash, this would fail to match the gitcookies file

Change-Id: I987ec637b2f6db172d4173938960060321722bfe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87920
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-04-26 14:53:42 +00:00
Ben Clayton 368b3eaae4 tools/src/cmd/perfmon: Fixes / improvements
• Fix up various references of 'tint' to 'dawn' post-migration.
• Round the CPU speed to 100MHz. This appears to fluctuate on reboots
  for some machines.
• Fix git.Log() - the Count was trimming from the wrong end, leading
  to perfmon spamming the github repo with repeat results.
• Instead of using google-benchmark's `--benchmark_repetitions` flag
  for repeating benchmarks, calculate averages by re-running the
  benchmark executable. Use '--benchmark_enable_random_interleaving'
  to randomize the order in which benchmarks are run, which greatly
  helps reduce noise in the averaged results.
• If the host machine supports CPU temperature sensors, wait for
  thermals to stabilise before running the benchmarks. Further helps
  reduce result noise.
• Breakout of the historic benchmarking loop every 15 minutes to check
  for new Gerrit changes to benchmark.
• When idle, attempt to re-benchmark historic results that are 'spiky'
  to reduce noise in the graphs.
• Specify more CMake flags to avoid building non-benchmark executables.
• Update the default base change for historic results. Attempting to
  use the old hash, which was prior to the tint -> dawn  merge makes,
  the git log go back to T0 on the dawn branch. We don't want to
  benchmark nearly 3k changes.

Change-Id: I8e59c7838720eb8bd11f217e9bd3104ba1eb51c3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87642
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-25 21:06:21 +00:00
Ben Clayton 2363ad16ea tools/src/cts/result: Add more helpers
Add result.List.StatusTree() for building a query.Tree[Status].
Add helpers for serializing results.
Add helpers for merging and de-duplicating results.

Change the interface of result.List.ReplaceDuplicates() so that the
merging function takes a status set instead of a list of results.

Bug: dawn:1342
Change-Id: I77580ec5fd4c8f12109fb6e9e83afea8b740260c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87240
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-20 19:10:42 +00:00
Ben Clayton 1a10b73552 tools/src/cts/query: Add Tree
A tree of query to data. Has utilities for reducing the tree based on a
custom merger function.

Bug: dawn:1342
Change-Id: If1c0503be05ee04bcf55dd5bdc9aa3caf6fb56ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87222
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-20 19:10:42 +00:00
Ben Clayton 529747b041 tools/src/resultsdb: Request 'test_id' field
Required as the test name tag field is limited to 256 bytes.

Bug: dawn:1342
Change-Id: I9f604181561acb6b7b9250599508474c0190333a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87221
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-20 00:29:05 +00:00
Ben Clayton ba9404dac2 tools/src/utils: Add location.go
Contains helpers for obtaining the source location of the caller

Bug: dawn:1342
Change-Id: I6eddf9140d10bc7889260392e04c3e2adec715d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87220
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-19 23:35:15 +00:00
dan sinclair f0469eb65a Update tools/format
This Cl updates tools/format to match the various Dawn extensions and to
use the `clang_format.py` file from depot_tools instead of the one from
clang. This fixes up some formatting differences so `tools/format` will
now match `git cl format`.

Bug: dawn:1339
Change-Id: I32a2cdbd2d7e950794268616fae38b5bf54ab370
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86874
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-04-19 14:44:14 +00:00
Ben Clayton a8b651a7cc tools: Add resultsdb package
Wraps the luci package to make it a bit friendlier.

Bug: dawn:1342
Change-Id: I8e0b5c27696d23aaf704fedcbdf71b26070f5d34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86528
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-14 10:53:10 +00:00
Ben Clayton 5827191cc5 tools: Add buildbucket package
Wraps the luci package to make it a bit friendlier.

Bug: dawn:1342
Change-Id: I80e02344ea1ecd95134a719f21eb8bd2a1cb1997
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86527
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-14 09:50:30 +00:00
dan sinclair 2a3d994cc2 Fixup CQ and Kokoro lint mismatches.
The kokoro bots are running at a different level of verbosity than
the presubmit check. This CL ups the verbosity level for presubmit
to match kokoro and suppresses any new lint warnings which are
produced by the change.

The set of always removed filter options used by PRESUBMIT are
copied into the CPPLINT.cfg main file in order for kokoro to
match the errors presented by the CQ.

Bug: dawn:1339
Change-Id: I875a06bc2ed929d5dbaaa933282e3afa2559a7af
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86627
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-04-13 16:14:26 +00:00
Ben Clayton ac068c9a31 tools: Add gitiles package
Wraps the luci package to make it a bit friendlier.

Bug: dawn:1342
Change-Id: I70bf01b7ef5fcf210a2ff7ccafa49ea0720ae125
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86526
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-04-12 18:01:51 +00:00
Ben Clayton 4c9a6b0951 tools: Minor improvements to the git package
Rename 'Auth' to 'Credentials' to match the gerrit package.

Add a couple more helpers, and add more comments.

Bug: dawn:1342
Change-Id: Ieb6d12d23bb71678e04ff694ab9085a8f5367437
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86525
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-12 16:16:01 +00:00
Ben Clayton 53ddabe48f tools: Flesh out the gerrit package
Add more helpers for interfacing with Gerrit.

Move dawn-specific constants out to a new 'dawn' package. Keeps the
packages dawn-specific-free.

Bug: dawn:1342
Change-Id: Iaebe0b68d877340fc848d711c848d01705ddae57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86524
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-04-12 16:13:31 +00:00
Ben Clayton 69d4edd0ad tools: Remove old tint test runner
This has been superseded with the end-to-end test runner.

Change-Id: I628cf9578313a43d8423abab3dfbacf398a8c6ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86522
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-12 12:48:01 +00:00
Ben Clayton 9173392671 tools: Add src/cts/result
Holds types that describe CTS test results

100% test coverage.

Bug: dawn:1342
Change-Id: I453e87549eb992b2dcb41da4e0b6e3907ab2ed06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85804
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-11 11:03:10 +00:00
Ben Clayton 4127abfd41 tools: Simplify gerrit-stats and snippets
Automatically try to infer 'user' from git config.
Default to 'dawn' repo over tint.

Usage:

tools/run snippets
tools/run gerrit-stats

Change-Id: I8c4617101447ac635e753b0a2a0b655ba6c64b54
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86300
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-04-11 10:49:50 +00:00
Ben Clayton d820f48f35 Kokoro: Ensure that no CRLF creep in
Bug: dawn:1339
Change-Id: Ie617969521c20a86763080c3400054ea2fad6779
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86141
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-08 16:55:56 +00:00
Ben Clayton afbe161cd4 Remove standalone.gclient
Use `scripts/standalone.gclient` instead.

Bug: dawn:1339
Change-Id: Id702d42d104a0f6951973792389f897a6bdf4b10
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86069
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-07 19:28:44 +00:00
Ben Clayton 17393c1535 Move kokoro dir under infra
Relabel a bunch of things as Dawn instead of Tint.

Also adjust the tools/lint to only lint Tint.
- It doesn't like Dawn code much.

Bug: dawn:1339
Change-Id: Iab224cfbea2314f9e06fe71f8d75d825bc483c43
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86066
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-07 19:25:14 +00:00
Ben Clayton feb42e5231 .vscode/tasks.json - Add 'cmake gen'
Allow the developer to pick either the GN or CMake build. Extract the lengthy string out to a new bash script in <dawn>/tools.

Windows CMake is TODO.

The Tint repo defaulted to using CMake, where as the Dawn repo defaulted to using GN. This gives us the best of both.

Bug: dawn:1339
Change-Id: Ibd5cf2a8f1c6d416b231d3267d68e006aee806be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86064
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-04-07 19:22:21 +00:00
Ben Clayton 9f49ac5493 tools: Replace copy-pasta scripts
There were a bunch of helper scripts to build a go tool and run it.
Replace these with a single 'run' command that takes the tool name and arguments.

Helps reduce maintainance, file spew.

Also add the 'tools/bin' directory to .gitignore. These are the cached tool binaries.

Bug: dawn:1339
Change-Id: I012c966736b4d93949f6142c342cdcfefa9f0083
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-07 18:26:45 +00:00
Ben Clayton 59e96fe55e tools/src: Fix up paths post-tint-merge
Bug: dawn:1339
Change-Id: Icdc15e4d80ed4e65b343294eb3bc22a417fcf490
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/86062
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-07 17:50:24 +00:00
Ryan Harrison e87ac76f7d Merge remote-tracking branch 'tint/main' into HEAD
Integrates Tint repo into Dawn

KIs:
- Building docs for Tint is turned off, because it fails due to lack
  of annotations in Dawn source files.
- Dawn CQ needs to be updated to run Tint specific tests
- Significant post-merge cleanup needed

R=bclayton,cwallez
BUG=dawn:1339

Change-Id: I6c9714a0030934edd6c51f3cac4684dcd59d1ea3
2022-04-06 15:37:27 -04:00
Ben Clayton 3a279a84e7 tools: Remove error return value from query.Parse()
It was always nil

Bug: dawn:1342
Change-Id: I7bc623bba1cbc65e6b91dee7af9bc6b096174605
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85803
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-04-05 17:08:25 +00:00
Ben Clayton 75cc17f2d1 tools: Add src/cts/query
Provides a type to represent the CTS query strings.

100% test coverage.

Bug: dawn:1342

Change-Id: I3769b094ba64221a7b79dd38f76daf0125ee9e28
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85221
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-04-01 16:31:15 +00:00
Ben Clayton 475941c295 tools: Add src/container
Contains generic Map and Set types.

Golang 1.18 added new support for generics, but has not yet added a standard library that provides generic containers. In future versions of Golang, there will almost certainly be similar implementations of these types.
Until then, use these to simplify some code.

100% test coverage.

Bug: dawn:1342
Change-Id: I2a5c7bfb26f15c2099037d3fa0f0576df641d9f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85220
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2022-03-30 21:12:14 +00:00
Antonio Maiorano ade4e74ec4 test-runner: add 'fxc-and-dxc' arg to run both FXC and DXC for HLSL
When enabled, for each test, FXC is run first, and if it succeeds, DXC
is run. If both succeed, the test passes, otherwise it fails. This
option allows us to get meaningful feedback from running this script
against HLSL files, as well as taking advantage of the feature to delete
skips for tests that now pass (both FXC and DXC in this case).

Change-Id: Iae2ebfda7bd92f1b94893e648e2d1fb1f6979b39
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/84680
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-03-28 20:17:22 +00:00
Antonio Maiorano 7419f0e26a Fix test-runner not skipping dirsWithNoPassExpectations
Tests were moved to a new 'tint' subdirectory for the tint -> Dawn
merge, but these paths were not updated.

Also regen'd files for HLSL and a couple are no longer failing.

Change-Id: I11c315d948013ed30635d20e6da565450859cb03
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/84341
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-03-23 15:10:22 +00:00
Ben Clayton 1fcb2a7a24 tools: Update post-shuffle paths for builtin-gen
Bug: tint:1418
Change-Id: Ic1560bf7a0aa99ecbe554b985dc07f1b055fab64
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/81500
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2022-02-22 20:24:59 +00:00
Ryan Harrison dbc13af287 tint->dawn: Shuffle source tree in preperation of merging repos
docs/    -> docs/tint/
fuzzers/ -> src/tint/fuzzers/
samples/ -> src/tint/cmd/
src/     -> src/tint/
test/    -> test/tint/

BUG=tint:1418,tint:1433

Change-Id: Id2aa79f989aef3245b80ef4aa37a27ff16cd700b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80482
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2022-02-21 15:19:07 +00:00
Ryan Harrison 555e94e7e3 Fix legacy non-inclusive language issues
Explicitly filters out problematic files from presubmit with issues
that are not under our control, i.e. URLs.

BUG=tint:1433

Change-Id: I34a449c825edc39f934cbe9afa3436f7514f2808
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80860
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2022-02-17 15:03:19 +00:00
Ryan Harrison 382b2a23c8 Add test-name-filter flag to `get-test-plan`
BUG=tint:1413

Change-Id: I6a4735a97f64003cb4999d6a64b64666d0ce08ad
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/79140
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Kokoro: Ryan Harrison <rharrison@chromium.org>
2022-02-03 20:55:03 +00:00