Add a couple builtins injection tests
- Ensure that the user can't define a repo named "@_builtins". Turns out this is already enforced by the repo name validation: names must begin with a letter. Clarified the error message to reflect that.
- Ensure that the buildfiles() query operator doesn't include bzls loaded for @_builtins.
Work toward #11437.
PiperOrigin-RevId: 354973294
diff --git a/src/test/shell/integration/builtins_injection_test.sh b/src/test/shell/integration/builtins_injection_test.sh
index c36ec14..1a03b2f 100755
--- a/src/test/shell/integration/builtins_injection_test.sh
+++ b/src/test/shell/integration/builtins_injection_test.sh
@@ -138,7 +138,13 @@
--experimental_builtins_bzl_path=alternate \
&>"$TEST_log" || fail "bazel build failed"
expect_log "dummy :: second alternate value"
-}
+ # Ensure builtins .bzl files aren't visible to bazel query the way normal .bzl
+ # files are.
+ bazel query 'buildfiles(//pkg:BUILD)' --experimental_builtins_dummy=true \
+ --experimental_builtins_bzl_path=alternate \
+ &>"$TEST_log" || fail "bazel query failed"
+ expect_not_log "exports.bzl"
+}
run_suite "builtins_injection_test"