tree: c45d6ec81909f7bcceecb4783d4daefba5f4aed8 [path history] [tgz]
  1. android.asan.breakpad_unittests.filter
  2. android.asan.content_browsertests.filter
  3. android.asan.unit_tests.filter
  4. android.emulator.cc_unittests.filter
  5. android.emulator.gl_tests.filter
  6. android.emulator.net_unittests.filter
  7. android.emulator.sandbox_linux_unittests.filter
  8. android.emulator.viz_unittests.filter
  9. android.emulator.webview_instrumentation_test_apk.filter
  10. android.emulator_10.net_unittests.filter
  11. android.emulator_11.base_unittests.filter
  12. android.emulator_11.blink_unittests.filter
  13. android.emulator_11.cc_unittests.filter
  14. android.emulator_11.chrome_public_test_apk.filter
  15. android.emulator_11.components_unittests.filter
  16. android.emulator_11.content_shell_test_apk.filter
  17. android.emulator_11.crashpad_tests.filter
  18. android.emulator_11.gl_tests.filter
  19. android.emulator_11.media_unittests.filter
  20. android.emulator_11.net_unittests.filter
  21. android.emulator_11.viz_unittests.filter
  22. android.emulator_m.chrome_public_test_apk.filter
  23. android.emulator_m.content_browsertests.filter
  24. android.emulator_m.content_shell_test_apk.filter
  25. android.emulator_m.media_unittests.filter
  26. android.emulator_p.chrome_public_test_apk.filter
  27. android.emulator_p.content_browsertests.filter
  28. android.emulator_p.media_unittests.filter
  29. android.lollipop_tablet_tester.content_browsertests.filter
  30. android.marshmallow_tablet_tester.content_browsertests.filter
  31. android.pie_arm64_rel.chrome_public_test_apk.filter
  32. android.pie_arm64_rel.gl_tests.filter
  33. bfcache.unit_tests.filter
  34. BUILD.gn
  35. cast-linux.content_browsertests.filter
  36. chromeos.base_unittests.filter
  37. chromeos.browser_tests.filter
  38. chromeos.media_unittests.filter
  39. chromeos.msan.browser_tests.oobe_negative.filter
  40. chromeos.msan.browser_tests.oobe_positive.filter
  41. chromeos.ozone_unittests.filter
  42. chromeos.services_unittests.filter
  43. chromeos.unit_tests.filter
  44. chromium.webrtc.fyi.android.tests.dbg.content_browsertests.filter
  45. code_coverage.browser_tests.filter
  46. e2e.sync_integration_tests.filter
  47. fuchsia.base_perftests.filter
  48. fuchsia.blink_unittests.filter
  49. fuchsia.components_unittests.filter
  50. fuchsia.content_unittests.filter
  51. fuchsia.debug.cc_unittests.filter
  52. fuchsia.debug.compositor_unittests.filter
  53. fuchsia.debug.media_unittests.filter
  54. fuchsia.debug.snapshot_unittests.filter
  55. fuchsia.debug.views_unittests.filter
  56. fuchsia.debug.viz_unittests.filter
  57. fuchsia.headless_browsertests.filter
  58. fuchsia.jingle_unittests.filter
  59. fuchsia.net_perftests.filter
  60. fuchsia.net_unittests.filter
  61. fuchsia.services_unittests.filter
  62. fuchsia.storage_unittests.filter
  63. fuchsia.ui_base_unittests.filter
  64. fuchsia.views_examples_unittests.filter
  65. fuchsia.views_unittests.filter
  66. fuchsia.viz_unittests.filter
  67. gpu.linux.skiarenderer_dawn_cc_unittests.filter
  68. gpu.linux.skiarenderer_dawn_viz_unittests.filter
  69. gpu.skiarenderer_dawn_cc_unittests.filter
  70. gpu.skiarenderer_vulkan_blink_web_tests.filter
  71. gpu.skiarenderer_vulkan_content_browsertests.filter
  72. linux-chromeos.browser_tests.require_lacros.filter
  73. linux-lacros.browser_tests.filter
  74. linux-lacros.components_unittests.filter
  75. linux-lacros.content_browsertests.filter
  76. linux-lacros.interactive_ui_tests.filter
  77. linux-lacros.lacros_chrome_browsertests.skew.filter
  78. linux-lacros.sync_integration_tests.filter
  79. linux-lacros.unit_tests.filter
  80. linux_trusty_rel.browser_tests.filter
  81. mac.mac-rel.browser_tests.filter
  82. OWNERS
  83. ozone-linux.interactive_ui_tests_wayland.filter
  84. ozone-linux.unit_tests_wayland.filter
  85. ozone-linux.wayland_browser_tests.filter
  86. ozone-linux.wayland_content_browsertests.filter
  87. ozone-linux.wayland_views_unittests.filter
  88. pixel_browser_tests.filter
  89. PRESUBMIT.py
  90. README.md
  91. site_isolation_android.content_browsertests.filter
  92. vulkan.content_browsertests.filter
  93. webrtc.content_unittests.filter
  94. webrtc_functional.browser_tests.filter
