File: device_utils_jnfiniband_test.go

package info (click to toggle)
incus 6.0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,392 kB
  • sloc: sh: 16,313; ansic: 3,121; python: 457; makefile: 337; ruby: 51; sql: 50; lisp: 6
file content (38 lines) | stat: -rw-r--r-- 1,505 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package device

import (
	"fmt"
)

func Example_infinibandValidMAC() {
	tests := []string{
		"00:00:00:00:fe:80:00:00:00:00:00:00:02:00:5e:10:00:00:00:01", // valid long form
		"a0:00:0f:c0:fe:80:00:00:00:00:00:00:4a:c8:f9:1b:aa:57:ef:19", // valid long form
		"02:00:5e:10:00:00:00:01",                                     // valid short form
		"4a:c8:f9:1b:aa:57:ef:19",                                     // valid short form
		"00-00-00-00-fe-80-00-00-00-00-00-00-02-00-5e-10-00-00-00-01", // invalid delimiter long form
		"0000.0000.fe80.0000.0000.0000.0200.5e10.0000.0001",           // invalid delimiter long form
		"02-00-5e-10-00-00-00-01",                                     // invalid delimiter short form
		"0200.5e10.0000.0001",                                         // invalid delimiter short form
		"00:00:5e:00:53:01",                                           // invalid ethernet MAC
		"invalid",
		"",
	}

	for _, v := range tests {
		err := infinibandValidMAC(v)
		fmt.Printf("%s, %t\n", v, err == nil)
	}

	// Output: 00:00:00:00:fe:80:00:00:00:00:00:00:02:00:5e:10:00:00:00:01, true
	// a0:00:0f:c0:fe:80:00:00:00:00:00:00:4a:c8:f9:1b:aa:57:ef:19, true
	// 02:00:5e:10:00:00:00:01, true
	// 4a:c8:f9:1b:aa:57:ef:19, true
	// 00-00-00-00-fe-80-00-00-00-00-00-00-02-00-5e-10-00-00-00-01, false
	// 0000.0000.fe80.0000.0000.0000.0200.5e10.0000.0001, false
	// 02-00-5e-10-00-00-00-01, false
	// 0200.5e10.0000.0001, false
	// 00:00:5e:00:53:01, false
	// invalid, false
	// , false
}