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"