Skip to content

Commit a5e4967

Browse files
committed
chore: enable begin rule from thelper
Signed-off-by: Matthieu MOREL <[email protected]>
1 parent 92e037d commit a5e4967

18 files changed

+123
-168
lines changed

.golangci.yml

-17
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,6 @@ linters-settings:
102102
disabled: true
103103
testifylint:
104104
enable-all: true
105-
thelper:
106-
test:
107-
# Check t.Helper() begins helper function.
108-
# Default: true
109-
begin: false
110-
benchmark:
111-
# Check b.Helper() begins helper function.
112-
# Default: true
113-
begin: false
114-
tb:
115-
# Check tb.Helper() begins helper function.
116-
# Default: true
117-
begin: false
118-
fuzz:
119-
# Check f.Helper() begins helper function.
120-
# Default: true
121-
begin: false
122105
usetesting:
123106
os-create-temp: false
124107
os-mkdir-temp: false

cpu/cpu_linux_test.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010

1111
"github.com/stretchr/testify/assert"
1212
"github.com/stretchr/testify/require"
13+
14+
"github.com/shirou/gopsutil/v4/internal/common"
1315
)
1416

1517
func TestTimesEmpty(t *testing.T) {
@@ -76,10 +78,10 @@ func TestCountsAgainstLscpu(t *testing.T) {
7678
expectedPhysical := coresPerSocket * sockets * books * drawers
7779
expectedLogical := expectedPhysical * threadsPerCore
7880
physical, err := Counts(false)
79-
skipIfNotImplementedErr(t, err)
81+
common.SkipIfNotImplementedErr(t, err)
8082
require.NoError(t, err)
8183
logical, err := Counts(true)
82-
skipIfNotImplementedErr(t, err)
84+
common.SkipIfNotImplementedErr(t, err)
8385
require.NoError(t, err)
8486
assert.Equalf(t, expectedPhysical, physical, "expected %v, got %v", expectedPhysical, physical)
8587
assert.Equalf(t, expectedLogical, logical, "expected %v, got %v", expectedLogical, logical)

cpu/cpu_plan9_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
"github.com/google/go-cmp/cmp/cmpopts"
1212
"github.com/stretchr/testify/assert"
1313
"github.com/stretchr/testify/require"
14+
15+
"github.com/shirou/gopsutil/v4/internal/common"
1416
)
1517

1618
var timesTests = []struct {
@@ -35,7 +37,7 @@ func TestTimesPlan9(t *testing.T) {
3537
t.Run(tt.mockedRootFS, func(t *testing.T) {
3638
t.Setenv("HOST_ROOT", filepath.Join("testdata/plan9", tt.mockedRootFS))
3739
stats, err := Times(false)
38-
skipIfNotImplementedErr(t, err)
40+
common.SkipIfNotImplementedErr(t, err)
3941
require.NoError(t, err)
4042
eps := cmpopts.EquateApprox(0, 0.00000001)
4143
assert.Truef(t, cmp.Equal(stats, tt.stats, eps), "got: %+v\nwant: %+v", stats, tt.stats)

cpu/cpu_test.go

+12-17
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package cpu
33

44
import (
5-
"errors"
65
"fmt"
76
"os"
87
"runtime"
@@ -15,15 +14,9 @@ import (
1514
"github.com/shirou/gopsutil/v4/internal/common"
1615
)
1716

18-
func skipIfNotImplementedErr(t *testing.T, err error) {
19-
if errors.Is(err, common.ErrNotImplementedError) {
20-
t.Skip("not implemented")
21-
}
22-
}
23-
2417
func TestTimes(t *testing.T) {
2518
v, err := Times(false)
26-
skipIfNotImplementedErr(t, err)
19+
common.SkipIfNotImplementedErr(t, err)
2720
require.NoError(t, err)
2821
assert.NotEmptyf(t, v, "could not get CPUs: %s", err)
2922
empty := TimesStat{}
@@ -33,11 +26,11 @@ func TestTimes(t *testing.T) {
3326

3427
// test sum of per cpu stats is within margin of error for cpu total stats
3528
cpuTotal, err := Times(false)
36-
skipIfNotImplementedErr(t, err)
29+
common.SkipIfNotImplementedErr(t, err)
3730
require.NoError(t, err)
3831
assert.NotEmptyf(t, cpuTotal, "could not get CPUs: %s", err)
3932
perCPU, err := Times(true)
40-
skipIfNotImplementedErr(t, err)
33+
common.SkipIfNotImplementedErr(t, err)
4134
require.NoError(t, err)
4235
assert.NotEmptyf(t, perCPU, "could not get CPUs: %s", err)
4336
var perCPUUserTimeSum float64
@@ -67,12 +60,12 @@ func TestTimes(t *testing.T) {
6760

6861
func TestCounts(t *testing.T) {
6962
v, err := Counts(true)
70-
skipIfNotImplementedErr(t, err)
63+
common.SkipIfNotImplementedErr(t, err)
7164
require.NoError(t, err)
7265
assert.NotZerof(t, v, "could not get logical CPU counts: %v", v)
7366
t.Logf("logical cores: %d", v)
7467
v, err = Counts(false)
75-
skipIfNotImplementedErr(t, err)
68+
common.SkipIfNotImplementedErr(t, err)
7669
require.NoError(t, err)
7770
assert.NotZerof(t, v, "could not get physical CPU counts: %v", v)
7871
t.Logf("physical cores: %d", v)
@@ -91,7 +84,7 @@ func TestTimeStat_String(t *testing.T) {
9184

9285
func TestInfo(t *testing.T) {
9386
v, err := Info()
94-
skipIfNotImplementedErr(t, err)
87+
common.SkipIfNotImplementedErr(t, err)
9588
require.NoError(t, err)
9689
assert.NotEmptyf(t, v, "could not get CPU Info")
9790
for _, vv := range v {
@@ -100,13 +93,14 @@ func TestInfo(t *testing.T) {
10093
}
10194

10295
func testPercent(t *testing.T, percpu bool) {
96+
t.Helper()
10397
numcpu := runtime.NumCPU()
10498
testCount := 3
10599

106100
if runtime.GOOS != "windows" {
107101
testCount = 100
108102
v, err := Percent(time.Millisecond, percpu)
109-
skipIfNotImplementedErr(t, err)
103+
common.SkipIfNotImplementedErr(t, err)
110104
require.NoError(t, err)
111105
// Skip CI which CPU num is different
112106
if os.Getenv("CI") != "true" {
@@ -118,7 +112,7 @@ func testPercent(t *testing.T, percpu bool) {
118112
for i := 0; i < testCount; i++ {
119113
duration := time.Duration(10) * time.Microsecond
120114
v, err := Percent(duration, percpu)
121-
skipIfNotImplementedErr(t, err)
115+
common.SkipIfNotImplementedErr(t, err)
122116
require.NoError(t, err)
123117
for _, percent := range v {
124118
// Check for slightly greater then 100% to account for any rounding issues.
@@ -130,13 +124,14 @@ func testPercent(t *testing.T, percpu bool) {
130124
}
131125

132126
func testPercentLastUsed(t *testing.T, percpu bool) {
127+
t.Helper()
133128
numcpu := runtime.NumCPU()
134129
testCount := 10
135130

136131
if runtime.GOOS != "windows" {
137132
testCount = 2
138133
v, err := Percent(time.Millisecond, percpu)
139-
skipIfNotImplementedErr(t, err)
134+
common.SkipIfNotImplementedErr(t, err)
140135
require.NoError(t, err)
141136
// Skip CI which CPU num is different
142137
if os.Getenv("CI") != "true" {
@@ -147,7 +142,7 @@ func testPercentLastUsed(t *testing.T, percpu bool) {
147142
}
148143
for i := 0; i < testCount; i++ {
149144
v, err := Percent(0, percpu)
150-
skipIfNotImplementedErr(t, err)
145+
common.SkipIfNotImplementedErr(t, err)
151146
require.NoError(t, err)
152147
time.Sleep(1 * time.Millisecond)
153148
for _, percent := range v {

disk/disk_test.go

+3-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package disk
33

44
import (
5-
"errors"
65
"fmt"
76
"runtime"
87
"sync"
@@ -14,26 +13,20 @@ import (
1413
"github.com/shirou/gopsutil/v4/internal/common"
1514
)
1615

17-
func skipIfNotImplementedErr(t *testing.T, err error) {
18-
if errors.Is(err, common.ErrNotImplementedError) {
19-
t.Skip("not implemented")
20-
}
21-
}
22-
2316
func TestUsage(t *testing.T) {
2417
path := "/"
2518
if runtime.GOOS == "windows" {
2619
path = "C:"
2720
}
2821
v, err := Usage(path)
29-
skipIfNotImplementedErr(t, err)
22+
common.SkipIfNotImplementedErr(t, err)
3023
require.NoError(t, err)
3124
assert.Equalf(t, v.Path, path, "error %v", err)
3225
}
3326

3427
func TestPartitions(t *testing.T) {
3528
ret, err := Partitions(false)
36-
skipIfNotImplementedErr(t, err)
29+
common.SkipIfNotImplementedErr(t, err)
3730
if err != nil || len(ret) == 0 {
3831
t.Errorf("error %v", err)
3932
}
@@ -47,7 +40,7 @@ func TestPartitions(t *testing.T) {
4740

4841
func TestIOCounters(t *testing.T) {
4942
ret, err := IOCounters()
50-
skipIfNotImplementedErr(t, err)
43+
common.SkipIfNotImplementedErr(t, err)
5144
require.NoError(t, err)
5245
assert.NotEmptyf(t, ret, "ret is empty")
5346
empty := IOCountersStat{}

host/host_test.go

+10-17
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package host
33

44
import (
5-
"errors"
65
"fmt"
76
"os"
87
"sync"
@@ -14,23 +13,17 @@ import (
1413
"github.com/shirou/gopsutil/v4/internal/common"
1514
)
1615

17-
func skipIfNotImplementedErr(t *testing.T, err error) {
18-
if errors.Is(err, common.ErrNotImplementedError) {
19-
t.Skip("not implemented")
20-
}
21-
}
22-
2316
func TestHostID(t *testing.T) {
2417
v, err := HostID()
25-
skipIfNotImplementedErr(t, err)
18+
common.SkipIfNotImplementedErr(t, err)
2619
require.NoError(t, err)
2720
assert.NotEmptyf(t, v, "Could not get host id %v", v)
2821
t.Log(v)
2922
}
3023

3124
func TestInfo(t *testing.T) {
3225
v, err := Info()
33-
skipIfNotImplementedErr(t, err)
26+
common.SkipIfNotImplementedErr(t, err)
3427
require.NoError(t, err)
3528
empty := &InfoStat{}
3629
assert.NotSamef(t, v, empty, "Could not get hostinfo %v", v)
@@ -44,7 +37,7 @@ func TestUptime(t *testing.T) {
4437
}
4538

4639
v, err := Uptime()
47-
skipIfNotImplementedErr(t, err)
40+
common.SkipIfNotImplementedErr(t, err)
4841
require.NoError(t, err)
4942
assert.NotZerof(t, v, "Could not get up time %v", v)
5043
}
@@ -54,22 +47,22 @@ func TestBootTime(t *testing.T) {
5447
t.Skip("Skip CI")
5548
}
5649
v, err := BootTime()
57-
skipIfNotImplementedErr(t, err)
50+
common.SkipIfNotImplementedErr(t, err)
5851
require.NoError(t, err)
5952
assert.NotZerof(t, v, "Could not get boot time %v", v)
6053
assert.GreaterOrEqualf(t, v, 946652400, "Invalid Boottime, older than 2000-01-01")
6154
t.Logf("first boot time: %d", v)
6255

6356
v2, err := BootTime()
64-
skipIfNotImplementedErr(t, err)
57+
common.SkipIfNotImplementedErr(t, err)
6558
require.NoError(t, err)
6659
assert.Equalf(t, v, v2, "cached boot time is different")
6760
t.Logf("second boot time: %d", v2)
6861
}
6962

7063
func TestUsers(t *testing.T) {
7164
v, err := Users()
72-
skipIfNotImplementedErr(t, err)
65+
common.SkipIfNotImplementedErr(t, err)
7366
require.NoError(t, err)
7467
empty := UserStat{}
7568
if len(v) == 0 {
@@ -109,7 +102,7 @@ func TestUserStat_String(t *testing.T) {
109102

110103
func TestGuid(t *testing.T) {
111104
id, err := HostID()
112-
skipIfNotImplementedErr(t, err)
105+
common.SkipIfNotImplementedErr(t, err)
113106
require.NoError(t, err)
114107
assert.NotEmptyf(t, id, "Host id is empty")
115108
t.Logf("Host id value: %v", id)
@@ -123,7 +116,7 @@ func TestVirtualization(t *testing.T) {
123116
go func(j int) {
124117
system, role, err := Virtualization()
125118
wg.Done()
126-
skipIfNotImplementedErr(t, err)
119+
common.SkipIfNotImplementedErr(t, err)
127120
assert.NoErrorf(t, err, "Virtualization() failed, %v", err)
128121

129122
if j == 9 {
@@ -136,7 +129,7 @@ func TestVirtualization(t *testing.T) {
136129

137130
func TestKernelVersion(t *testing.T) {
138131
version, err := KernelVersion()
139-
skipIfNotImplementedErr(t, err)
132+
common.SkipIfNotImplementedErr(t, err)
140133
require.NoErrorf(t, err, "KernelVersion() failed, %v", err)
141134
assert.NotEmptyf(t, version, "KernelVersion() returns empty: %s", version)
142135

@@ -145,7 +138,7 @@ func TestKernelVersion(t *testing.T) {
145138

146139
func TestPlatformInformation(t *testing.T) {
147140
platform, family, version, err := PlatformInformation()
148-
skipIfNotImplementedErr(t, err)
141+
common.SkipIfNotImplementedErr(t, err)
149142
require.NoErrorf(t, err, "PlatformInformation() failed, %v", err)
150143
assert.NotEmptyf(t, platform, "PlatformInformation() returns empty: %v", platform)
151144

internal/common/common.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ import (
3131
)
3232

3333
var (
34-
Timeout = 3 * time.Second
35-
ErrTimeout = errors.New("command timed out")
34+
Timeout = 3 * time.Second
35+
ErrNotImplementedError = errors.New("not implemented yet")
36+
ErrTimeout = errors.New("command timed out")
3637
)
3738

3839
type Invoker interface {
@@ -97,8 +98,6 @@ func (i FakeInvoke) CommandWithContext(ctx context.Context, name string, arg ...
9798
return i.Command(name, arg...)
9899
}
99100

100-
var ErrNotImplementedError = errors.New("not implemented yet")
101-
102101
// ReadFile reads contents from a file
103102
func ReadFile(filename string) (string, error) {
104103
content, err := os.ReadFile(filename)

internal/common/common_testing.go

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// SPDX-License-Identifier: BSD-3-Clause
2+
package common
3+
4+
import (
5+
"errors"
6+
"testing"
7+
)
8+
9+
func SkipIfNotImplementedErr(tb testing.TB, err error) {
10+
tb.Helper()
11+
if errors.Is(err, ErrNotImplementedError) {
12+
tb.Skip("not implemented")
13+
}
14+
}

0 commit comments

Comments
 (0)