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

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"runtime"
     7  
     8  	rspecs "github.com/opencontainers/runtime-spec/specs-go"
     9  	"github.com/opencontainers/runtime-tools/specerror"
    10  	"github.com/opencontainers/runtime-tools/validation/util"
    11  )
    12  
    13  func main() {
    14  	if "linux" != runtime.GOOS && "solaris" != runtime.GOOS {
    15  		util.Skip("POSIX-specific process.rlimits test", map[string]string{"OS": runtime.GOOS})
    16  		os.Exit(0)
    17  	}
    18  
    19  	g, err := util.GetDefaultGenerator()
    20  	if err != nil {
    21  		util.Fatal(err)
    22  	}
    23  	g.AddProcessRlimits("RLIMIT_TEST", 1024, 1024)
    24  	err = util.RuntimeInsideValidate(g, nil, nil)
    25  	if err == nil {
    26  		util.Fatal(specerror.NewError(specerror.PosixProcRlimitsTypeGenError, fmt.Errorf("The runtime MUST generate an error for any values which cannot be mapped to a relevant kernel interface"), rspecs.Version))
    27  	}
    28  }