github.com/opencontainers/runc@v1.2.0-rc.1.0.20240520010911-492dc558cdd6/internal/testutil/testutil.go (about)

     1  package testutil
     2  
     3  import (
     4  	"os/exec"
     5  	"strconv"
     6  	"sync"
     7  	"testing"
     8  )
     9  
    10  var (
    11  	centosVer     string
    12  	centosVerOnce sync.Once
    13  )
    14  
    15  func centosVersion() string {
    16  	centosVerOnce.Do(func() {
    17  		ver, _ := exec.Command("rpm", "-q", "--qf", "%{version}", "centos-release").CombinedOutput()
    18  		centosVer = string(ver)
    19  	})
    20  	return centosVer
    21  }
    22  
    23  func SkipOnCentOS(t *testing.T, reason string, versions ...int) {
    24  	t.Helper()
    25  	for _, v := range versions {
    26  		if vstr := strconv.Itoa(v); centosVersion() == vstr {
    27  			t.Skip(reason + " on CentOS " + vstr)
    28  		}
    29  	}
    30  }