mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-02-02 16:28:39 +08:00
chore: add more tests (#3359)
This commit is contained in:
parent
92f6c48349
commit
b176d5d434
@ -219,6 +219,7 @@ func parseUints(val string) ([]uint64, error) {
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var sets []uint64
|
||||||
ints := make(map[uint64]lang.PlaceholderType)
|
ints := make(map[uint64]lang.PlaceholderType)
|
||||||
cols := strings.Split(val, ",")
|
cols := strings.Split(val, ",")
|
||||||
for _, r := range cols {
|
for _, r := range cols {
|
||||||
@ -239,7 +240,10 @@ func parseUints(val string) ([]uint64, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := min; i <= max; i++ {
|
for i := min; i <= max; i++ {
|
||||||
ints[i] = lang.Placeholder
|
if _, ok := ints[i]; !ok {
|
||||||
|
ints[i] = lang.Placeholder
|
||||||
|
sets = append(sets, i)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
v, err := parseUint(r)
|
v, err := parseUint(r)
|
||||||
@ -247,19 +251,17 @@ func parseUints(val string) ([]uint64, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ints[v] = lang.Placeholder
|
if _, ok := ints[v]; !ok {
|
||||||
|
ints[v] = lang.Placeholder
|
||||||
|
sets = append(sets, v)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var sets []uint64
|
|
||||||
for k := range ints {
|
|
||||||
sets = append(sets, k)
|
|
||||||
}
|
|
||||||
|
|
||||||
return sets, nil
|
return sets, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// runningInUserNS detects whether we are currently running in an user namespace.
|
// runningInUserNS detects whether we are currently running in a user namespace.
|
||||||
func runningInUserNS() bool {
|
func runningInUserNS() bool {
|
||||||
nsOnce.Do(func() {
|
nsOnce.Do(func() {
|
||||||
file, err := os.Open("/proc/self/uid_map")
|
file, err := os.Open("/proc/self/uid_map")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@ -25,3 +26,46 @@ func TestCgroupV1(t *testing.T) {
|
|||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestParseUint(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
input string
|
||||||
|
want uint64
|
||||||
|
err error
|
||||||
|
}{
|
||||||
|
{"0", 0, nil},
|
||||||
|
{"123", 123, nil},
|
||||||
|
{"-1", 0, nil},
|
||||||
|
{"-18446744073709551616", 0, nil},
|
||||||
|
{"foo", 0, fmt.Errorf("cgroup: bad int format: foo")},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
got, err := parseUint(tt.input)
|
||||||
|
assert.Equal(t, tt.err, err)
|
||||||
|
assert.Equal(t, tt.want, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestParseUints(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
input string
|
||||||
|
want []uint64
|
||||||
|
err error
|
||||||
|
}{
|
||||||
|
{"", nil, nil},
|
||||||
|
{"1,2,3", []uint64{1, 2, 3}, nil},
|
||||||
|
{"1-3", []uint64{1, 2, 3}, nil},
|
||||||
|
{"1-3,5,7-9", []uint64{1, 2, 3, 5, 7, 8, 9}, nil},
|
||||||
|
{"foo", nil, fmt.Errorf("cgroup: bad int format: foo")},
|
||||||
|
{"1-bar", nil, fmt.Errorf("cgroup: bad int list format: 1-bar")},
|
||||||
|
{"bar-3", nil, fmt.Errorf("cgroup: bad int list format: bar-3")},
|
||||||
|
{"3-1", nil, fmt.Errorf("cgroup: bad int list format: 3-1")},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
got, err := parseUints(tt.input)
|
||||||
|
assert.Equal(t, tt.err, err)
|
||||||
|
assert.Equal(t, tt.want, got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user