commit | cde2e022c03a0bd5e94b1b0d9aeb27b1fd8921c7 | [log] [tgz] |
---|---|---|
author | Filip Filmar <fmil@google.com> | Wed Jul 08 17:54:32 2020 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Wed Jul 08 17:54:32 2020 +0000 |
tree | e25d2530e56ba8e5453f30a06cb648e06eb2185b | |
parent | 9484d2ab1419068a9d924ad8495907a5bca83405 [diff] |
[tools] Add cargo-gnaw to CI Made a series of testability improvements for `cargo-gnaw` that allow its integration tests to run in continuous integration. This ensures the longevity of test support. - Testability changes that sanitize the behavior of cargo-gnaw on errors Removed the file existence check for the `gn` binary: you should be able to use `gn` on your path. And in case of an error, the default error behavior is already informative enough. Added a nice error message when the `gn` binary is not found. Instead of doing an `exit` on arg parsing error, return a Result. Otherwise, testing stdout and stderr behavior becomes *very* confusing. Factored the `gnaw_lib` crate and the `run` function which makes it possible to do an end-to-end test pass with all the functionality. - Links cargo-gnaw to CI. Without having cargo-gnaw in CI, it is far too easy to break it. Furthermore, without formatting it's not sustainable to keep raw BUILD.gn files in the tests. - Supplied the necessary env variables as external configuration. This should enable the formatting tests to run hermetically. - Moved integration tests into a separate directory. They are somewhat different. - Tests now format the output at the end. This prevents inadvertent test breaks due to golden test changes. Bug: 55504 Change-Id: I34d3d3b59d56c6647b96cfab4c0f27e7b3b1ce22 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/404600 Reviewed-by: George Kulakowski <kulakowski@google.com> Reviewed-by: Marc-Antoine Ruel <maruel@google.com> Commit-Queue: Filip Filmar <fmil@google.com> Testability-Review: Filip Filmar <fmil@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
See Getting Started.
See fuchsia.dev.