summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Usta (Tsering) Shrestha <usta@google.com> 2023-01-13 23:44:34 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-01-13 23:44:34 +0000
commitee37e8e8ed84cfd495b76348c7ed7e210d0df60f (patch)
tree3d48e69b8fa7b2aff14b6ed201d70ab3ebaf86ed
parentdf456b5f33d697c24b415239e5071f796f5b0021 (diff)
parent071f6c29a3bb882693059c5e84bfa32d19847087 (diff)
Merge "for consistency symlink_tree failure = os.Exit(1)"
-rw-r--r--bp2build/symlink_forest.go11
-rwxr-xr-xtests/bootstrap_test.sh7
2 files changed, 4 insertions, 14 deletions
diff --git a/bp2build/symlink_forest.go b/bp2build/symlink_forest.go
index 4a4ae9e0c..667b952a6 100644
--- a/bp2build/symlink_forest.go
+++ b/bp2build/symlink_forest.go
@@ -50,7 +50,6 @@ type symlinkForestContext struct {
depCh chan string
mkdirCount atomic.Uint64
symlinkCount atomic.Uint64
- okay atomic.Bool // Whether the forest was successfully constructed
}
// A simple thread pool to limit concurrency on system calls.
@@ -366,14 +365,14 @@ func plantSymlinkForestRecursive(context *symlinkForestContext, instructions *in
if err != nil {
fmt.Fprintf(os.Stderr, "Error merging %s and %s: %s",
srcBuildFile, generatedBuildFile, err)
- context.okay.Store(false)
+ os.Exit(1)
}
} else {
// Both exist and one is a file. This is an error.
fmt.Fprintf(os.Stderr,
"Conflict in workspace symlink tree creation: both '%s' and '%s' exist and exactly one is a directory\n",
srcChild, buildFilesChild)
- context.okay.Store(false)
+ os.Exit(1)
}
}
}
@@ -436,8 +435,6 @@ func PlantSymlinkForest(verbose bool, topdir string, forest string, buildFiles s
symlinkCount: atomic.Uint64{},
}
- context.okay.Store(true)
-
removeParallel(shared.JoinPath(topdir, forest))
instructions := instructionsFromExcludePathList(exclude)
@@ -452,9 +449,5 @@ func PlantSymlinkForest(verbose bool, topdir string, forest string, buildFiles s
deps = append(deps, dep)
}
- if !context.okay.Load() {
- os.Exit(1)
- }
-
return deps, context.mkdirCount.Load(), context.symlinkCount.Load()
}
diff --git a/tests/bootstrap_test.sh b/tests/bootstrap_test.sh
index 17b441903..f3bad7378 100755
--- a/tests/bootstrap_test.sh
+++ b/tests/bootstrap_test.sh
@@ -75,7 +75,6 @@ EOF
grep -q "^# Module:.*my_great_binary_host" out/soong/build.ninja || fail "new module not found"
}
-
function test_add_android_bp() {
setup
run_soong
@@ -313,7 +312,6 @@ function test_create_global_include_directory() {
}
-
function test_add_file_to_soong_build() {
setup
run_soong
@@ -736,7 +734,6 @@ function test_json_module_graph_back_and_forth_null_build() {
}
-
function test_bp2build_bazel_workspace_structure {
setup
@@ -802,7 +799,7 @@ EOF
|| fail "${GENERATED_BUILD_FILE_NAME} files symlinked to the wrong place"
}
-function test_bp2build_reports_multiple_errors {
+function test_bp2build_fails_fast {
setup
mkdir -p "a/${GENERATED_BUILD_FILE_NAME}"
@@ -830,7 +827,7 @@ EOF
fi
grep -q "a/${GENERATED_BUILD_FILE_NAME}' exist" "$MOCK_TOP/errors" || fail "Error for a/${GENERATED_BUILD_FILE_NAME} not found"
- grep -q "b/${GENERATED_BUILD_FILE_NAME}' exist" "$MOCK_TOP/errors" || fail "Error for b/${GENERATED_BUILD_FILE_NAME} not found"
+ grep -q -v "b/${GENERATED_BUILD_FILE_NAME}' exist" "$MOCK_TOP/errors" || fail "Error for b/${GENERATED_BUILD_FILE_NAME} found but not expected"
}
function test_bp2build_back_and_forth_null_build {