OLD | NEW |
(Empty) | |
| 1 # Test filter files |
| 2 |
| 3 ## Summary |
| 4 |
| 5 This directory contains files that list tests that are not yet ready to run in a |
| 6 particular mode. For example - the `site-per-process.browser_tests.filter` file |
| 7 lists tests that should be excluded when running `browser_tests` in |
| 8 `--site-per-process` mode. |
| 9 |
| 10 ## File syntax |
| 11 |
| 12 Contents of test filter files follow the syntax below: |
| 13 |
| 14 - Empty lines are ignored |
| 15 - Lines starting with the '#' character are treated as comments and ignored. |
| 16 - All other lines specify a single [test name pattern][gtest_filter]. |
| 17 - Negative patterns: Patterns prefixed with the '-' character specify |
| 18 tests to exclude from a test run. |
| 19 - Positive patterns: All other patterns specify tests to include in a test |
| 20 run. |
| 21 |
| 22 A test will be executed if and only if it matches any of the positive patterns |
| 23 but does not match any of the negative patterns (please see documentation of |
| 24 [--gtest_filter][gtest_filter] for more details and examples). |
| 25 |
| 26 Please see [https://crbug.com/587527] for discussion how "positive" and |
| 27 "negative" test patterns should be combined in presence of both the |
| 28 `--gtest_filter` and the `--test-launcher-filter-file` command line flags. |
| 29 |
| 30 Example test filter file for excluding a set of tests: |
| 31 |
| 32 ```test.filter |
| 33 # crbug.com/417518: Get tests working w/ --site-per-process |
| 34 -BrowserTest.OtherRedirectsDontForkProcess |
| 35 -ChromeRenderProcessHostTest.* |
| 36 -ReferrerPolicyTest.HttpsRedirect |
| 37 |
| 38 # crbug.com/448592: Get extension browsertests working w/ --site-per-process |
| 39 -IsolatedAppTest.CookieIsolation |
| 40 -IsolatedAppTest.CrossProcessClientRedirect |
| 41 -IsolatedAppTest.IsolatedAppProcessModel |
| 42 -IsolatedAppTest.SubresourceCookieIsolation |
| 43 ``` |
| 44 |
| 45 ## Usage |
| 46 |
| 47 When running tests on desktop platforms, the test filter file can be specified |
| 48 using `--test-launcher-filter-file` command line flag. Example test invocation: |
| 49 |
| 50 ```bash |
| 51 $ out/dbg/content_browsertests \ |
| 52 --site-per-process \ |
| 53 --test-launcher-filter-file=testing/buildbot/filters/site-per-process.conten
t_browsertests.filter |
| 54 ``` |
| 55 |
| 56 When running tests on Android, the test filter file can be specified using |
| 57 `--gtest-filter-file` command line flag. Example test invocation: |
| 58 |
| 59 ```bash |
| 60 $ out/android/bin/run_content_browsertests \ |
| 61 --test-arguments=--site-per-process \ |
| 62 --gtest-filter-file=testing/buildbot/filters/site-per-process.content_browse
rtests.filter |
| 63 ``` |
| 64 |
| 65 ## Applicability |
| 66 |
| 67 Test filter files described here are currently only supported for gtest-based |
| 68 tests. |
| 69 |
| 70 For excluding layout tests when running with a particular command line flag, see |
| 71 `third_party/WebKit/LayoutTests/FlagExpectations/README.txt`. |
| 72 |
| 73 ## Adding new test filter files |
| 74 |
| 75 Please use the following conventions when naming the new file: |
| 76 |
| 77 - Please include the name of the test executable (e.g. |
| 78 `content_browsertests`). |
| 79 - Please use `.filter` suffix. |
| 80 - Feel free to add other relevant things into the file name (e.g. the mode the |
| 81 file applies to - for example `site-per-process`). |
| 82 |
| 83 When adding a new file, please update `//testing/buildbot/filters/BUILD.gn`. |
| 84 |
| 85 [gtest_filter]: https://github.com/google/googletest/blob/master/googletest/docs
/AdvancedGuide.md#running-a-subset-of-the-tests |
OLD | NEW |