]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/work/exec: throw an error when buildP is negative
authorYuki Osaki <yuki.osaki7@gmail.com>
Wed, 18 Aug 2021 05:05:55 +0000 (05:05 +0000)
committerJay Conrod <jayconrod@google.com>
Wed, 18 Aug 2021 17:25:17 +0000 (17:25 +0000)
Fixed a problem where an error would not occur
when a negative value was specified for the p flag.

`go build -p=0`
now should throw an error.

this is my first pr to this project.
If there's anything I'm missing, please let me know 🙏
Fixes #46686

Change-Id: I3b19773ef095fad0e0419100d317727c2268699a
GitHub-Last-Rev: e5c57804d9995f5c858aa42d9de21b25de246eb5
GitHub-Pull-Request: golang/go#47360
Reviewed-on: https://go-review.googlesource.com/c/go/+/336751
Reviewed-by: Jay Conrod <jayconrod@google.com>
Trust: Jay Conrod <jayconrod@google.com>
Trust: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/go/internal/work/init.go
src/cmd/go/testdata/script/build_negative_p.txt [new file with mode: 0644]

index 022137390f8fb32e8613ff5aaf79581a775dbf3b..7acee3dd55082055cbb3c00508a4af64958a61a0 100644 (file)
@@ -40,6 +40,10 @@ func BuildInit() {
                cfg.BuildPkgdir = p
        }
 
+       if cfg.BuildP <= 0 {
+               base.Fatalf("go: -p must be a positive integer: %v\n", cfg.BuildP)
+       }
+
        // Make sure CC, CXX, and FC are absolute paths.
        for _, key := range []string{"CC", "CXX", "FC"} {
                value := cfg.Getenv(key)
diff --git a/src/cmd/go/testdata/script/build_negative_p.txt b/src/cmd/go/testdata/script/build_negative_p.txt
new file mode 100644 (file)
index 0000000..9123907
--- /dev/null
@@ -0,0 +1,5 @@
+! go build -p=-1 example.go
+stderr 'go: -p must be a positive integer: -1'
+
+-- example.go --
+package example
\ No newline at end of file