mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Fix path to the coverage folder for e2e tests.
This commit is contained in:
parent
13ef6fc343
commit
c7a76470d5
12
test.sh
12
test.sh
@ -325,14 +325,14 @@ function cov_pass {
|
|||||||
log_callout "[$(date)] Collecting coverage from e2e tests ..."
|
log_callout "[$(date)] Collecting coverage from e2e tests ..."
|
||||||
# We don't pass 'gocov_build_flags' nor 'pkg_to_coverprofileflag' here,
|
# We don't pass 'gocov_build_flags' nor 'pkg_to_coverprofileflag' here,
|
||||||
# as the coverage is collected from the ./bin/etcd_test & ./bin/etcdctl_test internally spawned.
|
# as the coverage is collected from the ./bin/etcd_test & ./bin/etcdctl_test internally spawned.
|
||||||
mkdir -p "${COVERDIR}/e2e"
|
mkdir -p "${coverdir}/e2e"
|
||||||
COVERDIR="${COVERDIR}/e2e" run_for_module "tests" go_test "./e2e/..." "keep_going" : -tags=cov -timeout 30m "$@" || failed="$failed tests_e2e"
|
COVERDIR="${coverdir}/e2e" run_for_module "tests" go_test "./e2e/..." "keep_going" : -tags=cov -timeout 30m "$@" || failed="$failed tests_e2e"
|
||||||
split_dir "${COVERDIR}/e2e" 10
|
split_dir "${coverdir}/e2e" 10
|
||||||
|
|
||||||
log_callout "[$(date)] Collecting coverage from e2e tests with proxy ..."
|
log_callout "[$(date)] Collecting coverage from e2e tests with proxy ..."
|
||||||
mkdir -p "${COVERDIR}/e2e_proxy"
|
mkdir -p "${coverdir}/e2e_proxy"
|
||||||
COVERDIR="${COVERDIR}/e2e_proxy" run_for_module "tests" go_test "./e2e/..." "keep_going" : -tags="cov cluster_proxy" -timeout 30m "$@" || failed="$failed tests_e2e_proxy"
|
COVERDIR="${coverdir}/e2e_proxy" run_for_module "tests" go_test "./e2e/..." "keep_going" : -tags="cov cluster_proxy" -timeout 30m "$@" || failed="$failed tests_e2e_proxy"
|
||||||
split_dir "${COVERDIR}/e2e_proxy" 10
|
split_dir "${coverdir}/e2e_proxy" 10
|
||||||
|
|
||||||
local cover_out_file="${coverdir}/all.coverprofile"
|
local cover_out_file="${coverdir}/all.coverprofile"
|
||||||
merge_cov "${coverdir}"
|
merge_cov "${coverdir}"
|
||||||
|
@ -20,18 +20,22 @@ package e2e
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"go.etcd.io/etcd/client/pkg/v3/fileutil"
|
"go.etcd.io/etcd/client/pkg/v3/fileutil"
|
||||||
"go.etcd.io/etcd/pkg/v3/expect"
|
"go.etcd.io/etcd/pkg/v3/expect"
|
||||||
|
"go.etcd.io/etcd/tests/v3/integration"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
const noOutputLineCount = 2 // cov-enabled binaries emit PASS and coverage count lines
|
const noOutputLineCount = 2 // cov-enabled binaries emit PASS and coverage count lines
|
||||||
|
|
||||||
|
var (
|
||||||
|
coverDir = integration.MustAbsPath(os.Getenv("COVERDIR"))
|
||||||
|
)
|
||||||
|
|
||||||
func spawnCmd(args []string) (*expect.ExpectProcess, error) {
|
func spawnCmd(args []string) (*expect.ExpectProcess, error) {
|
||||||
return spawnCmdWithLogger(zap.NewNop(), args)
|
return spawnCmdWithLogger(zap.NewNop(), args)
|
||||||
}
|
}
|
||||||
@ -72,18 +76,12 @@ func spawnCmdWithLogger(lg *zap.Logger, args []string) (*expect.ExpectProcess, e
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getCovArgs() ([]string, error) {
|
func getCovArgs() ([]string, error) {
|
||||||
coverPath := os.Getenv("COVERDIR")
|
if !fileutil.Exist(coverDir) {
|
||||||
if !filepath.IsAbs(coverPath) {
|
return nil, fmt.Errorf("could not find coverage folder: %s", coverDir)
|
||||||
// COVERDIR is relative to etcd root but e2e test has its path set to be relative to the e2e folder.
|
|
||||||
// adding ".." in front of COVERDIR ensures that e2e saves coverage reports to the correct location.
|
|
||||||
coverPath = filepath.Join("../..", coverPath)
|
|
||||||
}
|
|
||||||
if !fileutil.Exist(coverPath) {
|
|
||||||
return nil, fmt.Errorf("could not find coverage folder")
|
|
||||||
}
|
}
|
||||||
covArgs := []string{
|
covArgs := []string{
|
||||||
fmt.Sprintf("-test.coverprofile=e2e.%v.coverprofile", time.Now().UnixNano()),
|
fmt.Sprintf("-test.coverprofile=e2e.%v.coverprofile", time.Now().UnixNano()),
|
||||||
"-test.outputdir=" + coverPath,
|
"-test.outputdir=" + coverDir,
|
||||||
}
|
}
|
||||||
return covArgs, nil
|
return covArgs, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user