From 07a3cf759db6309765adf5a777c0e008d90efb9d Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Tue, 6 Jan 2026 11:51:59 +0800 Subject: [PATCH] Fix the version regexp to make sure releaseRe and tegRe can support string like v1.16. Signed-off-by: Xun Jiang --- test/util/velero/install.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/util/velero/install.go b/test/util/velero/install.go index b66814ee0..da57ef19e 100644 --- a/test/util/velero/install.go +++ b/test/util/velero/install.go @@ -316,12 +316,14 @@ func cleanVSpherePluginConfig(c clientset.Interface, ns, secretName, configMapNa // version can be in the format of 'main', 'release-x.y(-dev)', or 'vX.Y(.Z)' func ValidateVeleroVersion(version string) error { mainRe := regexp.MustCompile(`^main$`) - releaseRe := regexp.MustCompile(`^release-(\d)\.(\d)(-dev)?$`) + releaseRe := regexp.MustCompile(`^release-(\d+)\.(\d+)(-dev)?$`) tagRe := regexp.MustCompile(`^v(\d+)\.(\d+)(\.\d+)?$`) if mainRe.MatchString(version) || releaseRe.MatchString(version) || tagRe.MatchString(version) { return nil } + + fmt.Println("Invalid Velero version:", version) return fmt.Errorf("invalid Velero version: %s, Velero version must be 'main', 'release-x.y(-dev)', or 'vX.Y.Z'", version) } @@ -331,13 +333,14 @@ func ValidateVeleroVersion(version string) error { // return true if version is no older than targetVersion func VersionNoOlderThan(version string, targetVersion string) (bool, error) { mainRe := regexp.MustCompile(`^main$`) - releaseRe := regexp.MustCompile(`^release-(\d)\.(\d)(-dev)?$`) - tagRe := regexp.MustCompile(`^v(\d)\.(\d)(\.\d+)?$`) + releaseRe := regexp.MustCompile(`^release-(\d+)\.(\d+)(-dev)?$`) + tagRe := regexp.MustCompile(`^v(\d+)\.(\d+)(\.\d+)?$`) if err := ValidateVeleroVersion(version); err != nil { return false, err } if !tagRe.MatchString(targetVersion) && !mainRe.MatchString(targetVersion) { + fmt.Printf("targetVersion %s is invalid. it must be in the format of 'main', or 'vX.Y.(Z)'.\n", targetVersion) return false, fmt.Errorf("targetVersion is invalid. it must be in the format of 'main', or 'vX.Y.(Z)'.") } @@ -383,7 +386,8 @@ func VersionNoOlderThan(version string, targetVersion string) (bool, error) { } } - return false, fmt.Errorf("unknown error in VersionNoOlderThan") + fmt.Printf("Unknown version %s in VersionNoOlderThan\n", version) + return false, fmt.Errorf("unknown version in VersionNoOlderThan: %s", version) } func installVeleroServer(