github.com/arieschain/arieschain@v0.0.0-20191023063405-37c074544356/common/fdlimit/fdlimit_test.go (about) 1 package fdlimit 2 3 import ( 4 "fmt" 5 "testing" 6 ) 7 8 // TestFileDescriptorLimits simply tests whether the file descriptor allowance 9 // per this process can be retrieved. 10 func TestFileDescriptorLimits(t *testing.T) { 11 target := 4096 12 hardlimit, err := Maximum() 13 if err != nil { 14 t.Fatal(err) 15 } 16 if hardlimit < target { 17 t.Skip(fmt.Sprintf("system limit is less than desired test target: %d < %d", hardlimit, target)) 18 } 19 20 if limit, err := Current(); err != nil || limit <= 0 { 21 t.Fatalf("failed to retrieve file descriptor limit (%d): %v", limit, err) 22 } 23 if err := Raise(uint64(target)); err != nil { 24 t.Fatalf("failed to raise file allowance") 25 } 26 if limit, err := Current(); err != nil || limit < target { 27 t.Fatalf("failed to retrieve raised descriptor limit (have %v, want %v): %v", limit, target, err) 28 } 29 }