Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix TAP output with multiple RuntimeInsideValidate #658

Merged
merged 3 commits into from
Aug 21, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
validation tests: use new RuntimeInsideValidate
Signed-off-by: Alban Crequy <alban@kinvolk.io>
  • Loading branch information
alban committed Aug 14, 2018
commit 069db1aa44009ed6e542741a269b3d40eabc0f60
3 changes: 2 additions & 1 deletion validation/hostname/hostname.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ func testHostname(t *tap.T, hostname string) error {
}

g.SetHostname(hostname)
err = util.RuntimeInsideValidate(g, nil, nil)
g.AddAnnotation("TestName", fmt.Sprintf("check hostname %q", hostname))
err = util.RuntimeInsideValidate(g, t, nil)
t.Ok(err == nil, "hostname is set correctly")
if err != nil {
t.Diagnosticf("expect: err == nil, actual: err != nil")
Expand Down
33 changes: 21 additions & 12 deletions validation/linux_masked_paths/linux_masked_paths.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ import (
"os"
"path/filepath"

"github.com/mndrix/tap-go"
"github.com/opencontainers/runtime-tools/validation/util"
"golang.org/x/sys/unix"
)

func checkMaskedPaths() error {
func checkMaskedPaths(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -32,7 +33,8 @@ func checkMaskedPaths() error {
g.AddLinuxMaskedPaths(maskedDirSub)
g.AddLinuxMaskedPaths(maskedFileSub)
g.AddLinuxMaskedPaths(maskedFileSubSub)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check masked paths")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testDir := filepath.Join(path, maskedDirSub)
err = os.MkdirAll(testDir, 0777)
if err != nil {
Expand Down Expand Up @@ -63,7 +65,7 @@ func checkMaskedPaths() error {
return err
}

func checkMaskedRelPaths() error {
func checkMaskedRelPaths(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -73,7 +75,8 @@ func checkMaskedRelPaths() error {
maskedRelPath := "masked-relpath"

g.AddLinuxMaskedPaths(maskedRelPath)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check masked relative paths")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, maskedRelPath)
if _, err := os.Stat(testFile); err != nil && os.IsNotExist(err) {
return err
Expand All @@ -87,7 +90,7 @@ func checkMaskedRelPaths() error {
return fmt.Errorf("expected: err != nil, actual: err == nil")
}

func checkMaskedSymlinks() error {
func checkMaskedSymlinks(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -98,7 +101,8 @@ func checkMaskedSymlinks() error {
maskedSymlink := "/masked-symlink"

g.AddLinuxMaskedPaths(maskedSymlink)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check masked symlinks")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, maskedSymlink)
// ln -s .. /masked-symlink ; readlink -f /masked-symlink; ls -L /masked-symlink
if err := os.Symlink("../masked-symlink", testFile); err != nil {
Expand All @@ -121,7 +125,7 @@ func checkMaskedSymlinks() error {
return fmt.Errorf("expected: err != nil, actual: err == nil")
}

func checkMaskedDeviceNodes(mode uint32) error {
func checkMaskedDeviceNodes(t *tap.T, mode uint32) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -130,7 +134,8 @@ func checkMaskedDeviceNodes(mode uint32) error {
maskedDevice := "/masked-device"

g.AddLinuxMaskedPaths(maskedDevice)
return util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check masked device nodes")
return util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, maskedDevice)

if err := unix.Mknod(testFile, mode, 0); err != nil {
Expand All @@ -146,15 +151,19 @@ func checkMaskedDeviceNodes(mode uint32) error {
}

func main() {
if err := checkMaskedPaths(); err != nil {
t := tap.New()
t.Header(0)
defer t.AutoPlan()

if err := checkMaskedPaths(t); err != nil {
util.Fatal(err)
}

if err := checkMaskedRelPaths(); err != nil {
if err := checkMaskedRelPaths(t); err != nil {
util.Fatal(err)
}

if err := checkMaskedSymlinks(); err != nil {
if err := checkMaskedSymlinks(t); err != nil {
util.Fatal(err)
}

Expand All @@ -167,7 +176,7 @@ func main() {
}

for _, m := range modes {
if err := checkMaskedDeviceNodes(m); err != nil {
if err := checkMaskedDeviceNodes(t, m); err != nil {
util.Fatal(err)
}
}
Expand Down
33 changes: 21 additions & 12 deletions validation/linux_readonly_paths/linux_readonly_paths.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ import (
"os"
"path/filepath"

"github.com/mndrix/tap-go"
"github.com/opencontainers/runtime-tools/validation/util"
"golang.org/x/sys/unix"
)

func checkReadonlyPaths() error {
func checkReadonlyPaths(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -32,7 +33,8 @@ func checkReadonlyPaths() error {
g.AddLinuxReadonlyPaths(readonlyDirSub)
g.AddLinuxReadonlyPaths(readonlyFileSub)
g.AddLinuxReadonlyPaths(readonlyFileSubSub)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check read-only paths")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testDir := filepath.Join(path, readonlyDirSub)
err = os.MkdirAll(testDir, 0777)
if err != nil {
Expand Down Expand Up @@ -63,7 +65,7 @@ func checkReadonlyPaths() error {
return err
}

func checkReadonlyRelPaths() error {
func checkReadonlyRelPaths(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -73,7 +75,8 @@ func checkReadonlyRelPaths() error {
readonlyRelPath := "readonly-relpath"

g.AddLinuxReadonlyPaths(readonlyRelPath)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check read-only relative paths")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, readonlyRelPath)
if _, err := os.Stat(testFile); err != nil && os.IsNotExist(err) {
return err
Expand All @@ -87,7 +90,7 @@ func checkReadonlyRelPaths() error {
return fmt.Errorf("expected: err != nil, actual: err == nil")
}

func checkReadonlySymlinks() error {
func checkReadonlySymlinks(t *tap.T) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -98,7 +101,8 @@ func checkReadonlySymlinks() error {
readonlySymlink := "/readonly-symlink"

g.AddLinuxReadonlyPaths(readonlySymlink)
err = util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check read-only symlinks")
err = util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, readonlySymlink)
// ln -s .. /readonly-symlink ; readlink -f /readonly-symlink; ls -L /readonly-symlink
if err := os.Symlink("../readonly-symlink", testFile); err != nil {
Expand All @@ -121,7 +125,7 @@ func checkReadonlySymlinks() error {
return fmt.Errorf("expected: err != nil, actual: err == nil")
}

func checkReadonlyDeviceNodes(mode uint32) error {
func checkReadonlyDeviceNodes(t *tap.T, mode uint32) error {
g, err := util.GetDefaultGenerator()
if err != nil {
return err
Expand All @@ -130,7 +134,8 @@ func checkReadonlyDeviceNodes(mode uint32) error {
readonlyDevice := "/readonly-device"

g.AddLinuxReadonlyPaths(readonlyDevice)
return util.RuntimeInsideValidate(g, nil, func(path string) error {
g.AddAnnotation("TestName", "check read-only device nodes")
return util.RuntimeInsideValidate(g, t, func(path string) error {
testFile := filepath.Join(path, readonlyDevice)

if err := unix.Mknod(testFile, mode, 0); err != nil {
Expand All @@ -146,15 +151,19 @@ func checkReadonlyDeviceNodes(mode uint32) error {
}

func main() {
if err := checkReadonlyPaths(); err != nil {
t := tap.New()
t.Header(0)
defer t.AutoPlan()

if err := checkReadonlyPaths(t); err != nil {
util.Fatal(err)
}

if err := checkReadonlyRelPaths(); err != nil {
if err := checkReadonlyRelPaths(t); err != nil {
util.Fatal(err)
}

if err := checkReadonlySymlinks(); err != nil {
if err := checkReadonlySymlinks(t); err != nil {
util.Fatal(err)
}

Expand All @@ -167,7 +176,7 @@ func main() {
}

for _, m := range modes {
if err := checkReadonlyDeviceNodes(m); err != nil {
if err := checkReadonlyDeviceNodes(t, m); err != nil {
util.Fatal(err)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ import (
"github.com/opencontainers/runtime-tools/validation/util"
)

func testLinuxRootPropagation(propMode string) error {
func testLinuxRootPropagation(t *tap.T, propMode string) error {
g, err := util.GetDefaultGenerator()
if err != nil {
util.Fatal(err)
}
g.SetupPrivileged(true)
g.SetLinuxRootPropagation(propMode)
return util.RuntimeInsideValidate(g, nil, nil)
g.AddAnnotation("TestName", "check root propagation")
return util.RuntimeInsideValidate(g, t, nil)
}

func main() {
Expand All @@ -28,7 +29,7 @@ func main() {
}

for _, c := range cases {
if err := testLinuxRootPropagation(c); err != nil {
if err := testLinuxRootPropagation(t, c); err != nil {
t.Fail(err.Error())
}
}
Expand Down