1
2
3
4
5 package unix_test
6
7 import (
8 "internal/syscall/unix"
9 "testing"
10 )
11
12 func TestKernelVersionGE(t *testing.T) {
13 major, minor := unix.KernelVersion()
14 t.Logf("Running on kernel %d.%d", major, minor)
15
16 tests := []struct {
17 name string
18 x, y int
19 want bool
20 }{
21 {
22 name: "current version equals itself",
23 x: major,
24 y: minor,
25 want: true,
26 },
27 {
28 name: "older major version",
29 x: major - 1,
30 y: 0,
31 want: true,
32 },
33 {
34 name: "same major, older minor version",
35 x: major,
36 y: minor - 1,
37 want: true,
38 },
39 {
40 name: "newer major version",
41 x: major + 1,
42 y: 0,
43 want: false,
44 },
45 {
46 name: "same major, newer minor version",
47 x: major,
48 y: minor + 1,
49 want: false,
50 },
51 {
52 name: "min version (0.0)",
53 x: 0,
54 y: 0,
55 want: true,
56 },
57 }
58
59 for _, tt := range tests {
60 t.Run(tt.name, func(t *testing.T) {
61 got := unix.KernelVersionGE(tt.x, tt.y)
62 if got != tt.want {
63 t.Errorf("KernelVersionGE(%d, %d): got %v, want %v", tt.x, tt.y, got, tt.want)
64 }
65 })
66 }
67 }
68
View as plain text