A new presubmit check is added that looks for lines adding tests, i.e.
matching `+TEST_P(`, and makes sure they are preceded by a pattern such
as:
```
// ...
- ... (optional removals)
+TEST_P(...)
```
or
```
+// ...
- ... (optional removals)
+TEST_P(...)
```
If no comment is found before the test, an error is generated.
Bug: angleproject:2626
Change-Id: Ibf76ae76ad3b1bb0efcf7eab8273153dd5c5162e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3626929
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Re-land fixes the crash when drawing with no bound Program executable.
Currently we track feedback loops by counting the times a Texture is
bound as a sampler or image in a particular context. This is a bit
tricky because Texture bindings change frequently. Relative to the
number of times we need to check for a feedback loop this causes excess
overhead.
Usually Framebuffers have a low number of Textures bound (in many cases
just 1). And Textures aren't usually bound to many different FBOs. So
instead of counting the number of times a Texture is bound as a sampler
or image we will track the Framebuffers that the Texture is bound to.
This CL adds a small vector class to gl::Texture which tracks all the
Framebufer Serials of its bound Framebuffers. We can use this set to
quickly check if there's any potential feedback loop between the a FBO
and this Texture.
We also update the feedback loop check to use this new method. We will
be able to remove the old counting method when we switch the Vulkan
feedback loop handling to use the new tracking in this CL.
Bug: angleproject:4500
Bug: angleproject:4959
Change-Id: If2bd25b08298a99f5e64b4055137f9154b0f0860
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2365595
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Multiple commits are separated and format-checked separately.
Commit message is now taken solely from input_api.
Tags paragraph now covers the very last paragraph until the
first line that doesn't have a ":"
Bug: angleproject:4662
Change-Id: I84fe3fd1ffc30f6892a5c9dbe545acf24b0fc595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241617
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
1. The first sentence description should be one line <= 64 characters
2. The description body should be wrapped to <= 71 characters
3. Blank lines between the description and the body,
and the body and the meta-tags like Bugs
Bug: angleproject:4662
Change-Id: I966c79d96175da9eee92ef6da20db50d488137b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218696
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Clang format and non-ascii characters don't get along well, which are
typically introduced when copy/pasting spec language. This CL will
detect non-ascii characters during presubmit.
Bug: angleproject:4601
Test: git cl presubmit --upload
Change-Id: I80080fc04590ad47c9756f8f969d5c7f44d41793
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173684
Reviewed-by: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Specifying the project name is now mandatory. This helps avoid
accidentally referring to chromium bugs by forgetting the project name.
At the same time, it ensures the project name is not misspelled.
Bug: angleproject:4184
Change-Id: I6bbfe1751e2fd0baf424be38018374cce360df5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This is a reland of c40a21f353
Changes: Fixed presubmit failing on Windows due to being unable
to find gn, fixed export_targets.py failing on Windows for
Googlers due to being unable to find Visual Studio files.
Original change's description:
> Add export_targets.py to presubmit
>
> Adds export_targets.py to run as part of presubmit in order to help
> prevent breaking Firefox with BUILD.gn changes.
>
> Bug: chromium:1003151
> Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1003151
Change-Id: I321ade86f2d969601afb8e1ed61c36bf166887b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842127
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This file changes a lot less than git HEAD. And it should guard against
the same changes. Should reduce the instances of developer confusion
regarding run_code_generation being out of data.
Also update the presubmit check to print a more helpful message in the
case where the code does need to be regenerated.
Bug: angleproject:3333
Change-Id: I190dab5be50fc42512bdfc11c2d200f34f3b2092
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545123
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
These two checks are lifted directly from the Chromium code base. Also
adds a presubmit check for a patch description. Also adds some checks
to the "on commit" function so "git cl presubmit" can work.
Also reformats the style of the presubmit script a bit to match the
patterns in the Chromium presubmit.
Bug: angleproject:2626
Bug: angleproject:3054
Change-Id: Iff29b8856cf9eb9531e893cd0b0d80c0834b7676
Reviewed-on: https://chromium-review.googlesource.com/c/1403255
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>