testing/buildbot/filters/README.md

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 cast-linux.content_browsertests.filter file lists tests that should be excluded when running content_browsertests on the Cast device or bot (e.g. on 'Cast Linux).

File syntax

Contents of test filter files follow the syntax below:

  • Empty lines are ignored.
  • Any text after ‘#’ on each line is treated as comments and ignored.
  • All other lines specify a single test name pattern.
    • Negative patterns: Patterns prefixed with the ‘-’ character specify tests to exclude from a test run.
    • Positive patterns: All other patterns specify tests to include in a test run.

A test will be executed if and only if it matches any of the positive patterns but does not match any of the negative patterns (please see documentation of --gtest_filter for more details and examples).

Please see [https://crbug.com/587527] for discussion how “positive” and “negative” test patterns should be combined in presence of both the --gtest_filter and the --test-launcher-filter-file command line flags.

Example test filter file for excluding a set of tests:

# 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 (single filter file):

$ out/dbg/content_browsertests \
    --test-launcher-filter-file=testing/buildbot/filters/foo.content_browsertests.filter

Example test invocation (multiple filter files, separated by ‘;’):

$ out/dbg/content_browsertests \
    --test-launcher-filter-file=testing/buildbot/filters/foo.content_browsertests.filter;\
                                testing/buildbot/filters/foo.chromeos.content_browsertests.filter

When running tests on Android, the test filter file can also be specified using --test-launcher-filter-file command line flag. Example test invocation:

$ out/android/bin/run_content_browsertests \
    --test-launcher-filter-file=testing/buildbot/filters/foo.content_browsertests.filter

Multiple filter files

We are in the process of unifying the way multiple filter files are passed across all test runners.

Though our standard for passing multiple filter files is to pass each one in its own flag, we still support ‘;’ for passing multiple filter files on Android for legacy reasons and haven‘t implemented multiple filter flags in Gtest. Gtest’s current problematic behavior leads to users passing 2 flags, but only the latter being respected.

Gtest

Multiple filter files should be separated by a ‘;’, passed with one flag.

Web tests and Android

Multiple filter files should be passed with multiple filter flags.

Applicability

Test filter files described here are currently only supported for gtest-based tests.

For excluding layout tests when running with a particular command line flag, see third_party/WebKit/LayoutTests/FlagExpectations/README.txt.

Adding new test filter files

Please use the following conventions when naming the new file:

  • Please include the name of the test executable (e.g. content_browsertests).
  • Please use .filter suffix.
  • Feel free to add other relevant things into the file name (e.g. the mode the file applies to - for example site-per-process).

When adding a new filter file, you will need to:

  • Update //testing/buildbot/filters/BUILD.gn.
  • Add //testing/buildbot/filters:foo_filters to the appropriate test target.
  • Add '--test-launcher-filter-file=../../testing/buildbot/filters/foo.filter' to the desired test suite(s) in test_suites.pyl.
  • Run testing/buildbot/generate_buildbot_json.py to update .json files.