a68a981d0b
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
60 lines
1.4 KiB
Go
60 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"os/exec"
|
|
"os/user"
|
|
"testing"
|
|
|
|
"flag"
|
|
|
|
"github.com/containers/storage"
|
|
"github.com/urfave/cli"
|
|
)
|
|
|
|
func TestGetStore(t *testing.T) {
|
|
// Make sure the tests are running as root
|
|
failTestIfNotRoot(t)
|
|
|
|
set := flag.NewFlagSet("test", 0)
|
|
globalSet := flag.NewFlagSet("test", 0)
|
|
globalSet.String("root", "", "path to the root directory in which data, including images, is stored")
|
|
globalCtx := cli.NewContext(nil, globalSet, nil)
|
|
command := cli.Command{Name: "imagesCommand"}
|
|
c := cli.NewContext(nil, set, globalCtx)
|
|
c.Command = command
|
|
|
|
_, err := getStore(c)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
}
|
|
|
|
func failTestIfNotRoot(t *testing.T) {
|
|
u, err := user.Current()
|
|
if err != nil {
|
|
t.Log("Could not determine user. Running without root may cause tests to fail")
|
|
} else if u.Uid != "0" {
|
|
t.Fatal("tests will fail unless run as root")
|
|
}
|
|
}
|
|
|
|
func getStoreForTests() (storage.Store, error) {
|
|
set := flag.NewFlagSet("test", 0)
|
|
globalSet := flag.NewFlagSet("test", 0)
|
|
globalSet.String("root", "", "path to the root directory in which data, including images, is stored")
|
|
globalCtx := cli.NewContext(nil, globalSet, nil)
|
|
command := cli.Command{Name: "testCommand"}
|
|
c := cli.NewContext(nil, set, globalCtx)
|
|
c.Command = command
|
|
|
|
return getStore(c)
|
|
}
|
|
|
|
func pullTestImage(name string) error {
|
|
cmd := exec.Command("crioctl", "image", "pull", name)
|
|
err := cmd.Run()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|