github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/common/fdlimit/fdlimit_test.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:33</date> 10 //</624450073375281152> 11 12 13 package fdlimit 14 15 import ( 16 "fmt" 17 "testing" 18 ) 19 20 //testfiledescriptor限制只测试文件描述符是否允许 21 //根据此过程可以检索。 22 func TestFileDescriptorLimits(t *testing.T) { 23 target := 4096 24 hardlimit, err := Maximum() 25 if err != nil { 26 t.Fatal(err) 27 } 28 if hardlimit < target { 29 t.Skip(fmt.Sprintf("system limit is less than desired test target: %d < %d", hardlimit, target)) 30 } 31 32 if limit, err := Current(); err != nil || limit <= 0 { 33 t.Fatalf("failed to retrieve file descriptor limit (%d): %v", limit, err) 34 } 35 if err := Raise(uint64(target)); err != nil { 36 t.Fatalf("failed to raise file allowance") 37 } 38 if limit, err := Current(); err != nil || limit < target { 39 t.Fatalf("failed to retrieve raised descriptor limit (have %v, want %v): %v", limit, target, err) 40 } 41 } 42