From 2dea9d1c66cd2d6c82616f9a3138cd8e3a4fb84f Mon Sep 17 00:00:00 2001 From: messa Date: Mon, 8 Mar 2021 01:27:29 -0800 Subject: [PATCH] Adding test for caching starlark action's inputs if it shadows an action that discovers inputs. The test was missing in https://github.com/bazelbuild/bazel/commit/2adf7d1377f08f996ddee2eb21f63378df8c99c5. PiperOrigin-RevId: 361508612 --- .../shell/integration/action_aspect_test.sh | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/src/test/shell/integration/action_aspect_test.sh b/src/test/shell/integration/action_aspect_test.sh index 37e94d5bdce0cd..9ae90e7e4c0587 100755 --- a/src/test/shell/integration/action_aspect_test.sh +++ b/src/test/shell/integration/action_aspect_test.sh @@ -233,4 +233,97 @@ EOF || fail "aspect params file does not contain tree artifact args" } +# Test the inputs cache of Starlark actions triggered from aspects +function test_starlark_action_inputs_cache() { + local package="a" + mkdir -p "${package}" + + cat > "${package}/lib.bzl" < "${package}/x.h" + cat > "${package}/a.cc" < "${package}/BUILD" < "${package}/x.h" + + bazel build "${package}:a" \ + --aspects="//${package}:lib.bzl%actions_test_aspect" \ + --output_groups=out \ + --experimental_shadowed_action || \ + fail "bazel build should've passed" + + cp "bazel-bin/${package}/run_timestamp" "${package}/run_3_timestamp" + + diff "${package}/run_1_timestamp" "${package}/run_3_timestamp" \ + && fail "Starlark action should rerun after shadowed action inputs change" \ + || : +} + run_suite "Tests Starlark API pertaining to action inspection via aspect"