Skip to content
This repository was archived by the owner on May 6, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion fdleak_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ func TestFdDetectorLeak(t *testing.T) {
t.Error(err)
}

_, err = os.Open("/dev/null")
f, err := os.Open("/dev/null")
if err != nil {
t.Error(err)
}
Expand All @@ -296,6 +296,10 @@ func TestFdDetectorLeak(t *testing.T) {
fmt.Print(buffer.String())
t.Fatal()
}

if err := f.Close(); err != nil {
t.Error(err)
}
}

func TestFdDetectorCompare(t *testing.T) {
Expand Down
23 changes: 20 additions & 3 deletions ksm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,20 @@ func ksmTestPrepare() error {
if err != nil {
return err
}
defer ksmTestRun.Close()

ksmTestPagesToScan, err := os.Create(filepath.Join(defaultKSMRoot, ksmPagesToScan))
if err != nil {
return err
}
defer ksmTestPagesToScan.Close()

ksmTestSleepMillisec, err := os.Create(filepath.Join(defaultKSMRoot, ksmSleepMillisec))
if err != nil {
return err
}

defer ksmTestRun.Close()
defer ksmTestPagesToScan.Close()
defer ksmTestSleepMillisec.Close()

return nil
}

Expand Down Expand Up @@ -131,13 +130,26 @@ func initKSM(root string, t *testing.T) *ksm {
return k
}

func closeKSMFds(k *ksm) {
if k.run.file != nil {
_ = k.run.close()
}
if k.sleepInterval.file != nil {
_ = k.sleepInterval.close()
}
if k.pagesToScan.file != nil {
_ = k.pagesToScan.close()
}
}

func TestKSMAvailabilityDummy(t *testing.T) {
_, err := newKSM("foo")
assert.NotNil(t, err)
}

func TestKSMAvailability(t *testing.T) {
k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

err := k.isAvailable()
assert.Nil(t, err)
Expand Down Expand Up @@ -209,6 +221,7 @@ func TestKSMInit(t *testing.T) {
assert.Nil(t, err)

k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

assert.Equal(t, k.initialPagesToScan, scan)
assert.Equal(t, k.initialSleepInterval, interval)
Expand Down Expand Up @@ -250,6 +263,7 @@ func TestKSMRestore(t *testing.T) {
assert.Nil(t, err)

k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

// Write dummy values and read them back
var newInterval = "foo"
Expand Down Expand Up @@ -299,6 +313,7 @@ func TestKSMRestore(t *testing.T) {

func TestKSMKick(t *testing.T) {
k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

timer := time.NewTimer(time.Second)
k.throttling = true
Expand Down Expand Up @@ -334,6 +349,7 @@ func TestKSMTune(t *testing.T) {
assert.Nil(t, err)

k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

for _, v := range ksmSettings {
err = k.tune(v)
Expand Down Expand Up @@ -474,6 +490,7 @@ func testThrottle(k *ksm, t *testing.T) {

func TestKSMThrottle(t *testing.T) {
k := initKSM(defaultKSMRoot, t)
defer closeKSMFds(k)

// Let's make the throttling down faster, for quicker tests purpose.
ksmAggressiveInterval = 500 * time.Millisecond
Expand Down