mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 04:33:26 +00:00
Merge pull request #67618 from liztio/fix-bazel
Automatic merge from submit-queue (batch tested with PRs 66862, 67618). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Fix bazel **What this PR does / why we need it**: `bazel test //cmd/kubeadm/...` has been broken for a while. This is incredibly annoying to me, because I use it constantly during my workflow. This should fix it. **Special notes for your reviewer**: **Release note**: ```release-note ```
This commit is contained in:
commit
54dbbc41df
@ -23,9 +23,8 @@ go_test(
|
|||||||
"version_test.go",
|
"version_test.go",
|
||||||
],
|
],
|
||||||
args = ["--kubeadm-path=$(location //cmd/kubeadm:kubeadm)"],
|
args = ["--kubeadm-path=$(location //cmd/kubeadm:kubeadm)"],
|
||||||
data = ["//cmd/kubeadm"],
|
data = ["//cmd/kubeadm"] + glob(["testdata/**"]),
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
rundir = ".",
|
|
||||||
tags = [
|
tags = [
|
||||||
"integration",
|
"integration",
|
||||||
"skip",
|
"skip",
|
||||||
|
@ -19,6 +19,8 @@ package kubeadm
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestCmdCompletion(t *testing.T) {
|
func TestCmdCompletion(t *testing.T) {
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
|
|
||||||
if *kubeadmCmdSkip {
|
if *kubeadmCmdSkip {
|
||||||
t.Log("kubeadm cmd tests being skipped")
|
t.Log("kubeadm cmd tests being skipped")
|
||||||
t.Skip()
|
t.Skip()
|
||||||
@ -33,7 +35,7 @@ func TestCmdCompletion(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, rt := range tests {
|
for _, rt := range tests {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "completion", rt.args)
|
_, _, actual := RunCmd(kubeadmPath, "completion", rt.args)
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdCompletion running 'kubeadm completion %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdCompletion running 'kubeadm completion %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
|
@ -23,9 +23,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func runKubeadmInit(args ...string) (string, string, error) {
|
func runKubeadmInit(args ...string) (string, string, error) {
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
kubeadmArgs := []string{"init", "--dry-run", "--ignore-preflight-errors=all"}
|
kubeadmArgs := []string{"init", "--dry-run", "--ignore-preflight-errors=all"}
|
||||||
kubeadmArgs = append(kubeadmArgs, args...)
|
kubeadmArgs = append(kubeadmArgs, args...)
|
||||||
return RunCmd(*kubeadmPath, kubeadmArgs...)
|
return RunCmd(kubeadmPath, kubeadmArgs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCmdInitToken(t *testing.T) {
|
func TestCmdInitToken(t *testing.T) {
|
||||||
|
@ -20,7 +20,8 @@ import "testing"
|
|||||||
|
|
||||||
// kubeadmReset executes "kubeadm reset" and restarts kubelet.
|
// kubeadmReset executes "kubeadm reset" and restarts kubelet.
|
||||||
func kubeadmReset() error {
|
func kubeadmReset() error {
|
||||||
_, _, err := RunCmd(*kubeadmPath, "reset")
|
kubeadmPath := getKubeadmPath()
|
||||||
|
_, _, err := RunCmd(kubeadmPath, "reset")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,8 +39,9 @@ func TestCmdJoinConfig(t *testing.T) {
|
|||||||
{"--config=/does/not/exist/foo/bar", false},
|
{"--config=/does/not/exist/foo/bar", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinConfig running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinConfig running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -67,8 +69,9 @@ func TestCmdJoinDiscoveryFile(t *testing.T) {
|
|||||||
{"--discovery-file=file:wrong", false},
|
{"--discovery-file=file:wrong", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinDiscoveryFile running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinDiscoveryFile running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -96,8 +99,9 @@ func TestCmdJoinDiscoveryToken(t *testing.T) {
|
|||||||
{"--discovery-token=token://asdf:asdf", false},
|
{"--discovery-token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinDiscoveryToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinDiscoveryToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -124,8 +128,9 @@ func TestCmdJoinNodeName(t *testing.T) {
|
|||||||
{"--node-name=foobar", false},
|
{"--node-name=foobar", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinNodeName running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinNodeName running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -153,8 +158,9 @@ func TestCmdJoinTLSBootstrapToken(t *testing.T) {
|
|||||||
{"--tls-bootstrap-token=token://asdf:asdf", false},
|
{"--tls-bootstrap-token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinTLSBootstrapToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinTLSBootstrapToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -182,8 +188,9 @@ func TestCmdJoinToken(t *testing.T) {
|
|||||||
{"--token=token://asdf:asdf", false},
|
{"--token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -203,6 +210,7 @@ func TestCmdJoinBadArgs(t *testing.T) {
|
|||||||
t.Skip()
|
t.Skip()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
@ -212,7 +220,7 @@ func TestCmdJoinBadArgs(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinBadArgs 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinBadArgs 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -239,8 +247,9 @@ func TestCmdJoinArgsMixed(t *testing.T) {
|
|||||||
{"--discovery-token=abcdef.1234567890abcdef --config=/etc/kubernetes/kubeadm.config", false},
|
{"--discovery-token=abcdef.1234567890abcdef --config=/etc/kubernetes/kubeadm.config", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdJoinArgsMixed running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdJoinArgsMixed running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
|
@ -19,6 +19,7 @@ package kubeadm
|
|||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"os"
|
"os"
|
||||||
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"testing"
|
"testing"
|
||||||
@ -28,15 +29,26 @@ const (
|
|||||||
TokenExpectedRegex = "^\\S{6}\\.\\S{16}\n$"
|
TokenExpectedRegex = "^\\S{6}\\.\\S{16}\n$"
|
||||||
)
|
)
|
||||||
|
|
||||||
var kubeadmPath = flag.String("kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm")
|
var kubeadmPathFlag = flag.String("kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm")
|
||||||
|
|
||||||
|
func getKubeadmPath() string {
|
||||||
|
kubeadmPath := *kubeadmPathFlag // TEST_SRCDIR is provided by Bazel.
|
||||||
|
if srcDir := os.Getenv("TEST_SRCDIR"); srcDir != "" {
|
||||||
|
kubeadmPath = path.Join(srcDir, os.Getenv("TEST_WORKSPACE"), kubeadmPath)
|
||||||
|
}
|
||||||
|
|
||||||
|
return kubeadmPath
|
||||||
|
}
|
||||||
|
|
||||||
var kubeadmCmdSkip = flag.Bool("kubeadm-cmd-skip", false, "Skip kubeadm cmd tests")
|
var kubeadmCmdSkip = flag.Bool("kubeadm-cmd-skip", false, "Skip kubeadm cmd tests")
|
||||||
|
|
||||||
func TestCmdTokenGenerate(t *testing.T) {
|
func TestCmdTokenGenerate(t *testing.T) {
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
if *kubeadmCmdSkip {
|
if *kubeadmCmdSkip {
|
||||||
t.Log("kubeadm cmd tests being skipped")
|
t.Log("kubeadm cmd tests being skipped")
|
||||||
t.Skip()
|
t.Skip()
|
||||||
}
|
}
|
||||||
stdout, _, err := RunCmd(*kubeadmPath, "token", "generate")
|
stdout, _, err := RunCmd(kubeadmPath, "token", "generate")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("'kubeadm token generate' exited uncleanly: %v", err)
|
t.Fatalf("'kubeadm token generate' exited uncleanly: %v", err)
|
||||||
}
|
}
|
||||||
@ -65,7 +77,8 @@ func TestCmdTokenGenerateTypoError(t *testing.T) {
|
|||||||
t.Skip()
|
t.Skip()
|
||||||
}
|
}
|
||||||
|
|
||||||
_, _, err := RunCmd(*kubeadmPath, "token", "genorate") // subtle typo
|
kubeadmPath := getKubeadmPath()
|
||||||
|
_, _, err := RunCmd(kubeadmPath, "token", "genorate") // subtle typo
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Error("'kubeadm token genorate' (a deliberate typo) exited without an error when we expected non-zero exit status")
|
t.Error("'kubeadm token genorate' (a deliberate typo) exited without an error when we expected non-zero exit status")
|
||||||
}
|
}
|
||||||
@ -84,8 +97,9 @@ func TestCmdTokenDelete(t *testing.T) {
|
|||||||
{"foobar", false}, // invalid token
|
{"foobar", false}, // invalid token
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range tests {
|
for _, rt := range tests {
|
||||||
_, _, actual := RunCmd(*kubeadmPath, "token", "delete", rt.args)
|
_, _, actual := RunCmd(kubeadmPath, "token", "delete", rt.args)
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdTokenDelete running 'kubeadm token %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdTokenDelete running 'kubeadm token %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
|
@ -49,8 +49,9 @@ func TestCmdVersion(t *testing.T) {
|
|||||||
{"", NormalExpectedRegex, true},
|
{"", NormalExpectedRegex, true},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range versionTest {
|
for _, rt := range versionTest {
|
||||||
stdout, _, actual := RunCmd(*kubeadmPath, "version", rt.args)
|
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
@ -88,8 +89,9 @@ func TestCmdVersionOutputJsonOrYaml(t *testing.T) {
|
|||||||
{"--output=yaml", "yaml", true},
|
{"--output=yaml", "yaml", true},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range versionTest {
|
for _, rt := range versionTest {
|
||||||
stdout, _, actual := RunCmd(*kubeadmPath, "version", rt.args)
|
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
||||||
if (actual == nil) != rt.expected {
|
if (actual == nil) != rt.expected {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
|
Loading…
Reference in New Issue
Block a user