34 lines
729 B
Go
34 lines
729 B
Go
package util
|
|
|
|
import (
|
|
"syscall"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestParseUlimit(t *testing.T) {
|
|
t.Parallel()
|
|
_, err := ParseUlimit("bogus")
|
|
assert.NotNil(t, err)
|
|
|
|
ul, err := ParseUlimit("memlock=100:200")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, ul.Soft, int64(100))
|
|
assert.Equal(t, ul.Hard, int64(200))
|
|
|
|
var limit syscall.Rlimit
|
|
err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit)
|
|
assert.Nil(t, err)
|
|
|
|
ul, err = ParseUlimit("nofile=-1:-1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, ul.Soft, int64(limit.Cur))
|
|
assert.Equal(t, ul.Hard, int64(limit.Max))
|
|
|
|
ul, err = ParseUlimit("nofile=100:-1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, ul.Soft, int64(100))
|
|
assert.Equal(t, ul.Hard, int64(limit.Max))
|
|
}
|