1# Chrome OS Debugging Instructions 2Chrome on Chrome OS is tested using a handful of frameworks, each of which 3you'll find running on Chrome's CQ and waterfalls. If you're investigating 4failures in these tests, below are some tips for debugging and identifying the 5cause. 6 7*** note 8 9This doc outlines tests running in true Chrome OS environments (ie: on virtual 10machines or real devices). [linux-chromeos] tests, on the other hand, can be 11debugged like any other linux test. 12*** 13 14## Tast 15 16[Tast] is Chrome OS's integration testing framework. Since Chrome itself is 17instrumental to the Chrome OS system, it's equally important that we run some 18of these integration tests on Chrome's waterfalls. If you find one of these 19tests failing (likely in the `chrome_all_tast_tests` step), you can: 20 21- **Inspect the failed test's log snippet**: There should be a log link for 22each failed test with failure information. eg: For this [failed build], opening 23the [platform.Histograms] log link contains stack traces and error messages. 24 25- **View browser & system logs**: A common cause of failure on Chrome's builders 26are browser crashes. When this happens, each test's log snippets will simply 27contain warnings like "[Chrome probably crashed]". To debug these crashes, 28navigate to the test's Isolated output, most likely listed in the build under 29the test step's [shard #0 isolated out] link. From there, view the various 30`log/chrome/...` or `log/ui/...` text files and you should find some with 31browser [crashes and stack traces]. 32 33To disable a test on Chrome's builders, the preferred method is to add the 34`informational` attribute to the test's definition (see [Tast attributes] for 35more info). Note that this requires a full Chrome OS checkout. If that's not an 36option, or if it needs to be disabled ASAP, you can add it to the list of 37disabled tests for the step's GN target. For example, to disable a test in the 38`chrome_all_tast_tests` step, add it to [this list]. 39 40## Telemetry 41 42>TODO: Add instructions for debugging telemetry failures. 43 44## GTest 45 46>TODO: Add instructions for debugging GTest failures. 47 48## Rerunning these tests locally 49 50>TODO: Add instructions for rerunning these tests locally. 51 52 53[linux-chromeos]: https://chromium.googlesource.com/chromium/src/+/master/docs/chromeos_build_instructions.md 54[Tast]: https://chromium.googlesource.com/chromiumos/platform/tast/+/HEAD/README.md 55[failed build]: https://ci.chromium.org/p/chromium/builders/ci/chromeos-kevin-rel/14102 56[platform.Histograms]: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8904949911599004400/+/steps/chrome_all_tast_tests_on_ChromeOS/0/logs/Deterministic_failure:_platform.Histograms__status_FAILURE_/0 57[Chrome probably crashed]: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8905974915785988832/+/steps/chrome_all_tast_tests__retry_shards_with_patch__on_ChromeOS/0/logs/Deterministic_failure:_ui.ChromeLogin__status_FAILURE_/0 58[shard #0 isolated out]: https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=fd1f6d76b076f07cc98fa7b2e0c0097f35c51cd0 59[crashes and stack traces]: https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=993d58ff48bb08071d951bd8e103fa5a3c03efb1&as=chrome_20190805-044653 60[Tast attributes]: https://chromium.googlesource.com/chromiumos/platform/tast/+/HEAD/docs/test_attributes.md 61[this list]: https://codesearch.chromium.org/chromium/src/chromeos/BUILD.gn?rcl=7b0393a9091fd02edc9ae773739124f7be5a0782&l=242 62