Commit edb19aa1 authored by Mohit Agarwal's avatar Mohit Agarwal Committed by Ian Lance Taylor

cmd/go: stat the archive file only when executing the commands

Fixes #14944

Change-Id: I73e0997cb6ebaeced1045b0ddadac893319bd78f
Reviewed-on: https://go-review.googlesource.com/21065Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
parent 8cb74e1d
...@@ -2346,9 +2346,11 @@ func (gcToolchain) pack(b *builder, p *Package, objDir, afile string, ofiles []s ...@@ -2346,9 +2346,11 @@ func (gcToolchain) pack(b *builder, p *Package, objDir, afile string, ofiles []s
// The archive file should have been created by the compiler. // The archive file should have been created by the compiler.
// Since it used to not work that way, verify. // Since it used to not work that way, verify.
if !buildN {
if _, err := os.Stat(absAfile); err != nil { if _, err := os.Stat(absAfile); err != nil {
fatalf("os.Stat of archive file failed: %v", err) fatalf("os.Stat of archive file failed: %v", err)
} }
}
if buildN || buildX { if buildN || buildX {
cmdline := stringList("pack", "r", absAfile, absOfiles) cmdline := stringList("pack", "r", absAfile, absOfiles)
......
...@@ -1982,6 +1982,27 @@ func TestCoverageUsesActualSettingToOverrideEvenForRace(t *testing.T) { ...@@ -1982,6 +1982,27 @@ func TestCoverageUsesActualSettingToOverrideEvenForRace(t *testing.T) {
checkCoverage(tg, data) checkCoverage(tg, data)
} }
func TestBuildDryRunWithCgo(t *testing.T) {
if !canCgo {
t.Skip("skipping because cgo not enabled")
}
tg := testgo(t)
defer tg.cleanup()
tg.tempFile("foo.go", `package main
/*
#include <limits.h>
*/
import "C"
func main() {
println(C.INT_MAX)
}`)
tg.run("build", "-n", tg.path("foo.go"))
tg.grepStderrNot(`os.Stat .* no such file or directory`, "unexpected stat of archive file")
}
func TestCoverageWithCgo(t *testing.T) { func TestCoverageWithCgo(t *testing.T) {
if !canCgo { if !canCgo {
t.Skip("skipping because cgo not enabled") t.Skip("skipping because cgo not enabled")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment