mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
libct/specconv: nits
1. Decapitalize errors. 2. Rename isValidName to checkPropertyName. 3. Make it return a specific error. Suggested-by: Sebastiaan van Stijn <github@gone.nl> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
@@ -273,7 +273,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) {
|
|||||||
}
|
}
|
||||||
spec := opts.Spec
|
spec := opts.Spec
|
||||||
if spec.Root == nil {
|
if spec.Root == nil {
|
||||||
return nil, errors.New("Root must be specified")
|
return nil, errors.New("root must be specified")
|
||||||
}
|
}
|
||||||
rootfsPath := spec.Root.Path
|
rootfsPath := spec.Root.Path
|
||||||
if !filepath.IsAbs(rootfsPath) {
|
if !filepath.IsAbs(rootfsPath) {
|
||||||
@@ -410,20 +410,20 @@ func createLibcontainerMount(cwd string, m specs.Mount) (*configs.Mount, error)
|
|||||||
return mnt, nil
|
return mnt, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// isValidName checks if systemd property name is valid. It should consists
|
// checkPropertyName checks if systemd property name is valid. A valid name
|
||||||
// of latin letters only, and have least 3 of them.
|
// should consist of latin letters only, and have least 3 of them.
|
||||||
func isValidName(s string) bool {
|
func checkPropertyName(s string) error {
|
||||||
if len(s) < 3 {
|
if len(s) < 3 {
|
||||||
return false
|
return errors.New("too short")
|
||||||
}
|
}
|
||||||
// Check ASCII characters rather than Unicode runes.
|
// Check ASCII characters rather than Unicode runes.
|
||||||
for _, ch := range s {
|
for _, ch := range s {
|
||||||
if (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') {
|
if (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return false
|
return errors.New("contains non-alphabetic character")
|
||||||
}
|
}
|
||||||
return true
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Some systemd properties are documented as having "Sec" suffix
|
// Some systemd properties are documented as having "Sec" suffix
|
||||||
@@ -465,12 +465,12 @@ func initSystemdProps(spec *specs.Spec) ([]systemdDbus.Property, error) {
|
|||||||
if len(name) == len(k) { // prefix not there
|
if len(name) == len(k) { // prefix not there
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !isValidName(name) {
|
if err := checkPropertyName(name); err != nil {
|
||||||
return nil, fmt.Errorf("Annotation %s name incorrect: %s", k, name)
|
return nil, fmt.Errorf("annotation %s name incorrect: %w", k, err)
|
||||||
}
|
}
|
||||||
value, err := dbus.ParseVariant(v, dbus.Signature{})
|
value, err := dbus.ParseVariant(v, dbus.Signature{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Annotation %s=%s value parse error: %w", k, v, err)
|
return nil, fmt.Errorf("annotation %s=%s value parse error: %w", k, v, err)
|
||||||
}
|
}
|
||||||
// Check for Sec suffix.
|
// Check for Sec suffix.
|
||||||
if trimName := strings.TrimSuffix(name, "Sec"); len(trimName) < len(name) {
|
if trimName := strings.TrimSuffix(name, "Sec"); len(trimName) < len(name) {
|
||||||
@@ -480,7 +480,7 @@ func initSystemdProps(spec *specs.Spec) ([]systemdDbus.Property, error) {
|
|||||||
name = trimName + "USec"
|
name = trimName + "USec"
|
||||||
value, err = convertSecToUSec(value)
|
value, err = convertSecToUSec(value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("Annotation %s=%s value parse error: %w", k, v, err)
|
return nil, fmt.Errorf("annotation %s=%s value parse error: %w", k, v, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -780,9 +780,9 @@ func TestIsValidName(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
valid := isValidName(tc.in)
|
err := checkPropertyName(tc.in)
|
||||||
if valid != tc.valid {
|
if (err == nil) != tc.valid {
|
||||||
t.Errorf("case %q: expected %v, got %v", tc.in, tc.valid, valid)
|
t.Errorf("case %q: expected valid: %v, got error: %v", tc.in, tc.valid, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -790,7 +790,7 @@ func TestIsValidName(t *testing.T) {
|
|||||||
func BenchmarkIsValidName(b *testing.B) {
|
func BenchmarkIsValidName(b *testing.B) {
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
for _, s := range []string{"", "xx", "xxx", "someValidName", "A name", "Кир", "მადლობა", "合い言葉"} {
|
for _, s := range []string{"", "xx", "xxx", "someValidName", "A name", "Кир", "მადლობა", "合い言葉"} {
|
||||||
_ = isValidName(s)
|
_ = checkPropertyName(s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user