Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: testing/buildbot/filters/README.md

Issue 2472153002: Gathering information about test filter files into a README.md file. (Closed)
Patch Set: Self-review. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/test_runner.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: testing/buildbot/filters/README.md
diff --git a/testing/buildbot/filters/README.md b/testing/buildbot/filters/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..7523dba40dd77fd4534d26d128541a5a858f6434
--- /dev/null
+++ b/testing/buildbot/filters/README.md
@@ -0,0 +1,114 @@
+# Test filter files
+
+## Summary
+
+This directory contains files that list tests that are not yet ready to run in a
+particular mode. For example - the `site-per-process.browser_tests.filter` file
+lists tests that should be excluded when running `browser_tests` in
+`--site-per-process` mode.
+
+## File syntax
+
+Contents of test filter files follow the syntax below:
+
+- Empty lines are ignored
+- Lines starting with the '#' character are treated as comments and ignored.
+- All other lines specify a single [test name pattern][gtest_filter].
+ - Patterns prefixed with the '-' character specify tests to exclude from a
+ test run.
+ - All other patterns specify tests to include in a test run.
alexmos 2016/11/03 21:30:58 nit: while we're at it, should we also warn about
Łukasz Anforowicz 2016/11/03 22:00:15 Done. Sort of (no warning, just copying the short
+
+Example test filter file:
+
+```test.filter
+# crbug.com/417518: Get tests working w/ --site-per-process
+-BrowserTest.OtherRedirectsDontForkProcess
+-ChromeRenderProcessHostTest.*
+-ReferrerPolicyTest.HttpsRedirect
+
+# crbug.com/448592: Get extension browsertests working w/ --site-per-process
+-IsolatedAppTest.CookieIsolation
+-IsolatedAppTest.CrossProcessClientRedirect
+-IsolatedAppTest.IsolatedAppProcessModel
+-IsolatedAppTest.SubresourceCookieIsolation
+```
+
+## Usage
+
+When running tests on desktop platforms, the test filter file can be specified
+using `--test-launcher-filter-file` command line flag. Example test invocation:
+
+```bash
+$ out/dbg/content_browsertests \
+ --site-per-process \
+ --test-launcher-filter-file=testing/buildbot/filters/site-per-process.content_browsertests.filter
+```
+
+When running tests on Android, the test filter file can be specified using
+`--gtest-filter-file` command line flag. Example test invocation:
+
+```bash
+$ out/android/bin/run_content_browsertests \
+ --test-arguments=--site-per-process \
+ --gtest-filter-file=testing/buildbot/filters/site-per-process.content_browsertests.filter
+```
+
+## Applicability
+
+Test filter files described here are currently only supported for gtest-based
+tests.
+
+For excluding layout tests for specific command line flags of `content_shell`,
alexmos 2016/11/03 21:30:58 nit: maybe simplify to "For excluding layout tests
Łukasz Anforowicz 2016/11/03 22:00:15 Done.
+see `third_party/WebKit/LayoutTests/FlagExpectations/README.txt`.
+
+## Adding new test filter files
+
+### File names
+
+Please use the following suggestions when naming the new file:
alexmos 2016/11/03 21:30:58 how about s/suggestions/conventions/ :)
Łukasz Anforowicz 2016/11/03 22:00:15 Done.
+
+- Please include the name of the test executable (e.g.
+ `content_browsertests`).
+- Please use `.filter` suffix / extension.
alexmos 2016/11/03 21:30:58 nit: "suffix / extension" - just pick one?
Łukasz Anforowicz 2016/11/03 22:00:15 Done.
+- Feel free to add other relevant things into the file name (e.g. the mode the
+ file applies to - for example `site-per-process`).
+
+### Build dependencies
+
+When adding a new file, please remember to update `data` dependencies of the
+relevant test target. This will help ensure that the test filter file ends up in
+the right place on the bot running the tests.
+
+For example - when adding a new test filter file for `content_browsertests`
+please update `content/test/BUILD.gn` to cover the new test file as a `data`
+dependency of `content_browsertests` target.
+
+Example - `content/test/BUILD.gn`:
+
+```BUILD.gn
+test("content_browsertests") {
+...
+ data = []
+...
+ # Adding all //testing/buildbot/filters/*.content_browsertests.*filter files
+ # as a dependency.
+ #
+ # They might not be used on all platforms (e.g. there is no mac bot coverage
+ # for --site-per-process today), but for simplicity we just include all of
+ # them below (doing this should help avoid unpleasant surprises when a bot
+ # config is switched in testing/buildbot/chromium.fyi.json without
+ # corresponding dependency changes here - see https://crbug.com/661447).
+ #
+ # To refresh, run the following command in bash:
+ # $ for i in $( \
+ # find testing/buildbot/filters -name '*.content_browsertests.*filter'); \
+ # do echo " \"//$i\","; done | sort
+ data += [
+ "//testing/buildbot/filters/browser-side-navigation.linux.content_browsertests.filter",
+ "//testing/buildbot/filters/cast-linux.content_browsertests.filter",
+ "//testing/buildbot/filters/isolate-extensions.content_browsertests.filter",
+ "//testing/buildbot/filters/site-per-process.content_browsertests.filter",
+ ]
+```
+
+[gtest_filter]: https://github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md#running-a-subset-of-the-tests
« no previous file with comments | « build/android/test_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698