Telemetry has few suites of unit tests:
These are functional tests that do not depend on performance.
TabCrashException or BrowserGoneException), this is guaranteed to be a browser issue. Usually scanning the change log for patches that touch files that show up in the stack will point to the culprit to revert.$ catapult/telemetry/run_tests <test> --browser=<browser> --chrome-root=<path to chromium src/ dir> Where <test> can be: BrowserTest.testForegroundTab or BrowserTest as a “wildcard” by matching the sub string "BrowserTest". Where <path to chromium src/ dir> is the full path including the src/ at the end and <browser> can be: release, android-chrome-shell, list (for a full list)Tests should generally only be disabled for flakiness. Consistent failures should be diagnosed and the culprit reverted.
The @decorators.Disabled and @decorators.Enabled decorators may be added above any test to enable or disable it. They optionally accept a list of platforms, os versions or browser types. Examples:
from telemetry import decorators ...
@decorators.Disabled('all') # Disabled everywhere@decorators.Enabled('mac') # Only runs on mac@decorators.Disabled('xp') # Run everywhere except windows xp@decorators.Disabled('debug') # Run everywhere except debug builds