daemon_unix_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // +build !windows
  2. package daemon
  3. import (
  4. "io/ioutil"
  5. "os"
  6. "testing"
  7. "github.com/docker/docker/runconfig"
  8. )
  9. func TestAdjustCPUShares(t *testing.T) {
  10. tmp, err := ioutil.TempDir("", "docker-daemon-unix-test-")
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. defer os.RemoveAll(tmp)
  15. daemon := &Daemon{
  16. repository: tmp,
  17. root: tmp,
  18. }
  19. hostConfig := &runconfig.HostConfig{
  20. Resources: runconfig.Resources{CPUShares: linuxMinCPUShares - 1},
  21. }
  22. daemon.adaptContainerSettings(hostConfig, true)
  23. if hostConfig.CPUShares != linuxMinCPUShares {
  24. t.Errorf("Expected CPUShares to be %d", linuxMinCPUShares)
  25. }
  26. hostConfig.CPUShares = linuxMaxCPUShares + 1
  27. daemon.adaptContainerSettings(hostConfig, true)
  28. if hostConfig.CPUShares != linuxMaxCPUShares {
  29. t.Errorf("Expected CPUShares to be %d", linuxMaxCPUShares)
  30. }
  31. hostConfig.CPUShares = 0
  32. daemon.adaptContainerSettings(hostConfig, true)
  33. if hostConfig.CPUShares != 0 {
  34. t.Error("Expected CPUShares to be unchanged")
  35. }
  36. hostConfig.CPUShares = 1024
  37. daemon.adaptContainerSettings(hostConfig, true)
  38. if hostConfig.CPUShares != 1024 {
  39. t.Error("Expected CPUShares to be unchanged")
  40. }
  41. }
  42. func TestAdjustCPUSharesNoAdjustment(t *testing.T) {
  43. tmp, err := ioutil.TempDir("", "docker-daemon-unix-test-")
  44. if err != nil {
  45. t.Fatal(err)
  46. }
  47. defer os.RemoveAll(tmp)
  48. daemon := &Daemon{
  49. repository: tmp,
  50. root: tmp,
  51. }
  52. hostConfig := &runconfig.HostConfig{
  53. Resources: runconfig.Resources{CPUShares: linuxMinCPUShares - 1},
  54. }
  55. daemon.adaptContainerSettings(hostConfig, false)
  56. if hostConfig.CPUShares != linuxMinCPUShares-1 {
  57. t.Errorf("Expected CPUShares to be %d", linuxMinCPUShares-1)
  58. }
  59. hostConfig.CPUShares = linuxMaxCPUShares + 1
  60. daemon.adaptContainerSettings(hostConfig, false)
  61. if hostConfig.CPUShares != linuxMaxCPUShares+1 {
  62. t.Errorf("Expected CPUShares to be %d", linuxMaxCPUShares+1)
  63. }
  64. hostConfig.CPUShares = 0
  65. daemon.adaptContainerSettings(hostConfig, false)
  66. if hostConfig.CPUShares != 0 {
  67. t.Error("Expected CPUShares to be unchanged")
  68. }
  69. hostConfig.CPUShares = 1024
  70. daemon.adaptContainerSettings(hostConfig, false)
  71. if hostConfig.CPUShares != 1024 {
  72. t.Error("Expected CPUShares to be unchanged")
  73. }
  74. }