// Copyright 2016 The go-ethereum Authors// This file is part of go-ethereum.//// go-ethereum is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// go-ethereum is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.packageutilsimport"testing"// TestFileDescriptorLimits simply tests whether the file descriptor allowance// per this process can be retrieved.funcTestFileDescriptorLimits(t*testing.T){target:=4096iflimit,err:=getFdLimit();err!=nil||limit<=0{t.Fatalf("failed to retrieve file descriptor limit (%d): %v",limit,err)}iferr:=raiseFdLimit(uint64(target));err!=nil{t.Fatalf("failed to raise file allowance")}iflimit,err:=getFdLimit();err!=nil||limit<target{t.Fatalf("failed to retrieve raised descriptor limit (have %v, want %v): %v",limit,target,err)}}