github.com/nya3jp/tast@v0.0.0-20230601000426-85c8e4d83a9b/src/go.chromium.org/tast/core/internal/runner/doc.go (about) 1 // Copyright 2017 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 /* 6 Package runner provides functionality shared by test runners. 7 8 Test runners are executables that run one or more test bundles and 9 aggregate the results. Runners are executed by the tast command. 10 11 local_test_runner executes local bundles on-device, while remote_test_runner 12 executes remote bundles on the system where the tast command is running 13 (e.g. a developer's workstation). 14 15 The tast command writes a JSON-marshaled RunnerArgs struct to a runner's stdin, 16 which instructs the runner to report progress by writing JSON-marshaled 17 control messages to stdout. In this mode, the runner exits with status code 18 0 in almost all cases (the one exception being malformed arguments), since 19 the result of the run is already communicated via control messages. 20 21 When a test runner is executed manually in conjunction with command-line 22 flags, the runner instead logs human-readable progress to stdout. The runner 23 exits with a nonzero status code if an error is encountered. 24 */ 25 package runner