mirror of
https://github.com/containers/podman.git
synced 2025-09-10 15:46:07 +08:00
enable linter for pkg/machine/e2e
Rename all files to _test.go and rename the package to e2e_test. This makes the linter less strict about things like dot imports. Add some unused nolint directives to silence some warnings, these can be used to find untested options so someone could add tests for them. Fixes #14996 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
@ -9,9 +9,9 @@ BUILD_TAGS[abi]="${BUILD_TAGS[default]},systemd"
|
|||||||
BUILD_TAGS[tunnel]="${BUILD_TAGS[default]},remote"
|
BUILD_TAGS[tunnel]="${BUILD_TAGS[default]},remote"
|
||||||
|
|
||||||
declare -A SKIP_DIRS
|
declare -A SKIP_DIRS
|
||||||
SKIP_DIRS[abi]="pkg/machine/e2e"
|
SKIP_DIRS[abi]=""
|
||||||
# TODO: add "remote" build tag to pkg/api
|
# TODO: add "remote" build tag to pkg/api
|
||||||
SKIP_DIRS[tunnel]="pkg/api,pkg/machine/e2e"
|
SKIP_DIRS[tunnel]="pkg/api"
|
||||||
|
|
||||||
[[ $1 == run ]] && shift
|
[[ $1 == run ]] && shift
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
@ -20,7 +20,7 @@ var _ = Describe("run basic podman commands", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("Basic ops", func() {
|
It("Basic ops", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type basicMachine struct {
|
type basicMachine struct {
|
||||||
args []string
|
args []string
|
||||||
cmd []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s basicMachine) buildCmd(m *machineTestBuilder) []string {
|
func (s basicMachine) buildCmd(m *machineTestBuilder) []string {
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type infoMachine struct {
|
type infoMachine struct {
|
||||||
format string
|
format string
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -25,7 +25,7 @@ type initMachine struct {
|
|||||||
memory *uint
|
memory *uint
|
||||||
now bool
|
now bool
|
||||||
timezone string
|
timezone string
|
||||||
rootful bool
|
rootful bool //nolint:unused,structcheck
|
||||||
volumes []string
|
volumes []string
|
||||||
|
|
||||||
cmd []string
|
cmd []string
|
||||||
@ -71,7 +71,7 @@ func (i *initMachine) withDiskSize(size uint) *initMachine {
|
|||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *initMachine) withIgnitionPath(path string) *initMachine {
|
func (i *initMachine) withIgnitionPath(path string) *initMachine { //nolint:unused
|
||||||
i.ignitionPath = path
|
i.ignitionPath = path
|
||||||
return i
|
return i
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type inspectMachine struct {
|
type inspectMachine struct {
|
||||||
/*
|
/*
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type listMachine struct {
|
type listMachine struct {
|
||||||
/*
|
/*
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type rmMachine struct {
|
type rmMachine struct {
|
||||||
/*
|
/*
|
||||||
@ -40,17 +40,17 @@ func (i *rmMachine) withForce() *rmMachine {
|
|||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *rmMachine) withSaveIgnition() *rmMachine {
|
func (i *rmMachine) withSaveIgnition() *rmMachine { //nolint:unused
|
||||||
i.saveIgnition = true
|
i.saveIgnition = true
|
||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *rmMachine) withSaveImage() *rmMachine {
|
func (i *rmMachine) withSaveImage() *rmMachine { //nolint:unused
|
||||||
i.saveImage = true
|
i.saveImage = true
|
||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *rmMachine) withSaveKeys() *rmMachine {
|
func (i *rmMachine) withSaveKeys() *rmMachine { //nolint:unused
|
||||||
i.saveKeys = true
|
i.saveKeys = true
|
||||||
return i
|
return i
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
@ -1,14 +1,12 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type sshMachine struct {
|
type sshMachine struct {
|
||||||
/*
|
/*
|
||||||
--username string Username to use when ssh-ing into the VM.
|
--username string Username to use when ssh-ing into the VM.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
username string
|
username string //nolint:unused
|
||||||
sshCommand []string
|
sshCommand []string
|
||||||
|
|
||||||
cmd []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s sshMachine) buildCmd(m *machineTestBuilder) []string {
|
func (s sshMachine) buildCmd(m *machineTestBuilder) []string {
|
||||||
@ -22,7 +20,7 @@ func (s sshMachine) buildCmd(m *machineTestBuilder) []string {
|
|||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sshMachine) withUsername(name string) *sshMachine {
|
func (s *sshMachine) withUsername(name string) *sshMachine { //nolint:unused
|
||||||
s.username = name
|
s.username = name
|
||||||
return s
|
return s
|
||||||
}
|
}
|
@ -1,10 +1,9 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type startMachine struct {
|
type startMachine struct {
|
||||||
/*
|
/*
|
||||||
No command line args other than a machine vm name (also not required)
|
No command line args other than a machine vm name (also not required)
|
||||||
*/
|
*/
|
||||||
cmd []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s startMachine) buildCmd(m *machineTestBuilder) []string {
|
func (s startMachine) buildCmd(m *machineTestBuilder) []string {
|
@ -1,10 +1,9 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
type stopMachine struct {
|
type stopMachine struct {
|
||||||
/*
|
/*
|
||||||
No command line args other than a machine vm name (also not required)
|
No command line args other than a machine vm name (also not required)
|
||||||
*/
|
*/
|
||||||
cmd []string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s stopMachine) buildCmd(m *machineTestBuilder) []string {
|
func (s stopMachine) buildCmd(m *machineTestBuilder) []string {
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
@ -10,13 +10,11 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/containers/podman/v4/pkg/machine"
|
"github.com/containers/podman/v4/pkg/machine"
|
||||||
"github.com/containers/podman/v4/pkg/machine/qemu"
|
|
||||||
"github.com/containers/podman/v4/pkg/util"
|
"github.com/containers/podman/v4/pkg/util"
|
||||||
"github.com/containers/storage/pkg/stringid"
|
"github.com/containers/storage/pkg/stringid"
|
||||||
. "github.com/onsi/ginkgo" //nolint:golint,stylecheck
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
"github.com/onsi/gomega/gexec"
|
. "github.com/onsi/gomega/gexec"
|
||||||
. "github.com/onsi/gomega/gexec" //nolint:golint,stylecheck
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var originalHomeDir = os.Getenv("HOME")
|
var originalHomeDir = os.Getenv("HOME")
|
||||||
@ -36,7 +34,7 @@ type MachineTestBuilder interface {
|
|||||||
run() (*machineSession, error)
|
run() (*machineSession, error)
|
||||||
}
|
}
|
||||||
type machineSession struct {
|
type machineSession struct {
|
||||||
*gexec.Session
|
*Session
|
||||||
}
|
}
|
||||||
|
|
||||||
type machineTestBuilder struct {
|
type machineTestBuilder struct {
|
||||||
@ -47,10 +45,6 @@ type machineTestBuilder struct {
|
|||||||
podmanBinary string
|
podmanBinary string
|
||||||
timeout time.Duration
|
timeout time.Duration
|
||||||
}
|
}
|
||||||
type qemuMachineInspectInfo struct {
|
|
||||||
State machine.Status
|
|
||||||
VM qemu.MachineVM
|
|
||||||
}
|
|
||||||
|
|
||||||
// waitWithTimeout waits for a command to complete for a given
|
// waitWithTimeout waits for a command to complete for a given
|
||||||
// number of seconds
|
// number of seconds
|
||||||
@ -121,7 +115,7 @@ func (m *machineTestBuilder) setCmd(mc machineCommand) *machineTestBuilder {
|
|||||||
// If no name for the machine exists, we set a random name.
|
// If no name for the machine exists, we set a random name.
|
||||||
if !util.StringInSlice(m.name, m.names) {
|
if !util.StringInSlice(m.name, m.names) {
|
||||||
if len(m.name) < 1 {
|
if len(m.name) < 1 {
|
||||||
m.name = randomString(12)
|
m.name = randomString()
|
||||||
}
|
}
|
||||||
m.names = append(m.names, m.name)
|
m.names = append(m.names, m.name)
|
||||||
}
|
}
|
||||||
@ -136,10 +130,10 @@ func (m *machineTestBuilder) setTimeout(timeout time.Duration) *machineTestBuild
|
|||||||
|
|
||||||
// toQemuInspectInfo is only for inspecting qemu machines. Other providers will need
|
// toQemuInspectInfo is only for inspecting qemu machines. Other providers will need
|
||||||
// to make their own.
|
// to make their own.
|
||||||
func (mb *machineTestBuilder) toQemuInspectInfo() ([]machine.InspectInfo, int, error) {
|
func (m *machineTestBuilder) toQemuInspectInfo() ([]machine.InspectInfo, int, error) {
|
||||||
args := []string{"machine", "inspect"}
|
args := []string{"machine", "inspect"}
|
||||||
args = append(args, mb.names...)
|
args = append(args, m.names...)
|
||||||
session, err := runWrapper(mb.podmanBinary, args, defaultTimeout, true)
|
session, err := runWrapper(m.podmanBinary, args, defaultTimeout, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, -1, err
|
return nil, -1, err
|
||||||
}
|
}
|
||||||
@ -175,9 +169,7 @@ func runWrapper(podmanBinary string, cmdArgs []string, timeout time.Duration, wa
|
|||||||
return &ms, nil
|
return &ms, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *machineTestBuilder) init() {}
|
|
||||||
|
|
||||||
// randomString returns a string of given length composed of random characters
|
// randomString returns a string of given length composed of random characters
|
||||||
func randomString(n int) string {
|
func randomString() string {
|
||||||
return stringid.GenerateRandomID()[0:12]
|
return stringid.GenerateRandomID()[0:12]
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/containers/podman/v4/cmd/podman/machine"
|
"github.com/containers/podman/v4/cmd/podman/machine"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
@ -78,7 +78,7 @@ var _ = Describe("podman machine init", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("machine init with cpus, disk size, memory, timezone", func() {
|
It("machine init with cpus, disk size, memory, timezone", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withCPUs(2).withDiskSize(102).withMemory(4000).withTimezone("Pacific/Honolulu")).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withCPUs(2).withDiskSize(102).withMemory(4000).withTimezone("Pacific/Honolulu")).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
@ -130,7 +130,7 @@ var _ = Describe("podman machine init", func() {
|
|||||||
mount := tmpDir + ":/testmountdir"
|
mount := tmpDir + ":/testmountdir"
|
||||||
defer os.RemoveAll(tmpDir)
|
defer os.RemoveAll(tmpDir)
|
||||||
|
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withVolume(mount)).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withVolume(mount)).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
@ -52,15 +52,15 @@ var _ = Describe("podman machine stop", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("inspect with go format", func() {
|
It("inspect with go format", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(session).To(Exit(0))
|
Expect(session).To(Exit(0))
|
||||||
|
|
||||||
// regular inspect should
|
// regular inspect should
|
||||||
inspectJson := new(inspectMachine)
|
inspectJSON := new(inspectMachine)
|
||||||
inspectSession, err := mb.setName(name).setCmd(inspectJson).run()
|
inspectSession, err := mb.setName(name).setCmd(inspectJSON).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(inspectSession).To(Exit(0))
|
Expect(inspectSession).To(Exit(0))
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
@ -45,8 +45,8 @@ var _ = Describe("podman machine list", func() {
|
|||||||
|
|
||||||
It("list machines with quiet or noheading", func() {
|
It("list machines with quiet or noheading", func() {
|
||||||
// Random names for machines to test list
|
// Random names for machines to test list
|
||||||
name1 := randomString(12)
|
name1 := randomString()
|
||||||
name2 := randomString(12)
|
name2 := randomString()
|
||||||
|
|
||||||
list := new(listMachine)
|
list := new(listMachine)
|
||||||
firstList, err := mb.setCmd(list.withQuiet()).run()
|
firstList, err := mb.setCmd(list.withQuiet()).run()
|
||||||
@ -109,7 +109,7 @@ var _ = Describe("podman machine list", func() {
|
|||||||
|
|
||||||
It("list with --format", func() {
|
It("list with --format", func() {
|
||||||
// Random names for machines to test list
|
// Random names for machines to test list
|
||||||
name1 := randomString(12)
|
name1 := randomString()
|
||||||
|
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name1).setCmd(i.withImagePath(mb.imagePath)).run()
|
session, err := mb.setName(name1).setCmd(i.withImagePath(mb.imagePath)).run()
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"runtime"
|
"runtime"
|
||||||
@ -22,7 +22,7 @@ var _ = Describe("podman machine set", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("set machine cpus, disk, memory", func() {
|
It("set machine cpus, disk, memory", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
@ -75,7 +75,7 @@ var _ = Describe("podman machine set", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("no settings should change if no flags", func() {
|
It("no settings should change if no flags", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
@ -20,17 +20,17 @@ var _ = Describe("podman machine ssh", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
It("bad machine name", func() {
|
It("bad machine name", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
ssh := sshMachine{}
|
ssh := sshMachine{}
|
||||||
session, err := mb.setName(name).setCmd(ssh).run()
|
session, err := mb.setName(name).setCmd(ssh).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
Expect(session).To(Exit(125))
|
Expect(session).To(Exit(125))
|
||||||
// TODO seems like stderr is not being returned; re-enabled when fixed
|
// TODO seems like stderr is not being returned; re-enabled when fixed
|
||||||
//Expect(session.outputToString()).To(ContainSubstring("not exist"))
|
// Expect(session.outputToString()).To(ContainSubstring("not exist"))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("ssh to non-running machine", func() {
|
It("ssh to non-running machine", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
@ -40,12 +40,12 @@ var _ = Describe("podman machine ssh", func() {
|
|||||||
sshSession, err := mb.setName(name).setCmd(ssh).run()
|
sshSession, err := mb.setName(name).setCmd(ssh).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
// TODO seems like stderr is not being returned; re-enabled when fixed
|
// TODO seems like stderr is not being returned; re-enabled when fixed
|
||||||
//Expect(sshSession.outputToString()).To(ContainSubstring("is not running"))
|
// Expect(sshSession.outputToString()).To(ContainSubstring("is not running"))
|
||||||
Expect(sshSession).To(Exit(125))
|
Expect(sshSession).To(Exit(125))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("ssh to running machine and check os-type", func() {
|
It("ssh to running machine and check os-type", func() {
|
||||||
name := randomString(12)
|
name := randomString()
|
||||||
i := new(initMachine)
|
i := new(initMachine)
|
||||||
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
|
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
|
||||||
Expect(err).To(BeNil())
|
Expect(err).To(BeNil())
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/containers/podman/v4/pkg/machine"
|
"github.com/containers/podman/v4/pkg/machine"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package e2e
|
package e2e_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
|
Reference in New Issue
Block a user