Skip to content

cmd/go: test -coverprofile with swig fails #64661

Closed
@jackielii

Description

@jackielii

Go version

go version go1.21.2 darwin/arm64

What operating system and processor architecture are you using (go env)?

GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/jackieli/Library/Caches/go-build'
GOENV='/Users/jackieli/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/jackieli/go/pkg/mod'
GONOPROXY='tespkg.in,github.com/tespkg,gitlab.com/target-digital-transformation'
GONOSUMDB='tespkg.in,github.com/tespkg,gitlab.com/target-digital-transformation'
GOOS='darwin'
GOPATH='/Users/jackieli/go'
GOPRIVATE='tespkg.in,github.com/tespkg,gitlab.com/target-digital-transformation'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.21.2/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.21.2/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.21.2'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/Users/jackieli/Downloads/simple/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build3418952473=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?

Use a simple project with a swig file in it: simple-test.zip

Run go test works
Run go test -coverprofile .testCoverage.txt fails with message:

go build simple:
# cover simple
2023/12/11 22:43:50 cover: open $WORK/b102//var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build368947532/b102/_main_swig.cover.go: no such file or directory
FAIL	simple [build failed]

What did you expect to see?

go test -coverprofile works

What did you see instead?

go test -coverprofile .testCoverage.txt fails with message:

go build simple:
# cover simple
2023/12/11 22:43:50 cover: open $WORK/b102//var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build368947532/b102/_main_swig.cover.go: no such file or directory
FAIL	simple [build failed]

Additionally the output when with go test -x -coverprofile .testCoverage.txt

go test -x -coverprofile .testCoverage.txt
  WORK=/var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849
  mkdir -p $WORK/b001/
  mkdir -p $WORK/b020/
  mkdir -p $WORK/b013/
  mkdir -p $WORK/b016/
  mkdir -p $WORK/b014/
  mkdir -p $WORK/b009/
  mkdir -p $WORK/b007/
  mkdir -p $WORK/b035/
  mkdir -p $WORK/b025/
  mkdir -p $WORK/b037/
  mkdir -p $WORK/b015/
  mkdir -p $WORK/b041/
  mkdir -p $WORK/b018/
  mkdir -p $WORK/b045/
  mkdir -p $WORK/b019/
  mkdir -p $WORK/b071/
  mkdir -p $WORK/b089/
  mkdir -p $WORK/b090/
  mkdir -p $WORK/b096/
  mkdir -p $WORK/b027/
  mkdir -p $WORK/b012/
  mkdir -p $WORK/b006/
  mkdir -p $WORK/b017/
  mkdir -p $WORK/b011/
  mkdir -p $WORK/b039/
  mkdir -p $WORK/b010/
  mkdir -p $WORK/b005/
  mkdir -p $WORK/b026/
  mkdir -p $WORK/b032/
  mkdir -p $WORK/b004/
  mkdir -p $WORK/b049/
  mkdir -p $WORK/b036/
  mkdir -p $WORK/b052/
  mkdir -p $WORK/b024/
  mkdir -p $WORK/b030/
  mkdir -p $WORK/b034/
  mkdir -p $WORK/b051/
  mkdir -p $WORK/b028/
  mkdir -p $WORK/b062/
  mkdir -p $WORK/b086/
  mkdir -p $WORK/b043/
  mkdir -p $WORK/b050/
  mkdir -p $WORK/b040/
  mkdir -p $WORK/b048/
  mkdir -p $WORK/b061/
  mkdir -p $WORK/b058/
  mkdir -p $WORK/b038/
  mkdir -p $WORK/b081/
  mkdir -p $WORK/b047/
  mkdir -p $WORK/b023/
  mkdir -p $WORK/b067/
  mkdir -p $WORK/b080/
  mkdir -p $WORK/b031/
  mkdir -p $WORK/b070/
  mkdir -p $WORK/b088/
  mkdir -p $WORK/b029/
  mkdir -p $WORK/b022/
  mkdir -p $WORK/b056/
  mkdir -p $WORK/b033/
  mkdir -p $WORK/b021/
  mkdir -p $WORK/b003/
  mkdir -p $WORK/b053/
  mkdir -p $WORK/b046/
  mkdir -p $WORK/b044/
  mkdir -p $WORK/b055/
  mkdir -p $WORK/b054/
  mkdir -p $WORK/b094/
  mkdir -p $WORK/b092/
  mkdir -p $WORK/b099/
  mkdir -p $WORK/b069/
  mkdir -p $WORK/b095/
  mkdir -p $WORK/b091/
  mkdir -p $WORK/b101/
  mkdir -p $WORK/b093/
  mkdir -p $WORK/b042/
  mkdir -p $WORK/b097/
  mkdir -p $WORK/b098/
  mkdir -p $WORK/b100/
  mkdir -p $WORK/b087/
  mkdir -p $WORK/b103/
  cp /Users/jackieli/Library/Caches/go-build/9b/9b2bb0e3ac1b16efdbc8ca5a95d2ae084340b1f9d5e8300071e4d4f18e9a6227-d $WORK/b103/_cgo_gotypes.go
  cp /Users/jackieli/Library/Caches/go-build/ab/ab115b8041115aec8fccc5362216233eb3640d462533a86dbf27e17740c7cefc-d $WORK/b103/cgo.cgo1.go
  cp /Users/jackieli/Library/Caches/go-build/e7/e7322c53a39b536e027f8264f29ab9c8263c129048e4fd7c0381c646e5998571-d $WORK/b103/_cgo_import.go
  mkdir -p $WORK/b102/
  cd .
  swig -version
  cd /Users/jackieli/Downloads/simple
  /opt/homebrew/Cellar/go/1.21.2/libexec/pkg/tool/darwin_arm64/compile -o $WORK/b102/_go_.o -trimpath "$WORK/b102=>" -p main -complete -goversion go1.21.2 -c=4 -shared -nolocalimports $WORK/swig_intsize.go
  swig -go -cgo -intgosize 64 -module main -o $WORK/b102/main_wrap.c -outdir $WORK/b102/ main.swig
  mv $WORK/b102/main.go $WORK/b102/_main_swig.go
  cat >/var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/pkgcfg.txt << 'EOF' # internal
  {"OutConfig":"/var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/coveragecfg","PkgPath":"simple","PkgName":"main","Granularity":"perblock","ModulePath":"simple","Local":false}EOF
  cat >/var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/coveroutfiles.txt << 'EOF' # internal
  /var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/covervars.go
  /var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/main.cover.go
  /var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102//var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/_main_swig.cover.go
  EOF
  cd $WORK/b102/
  /opt/homebrew/Cellar/go/1.21.2/libexec/pkg/tool/darwin_arm64/cover -pkgcfg ./pkgcfg.txt -mode set -var goCover_a7a39b72f297_ -outfilelist ./coveroutfiles.txt /Users/jackieli/Downloads/simple/main.go /Users/jackieli/Downloads/simple$WORK/b102/_main_swig.go
  go build simple:
  # cover simple
  2023/12/11 22:45:14 cover: open $WORK/b102//var/folders/v7/nkqv5k_906s7gq6l4h30kq_w0000gn/T/go-build821224849/b102/_main_swig.cover.go: no such file or directory
  rm -r $WORK/b001/
  FAIL    simple [build failed]

Also note that last version I used for this project go1.18 works. I also tested go1.21 on Linux/amd64, same error.

/cc @ianlancetaylor

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeGoCommandcmd/goNeedsFixThe path to resolution is known, but the work has not been done.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions