Merge pull request #1352 from halseth/import-path-rpctest

integration/rpctest: make exec path compatible with modules
This commit is contained in:
Olaoluwa Osuntokun 2018-11-29 14:56:06 -08:00 committed by GitHub
commit b6c71b40a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6,7 +6,6 @@ package rpctest
import (
"fmt"
"go/build"
"os/exec"
"path/filepath"
"runtime"
@ -44,24 +43,14 @@ func btcdExecutablePath() (string, error) {
return "", err
}
// Determine import path of this package. Not necessarily btcsuite/btcd if
// this is a forked repo.
_, rpctestDir, _, ok := runtime.Caller(1)
if !ok {
return "", fmt.Errorf("Cannot get path to btcd source code")
}
btcdPkgPath := filepath.Join(rpctestDir, "..", "..", "..")
btcdPkg, err := build.ImportDir(btcdPkgPath, build.FindOnly)
if err != nil {
return "", fmt.Errorf("Failed to build btcd: %v", err)
}
// Build btcd and output an executable in a static temp path.
outputPath := filepath.Join(testDir, "btcd")
if runtime.GOOS == "windows" {
outputPath += ".exe"
}
cmd := exec.Command("go", "build", "-o", outputPath, btcdPkg.ImportPath)
cmd := exec.Command(
"go", "build", "-o", outputPath, "github.com/btcsuite/btcd",
)
err = cmd.Run()
if err != nil {
return "", fmt.Errorf("Failed to build btcd: %v", err)