diff --git a/src/test/shell/bazel/bazel_java_tools_test.sh b/src/test/shell/bazel/bazel_java_tools_test.sh
index 76479ab..6d60825 100755
--- a/src/test/shell/bazel/bazel_java_tools_test.sh
+++ b/src/test/shell/bazel/bazel_java_tools_test.sh
@@ -67,7 +67,7 @@
   if "$is_windows"; then
         java_tools_prebuilt_zip_file_url="file:///${java_tools_prebuilt_rlocation}"
   fi
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
     name = "local_java_tools",
diff --git a/src/test/shell/bazel/execroot_test.sh b/src/test/shell/bazel/execroot_test.sh
index 1986214..66006de 100755
--- a/src/test/shell/bazel/execroot_test.sh
+++ b/src/test/shell/bazel/execroot_test.sh
@@ -71,8 +71,6 @@
 }
 
 function test_sibling_repository_layout() {
-    setup_module_dot_bazel
-
     mkdir -p external/foo
     cat > external/foo/BUILD <<'EOF'
 genrule(
@@ -96,8 +94,6 @@
 
 # Regression test for b/149771751
 function test_sibling_repository_layout_indirect_dependency() {
-    setup_module_dot_bazel
-
     mkdir external
     mkdir -p foo
     cat > BUILD <<'EOF'
@@ -121,8 +117,6 @@
 
 # Regression test for b/149771751
 function test_subdirectory_repository_layout_indirect_dependency() {
-    setup_module_dot_bazel
-
     mkdir external
     mkdir -p foo
     cat > BUILD <<'EOF'
@@ -145,8 +139,6 @@
 }
 
 function test_no_sibling_repository_layout() {
-    setup_module_dot_bazel
-
     mkdir -p external/foo
     cat > external/foo/BUILD <<'EOF'
 genrule(
@@ -171,8 +163,6 @@
 }
 
 function test_external_directory_globs() {
-  setup_module_dot_bazel
-
   mkdir -p external/a external/c
   echo file_ab > external/a/b
   echo file_cd > external/c/d
@@ -194,7 +184,6 @@
 }
 
 function test_cc_smoke_with_new_layouts() {
-  setup_module_dot_bazel
   mkdir -p external/a
   cat > external/a/BUILD <<EOF
 cc_binary(name='a', srcs=['a.cc'])
@@ -213,7 +202,6 @@
 }
 
 function test_java_smoke_with_new_layouts() {
-  setup_module_dot_bazel
   mkdir -p external/java/a
   cat > external/java/a/BUILD <<EOF
 java_binary(name='a', srcs=['A.java'])
diff --git a/src/test/shell/bazel/external_path_test.sh b/src/test/shell/bazel/external_path_test.sh
index 16765ac..fbfdd68 100755
--- a/src/test/shell/bazel/external_path_test.sh
+++ b/src/test/shell/bazel/external_path_test.sh
@@ -115,7 +115,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="remote",
@@ -179,7 +179,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="remote",
@@ -245,7 +245,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="remotelib",
@@ -313,7 +313,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="remote",
@@ -397,7 +397,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="r",
@@ -446,7 +446,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="a",
@@ -559,7 +559,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="r",
@@ -612,7 +612,7 @@
 
   mkdir main
   cd main
-  cat > $(setup_module_dot_bazel) <<EOF
+  cat >> $(setup_module_dot_bazel) <<EOF
 http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 http_archive(
   name="r",
@@ -633,7 +633,6 @@
   # create, in the current working directory, a package called
   # rule that has an implicit dependency on @data//:file.txt, a target
   # of a different, external, repository.
-  setup_module_dot_bazel
   mkdir -p rule
   cat > rule/BUILD <<'EOF'
 genrule(
@@ -733,7 +732,7 @@
   (cd rule && repo_with_embedded_foreign_path)
   tar cvf rule.tar rule
   rm -rf rule
-  cat >> $(setup_module_dot_bazel "main/MODULE.bazel") <<EOF
+  cat >> main/MODULE.bazel <<EOF
 http_archive(
   name="rule",
   strip_prefix="rule",
diff --git a/src/test/shell/bazel/new_local_repo_test.sh b/src/test/shell/bazel/new_local_repo_test.sh
index 8aff660..705ce21 100755
--- a/src/test/shell/bazel/new_local_repo_test.sh
+++ b/src/test/shell/bazel/new_local_repo_test.sh
@@ -63,6 +63,7 @@
   mkdir $pkg/A || fail "mkdir $pkg/A"
   mkdir $pkg/B || fail "mkdir $pkg/B"
 
+  setup_module_dot_bazel "$pkg/A/MODULE.bazel"
   cat >$pkg/A/MODULE.bazel <<'eof'
 new_local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "new_local_repository")
 new_local_repository(
@@ -77,7 +78,7 @@
     path = "../B",
 )
 eof
-  setup_module_dot_bazel "$pkg/A/MODULE.bazel"
+
 
   cat >$pkg/A/BUILD <<'eof'
 genrule(
@@ -117,6 +118,7 @@
   touch "$pkg/B/root.txt"
   touch "$pkg/B/subdir/outer.txt"
   touch "$pkg/B/subdir/inner/inner.txt"
+  setup_module_dot_bazel "$pkg/A/MODULE.bazel"
   cat >"$pkg/A/MODULE.bazel" <<eof
 new_local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "new_local_repository")
 new_local_repository(
@@ -129,7 +131,6 @@
   cat >"$pkg/A/BUILD.myext" <<eof
 filegroup(name = "all_files", srcs = glob(["**"]))
 eof
-  setup_module_dot_bazel "$pkg/A/MODULE.bazel"
 
   # Shut down the server afterwards so the test cleanup can remove $pkg/A.
   ( cd "$pkg/A"
diff --git a/src/test/shell/bazel/python_version_test.sh b/src/test/shell/bazel/python_version_test.sh
index e1ce747..e4eeec8 100755
--- a/src/test/shell/bazel/python_version_test.sh
+++ b/src/test/shell/bazel/python_version_test.sh
@@ -537,8 +537,7 @@
     ],
 )
 EOF
-  cat > MODULE.bazel <<EOF
-module(name="python_version_test")
+  cat >> $(setup_module_dot_bazel MODULE.bazel) <<EOF
 bazel_dep(name = "external_repo", version="0.0.0")
 local_path_override(
     module_name = "external_repo",
diff --git a/src/test/shell/bazel/resource_compiler_toolchain_test.sh b/src/test/shell/bazel/resource_compiler_toolchain_test.sh
index 7cc6084..e9c5c32 100755
--- a/src/test/shell/bazel/resource_compiler_toolchain_test.sh
+++ b/src/test/shell/bazel/resource_compiler_toolchain_test.sh
@@ -190,7 +190,7 @@
 }
 
 function test_toolchain_selection() {
-  echo "module(name = 'io_bazel')" >> MODULE.bazel
+  echo "module(name = 'io_bazel')" > MODULE.bazel
   add_platforms "MODULE.bazel"
   _symlink_res_toolchain_files
   _create_pkg
diff --git a/src/test/shell/bazel/starlark_git_repository_test.sh b/src/test/shell/bazel/starlark_git_repository_test.sh
index ba4cc37..362d45b 100755
--- a/src/test/shell/bazel/starlark_git_repository_test.sh
+++ b/src/test/shell/bazel/starlark_git_repository_test.sh
@@ -440,6 +440,7 @@
 function test_git_repository_not_refetched_on_server_restart() {
   local repo_dir=$TEST_TMPDIR/repos/refetch
 
+  rm MODULE.bazel
   cat >> MODULE.bazel <<EOF
 git_repository = use_repo_rule('@bazel_tools//tools/build_defs/repo:git.bzl', 'git_repository')
 git_repository(name='g', remote='$repo_dir', commit='22095302abaf776886879efa5129aa4d44c53017', verbose=True)
@@ -483,6 +484,7 @@
 function test_git_repository_not_refetched_on_server_restart_strip_prefix() {
   local repo_dir=$TEST_TMPDIR/repos/refetch
   # Change the strip_prefix which should cause a new checkout
+  rm MODULE.bazel
   cat >> MODULE.bazel <<EOF
 git_repository = use_repo_rule('@bazel_tools//tools/build_defs/repo:git.bzl', 'git_repository')
 git_repository(name='g', remote='$repo_dir', commit='17ea13b242e4cbcc27a6ef745939ebb7dcccea10', verbose=True)
@@ -505,6 +507,7 @@
 function test_git_repository_refetched_when_commit_changes() {
   local repo_dir=$TEST_TMPDIR/repos/refetch
 
+  rm MODULE.bazel
   cat >> MODULE.bazel <<EOF
 git_repository = use_repo_rule('@bazel_tools//tools/build_defs/repo:git.bzl', 'git_repository')
 git_repository(name='g', remote='$repo_dir', commit='22095302abaf776886879efa5129aa4d44c53017', verbose=True)
@@ -529,6 +532,7 @@
 function test_git_repository_and_nofetch() {
   local repo_dir=$TEST_TMPDIR/repos/refetch
 
+  rm MODULE.bazel
   cat >> MODULE.bazel <<EOF
 git_repository = use_repo_rule('@bazel_tools//tools/build_defs/repo:git.bzl', 'git_repository')
 git_repository(name='g', remote='$repo_dir', commit='22095302abaf776886879efa5129aa4d44c53017')
diff --git a/src/test/shell/bazel/starlark_repository_test.sh b/src/test/shell/bazel/starlark_repository_test.sh
index 063a4a0..deb9a12 100755
--- a/src/test/shell/bazel/starlark_repository_test.sh
+++ b/src/test/shell/bazel/starlark_repository_test.sh
@@ -1342,6 +1342,7 @@
 
 # Test native.bazel_version
 function test_bazel_version() {
+  cat > MODULE.bazel
   create_new_workspace
   repo2=$new_workspace_dir
 
diff --git a/src/test/shell/integration/aquery_test.sh b/src/test/shell/integration/aquery_test.sh
index 65a1eab..40479b9 100755
--- a/src/test/shell/integration/aquery_test.sh
+++ b/src/test/shell/integration/aquery_test.sh
@@ -1457,6 +1457,7 @@
 }
 
 function test_aquery_skyframe_state_with_filter_with_previous_build() {
+  cat > MODULE.bazel
   local pkg="${FUNCNAME[0]}"
   mkdir -p "$pkg" || fail "mkdir -p $pkg"
   cat > "$pkg/BUILD" <<'EOF'
diff --git a/src/test/shell/integration/load_removed_symbols_test.sh b/src/test/shell/integration/load_removed_symbols_test.sh
index 737338b..629c030 100755
--- a/src/test/shell/integration/load_removed_symbols_test.sh
+++ b/src/test/shell/integration/load_removed_symbols_test.sh
@@ -68,7 +68,7 @@
   cat > "${rules_java_workspace}/MODULE.bazel" << EOF
 module(name = "rules_java")
 EOF
-  cat >> MODULE.bazel << EOF
+  cat > MODULE.bazel << EOF
 bazel_dep(
     name = "rules_java",
 )
@@ -461,7 +461,6 @@
 }
 
 function test_legacy_globals() {
-  setup_module_dot_bazel
   mock_rules_java
 
   rules_java_workspace="${TEST_TMPDIR}/rules_java_workspace"
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index cfcc9e0..7a69e22 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -631,7 +631,9 @@
 # Note: this function echos the MODULE.bazel file path.
 function setup_module_dot_bazel() {
   module_dot_bazel=${1:-MODULE.bazel}
-  touch $module_dot_bazel
+  cat > $module_dot_bazel <<EOF
+module(name = 'test')
+EOF
   cp -f $(rlocation io_bazel/src/test/tools/bzlmod/MODULE.bazel.lock) "$(dirname ${module_dot_bazel})/MODULE.bazel.lock"
   echo $module_dot_bazel
 }
