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  }