From f8536e8e429865bcc11b793b5d65269a0a69b8a2 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Sat, 9 Feb 2019 14:07:01 +0100 Subject: [PATCH] e2e: fix snapshot skip test Even if snapshots are supported by the driver interface, the driver or suite might still want to skip a particular test, so those checks still need to be executed. --- test/e2e/storage/testsuites/base.go | 47 ++++++++++++++--------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/test/e2e/storage/testsuites/base.go b/test/e2e/storage/testsuites/base.go index 3c7e58d4ff1..75425b98d33 100644 --- a/test/e2e/storage/testsuites/base.go +++ b/test/e2e/storage/testsuites/base.go @@ -91,7 +91,7 @@ func skipUnsupportedTest(suite TestSuite, driver TestDriver, pattern testpattern var isSupported bool // 1. Check if Whether SnapshotType is supported by driver from its interface - // if isSupported, so it must be a snapshot test case, we just return. + // if isSupported, we still execute the driver and suite tests if len(pattern.SnapshotType) > 0 { switch pattern.SnapshotType { case testpatterns.DynamicCreatedSnapshot: @@ -102,31 +102,30 @@ func skipUnsupportedTest(suite TestSuite, driver TestDriver, pattern testpattern if !isSupported { framework.Skipf("Driver %s doesn't support snapshot type %v -- skipping", dInfo.Name, pattern.SnapshotType) } - return - } + } else { + // 2. Check if Whether volType is supported by driver from its interface + switch pattern.VolType { + case testpatterns.InlineVolume: + _, isSupported = driver.(InlineVolumeTestDriver) + case testpatterns.PreprovisionedPV: + _, isSupported = driver.(PreprovisionedPVTestDriver) + case testpatterns.DynamicPV: + _, isSupported = driver.(DynamicPVTestDriver) + default: + isSupported = false + } - // 2. Check if Whether volType is supported by driver from its interface - switch pattern.VolType { - case testpatterns.InlineVolume: - _, isSupported = driver.(InlineVolumeTestDriver) - case testpatterns.PreprovisionedPV: - _, isSupported = driver.(PreprovisionedPVTestDriver) - case testpatterns.DynamicPV: - _, isSupported = driver.(DynamicPVTestDriver) - default: - isSupported = false - } + if !isSupported { + framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) + } - if !isSupported { - framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.VolType) - } - - // 3. Check if fsType is supported - if !dInfo.SupportedFsType.Has(pattern.FsType) { - framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.FsType) - } - if pattern.FsType == "xfs" && framework.NodeOSDistroIs("gci") { - framework.Skipf("Distro doesn't support xfs -- skipping") + // 3. Check if fsType is supported + if !dInfo.SupportedFsType.Has(pattern.FsType) { + framework.Skipf("Driver %s doesn't support %v -- skipping", dInfo.Name, pattern.FsType) + } + if pattern.FsType == "xfs" && framework.NodeOSDistroIs("gci") { + framework.Skipf("Distro doesn't support xfs -- skipping") + } } // 4. Check with driver specific logic