| # Copyright 2020 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/python/python_host_test.gni") |
| |
| group("tests") { |
| testonly = true |
| |
| deps = [ |
| ":action_tracer_test($host_toolchain)", |
| ":tracer_test", |
| ] |
| } |
| |
| python_host_test("action_tracer_test") { |
| main_source = "action_tracer_test.py" |
| sources = [ "action_tracer.py" ] |
| } |
| |
| # 1. Turn on trace_action: |
| # $ fx set ... --args=build_should_trace_actions=true |
| # 2. Delete the output files to ensure that this action will run: |
| # $ rm -rf out/default/obj/build/tracer |
| # 3. Comment out either the `inputs`, or the second line of `outputs` below. |
| # 4. Build. |
| # $ fx build obj/build/tracer/tracer_test_output_1.txt |
| # You should see an error for the target below! |
| # |
| # You can also induce an error by commenting out one of the output-producing |
| # lines in tracer_test.sh. |
| action("tracer_test") { |
| script = "tracer_test.sh" |
| |
| inputs = [ "tracer_test_input.txt" ] |
| |
| outputs = [ |
| "$target_out_dir/tracer_test_output_1.txt", |
| "$target_out_dir/tracer_test_output_2.txt", |
| "$target_out_dir/tracer_test_output_3.txt", |
| ] |
| |
| args = [ |
| rebase_path("tracer_test_input.txt", root_build_dir), |
| rebase_path("$target_out_dir/tracer_test_output_1.txt", root_build_dir), |
| rebase_path("$target_out_dir/tracer_test_output_2.txt", root_build_dir), |
| rebase_path("$target_out_dir/tracer_test_output_3.txt", root_build_dir), |
| ] |
| } |