mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
64 lines
1.1 KiB
Go
64 lines
1.1 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
//go:build linux
|
|
|
|
package docker
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/hashicorp/nomad/ci"
|
|
"github.com/hashicorp/nomad/client/testutil"
|
|
"github.com/shoenig/test/must"
|
|
)
|
|
|
|
func Test_cpuset_watch(t *testing.T) {
|
|
ci.Parallel(t)
|
|
|
|
doneCh := make(chan bool)
|
|
|
|
source := "/source"
|
|
destination := "/destination"
|
|
hits := 0
|
|
|
|
callback := func(s, d string) {
|
|
must.Eq(t, source, s)
|
|
must.Eq(t, destination, d)
|
|
hits++
|
|
}
|
|
|
|
c := &cpuset{
|
|
doneCh: doneCh,
|
|
source: "/source",
|
|
destination: "/destination",
|
|
previous: "",
|
|
sync: callback,
|
|
}
|
|
go c.watch()
|
|
|
|
time.Sleep(3*time.Second + 10*time.Millisecond)
|
|
doneCh <- true
|
|
|
|
must.Eq(t, 1, hits)
|
|
}
|
|
|
|
func Test_effectiveCpusetFile_cgroupsv1(t *testing.T) {
|
|
testutil.CgroupsCompatibleV1(t)
|
|
|
|
ci.Parallel(t)
|
|
|
|
result := effectiveCpusetFile()
|
|
must.Eq(t, "cpuset.effective_cpus", result)
|
|
}
|
|
|
|
func Test_effectiveCpusetFile_cgroupsv2(t *testing.T) {
|
|
testutil.CgroupsCompatibleV2(t)
|
|
|
|
ci.Parallel(t)
|
|
|
|
result := effectiveCpusetFile()
|
|
must.Eq(t, "cpuset.cpus.effective", result)
|
|
}
|