github.com/consensys/gnark@v0.11.0/version_test.go (about) 1 package gnark 2 3 import ( 4 "os/exec" 5 "strings" 6 "testing" 7 8 "github.com/blang/semver/v4" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestVersion(t *testing.T) { 13 assert := require.New(t) 14 // git describe --abbrev=0 --> doesn't work on CI 15 // git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags https://github.com/consensys/gnark-crypto '*.*.*' 16 cmd := exec.Command("git", "-c", "versionsort.suffix=-", "ls-remote", "--exit-code", "--refs", "--sort=version:refname", 17 "--tags", "https://github.com/ConsenSys/gnark", "*.*.*") 18 stdout, err := cmd.Output() 19 assert.NoError(err) 20 21 splitted := strings.Split(string(stdout), "/") 22 lastTag := splitted[len(splitted)-1] 23 24 // lastTag := strings.TrimSpace(string(stdout)) 25 lastVersion, err := semver.ParseTolerant(lastTag) 26 assert.NoError(err) 27 28 if lastVersion.Compare(Version) == 1 { 29 t.Fatal("latest git tag is more recent than hardcoded Version") 30 } 31 }