gogio: improve -version parse error message

Add a test while here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2025-05-22 17:07:15 +02:00
parent ae8dd5433d
commit 1b42337ac0
3 changed files with 37 additions and 12 deletions
+2 -5
View File
@@ -91,11 +91,8 @@ func (s Semver) String() string {
func parseSemver(v string) (Semver, error) {
var sv Semver
_, err := fmt.Sscanf(v, "%d.%d.%d.%d", &sv.Major, &sv.Minor, &sv.Patch, &sv.VersionCode)
if err != nil {
return Semver{}, fmt.Errorf("invalid semver: %q", v)
}
if sv.String() != v {
return Semver{}, fmt.Errorf("invalid semver: %q", v)
if err != nil || sv.String() != v {
return Semver{}, fmt.Errorf("invalid semver: %q (must match major.minor.patch.versioncode)", v)
}
return sv, nil
}