提交 6c340563 作者: Jeromy

fdlimit: improve fdlimit autoraising tests

License: MIT
Signed-off-by: 's avatarJeromy <why@ipfs.io>
上级 0e5e6cf9
......@@ -30,12 +30,15 @@ func checkAndSetUlimit() error {
return fmt.Errorf("error getting rlimit: %s", err)
}
var setting bool
if rLimit.Cur < ipfsFileDescNum {
if rLimit.Max < ipfsFileDescNum {
log.Error("adjusting max")
rLimit.Max = ipfsFileDescNum
}
fmt.Printf("Adjusting current ulimit to %d.\n", ipfsFileDescNum)
fmt.Printf("Adjusting current ulimit to %d...\n", ipfsFileDescNum)
rLimit.Cur = ipfsFileDescNum
setting = true
}
err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
......@@ -43,5 +46,9 @@ func checkAndSetUlimit() error {
return fmt.Errorf("error setting ulimit: %s", err)
}
if setting {
fmt.Printf("Successfully raised file descriptor limit to %d.\n", ipfsFileDescNum)
}
return nil
}
......@@ -121,14 +121,30 @@ test_expect_success "daemon with pipe eventually becomes live" '
test_fsh cat stdin_daemon_out || test_fsh cat stdin_daemon_err || test_fsh cat stdin_poll_apiout || test_fsh cat stdin_poll_apierr
'
ulimit -n 512
ulimit -S -n 512
TEST_ULIMIT_PRESET=1
test_launch_ipfs_daemon
test_expect_success "daemon raised its fd limit" '
grep "ulimit" actual_daemon > /dev/null
grep "raised file descriptor limit to 1024." actual_daemon > /dev/null
'
get_col_four() {
awk '{ print $4 }' $1
}
if [ `uname` == "Linux" ]; then
test_expect_success "get fd limit through /proc" '
cat /proc/$IPFS_PID/limits > limits &&
grep "Max open files" limits > fd_limits_line &&
limit=$(get_col_four fd_limits_line)
'
test_expect_success "limit from system looks good" '
test "$limit" -eq 1024
'
fi
test_kill_ipfs_daemon
test_done
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论