@@ -18,6 +18,7 @@ package sysfs
1818
1919import (
2020 "errors"
21+ "os"
2122 "reflect"
2223 "testing"
2324)
@@ -63,6 +64,34 @@ func TestCPUTopology(t *testing.T) {
6364 }
6465}
6566
67+ func TestCPUOnline (t * testing.T ) {
68+ fs , err := NewFS (sysTestFixtures )
69+ if err != nil {
70+ t .Fatal (err )
71+ }
72+ cpus , err := fs .CPUs ()
73+ if err != nil {
74+ t .Fatal (err )
75+ }
76+ if want , have := 3 , len (cpus ); want != have {
77+ t .Errorf ("incorrect number of CPUs, have %v, want %v" , want , have )
78+ }
79+ cpu0Online , err := cpus [0 ].Online ()
80+ if err != nil {
81+ t .Fatal (err )
82+ }
83+ if want , have := true , cpu0Online ; want != have {
84+ t .Errorf ("incorrect online status, have %v, want %v" , want , have )
85+ }
86+ cpu1Online , err := cpus [1 ].Online ()
87+ if err != nil && ! errors .Is (err , os .ErrNotExist ) {
88+ t .Fatal (err )
89+ }
90+ if want , have := false , cpu1Online ; want != have {
91+ t .Errorf ("incorrect online status, have %v, want %v" , want , have )
92+ }
93+ }
94+
6695func TestCPUThermalThrottle (t * testing.T ) {
6796 fs , err := NewFS (sysTestFixtures )
6897 if err != nil {
0 commit comments