github.com/opencontainers/runtime-tools@v0.9.0/validation/linux_cgroups_relative_blkio/linux_cgroups_relative_blkio.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/mndrix/tap-go"
     5  	"github.com/opencontainers/runtime-tools/cgroups"
     6  	"github.com/opencontainers/runtime-tools/validation/util"
     7  )
     8  
     9  func main() {
    10  	var weight uint16 = 500
    11  	var leafWeight uint16 = 300
    12  	var major, minor int64 = 8, 0
    13  	var rate uint64 = 102400
    14  
    15  	t := tap.New()
    16  	t.Header(0)
    17  	defer t.AutoPlan()
    18  
    19  	g, err := util.GetDefaultGenerator()
    20  	if err != nil {
    21  		util.Fatal(err)
    22  	}
    23  	g.SetLinuxCgroupsPath(cgroups.RelCgroupPath)
    24  	g.SetLinuxResourcesBlockIOWeight(weight)
    25  	g.SetLinuxResourcesBlockIOLeafWeight(leafWeight)
    26  	g.AddLinuxResourcesBlockIOWeightDevice(major, minor, weight)
    27  	g.AddLinuxResourcesBlockIOLeafWeightDevice(major, minor, leafWeight)
    28  	g.AddLinuxResourcesBlockIOThrottleReadBpsDevice(major, minor, rate)
    29  	g.AddLinuxResourcesBlockIOThrottleWriteBpsDevice(major, minor, rate)
    30  	g.AddLinuxResourcesBlockIOThrottleReadIOPSDevice(major, minor, rate)
    31  	g.AddLinuxResourcesBlockIOThrottleWriteIOPSDevice(major, minor, rate)
    32  	err = util.RuntimeOutsideValidate(g, t, util.ValidateLinuxResourcesBlockIO)
    33  	if err != nil {
    34  		t.Fail(err.Error())
    35  	}
    36  }