server_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package docker
  2. import "testing"
  3. func TestCreateNumberHostname(t *testing.T) {
  4. eng := NewTestEngine(t)
  5. defer mkDaemonFromEngine(eng, t).Nuke()
  6. config, _, _, err := parseRun([]string{"-h", "web.0", unitTestImageID, "echo test"})
  7. if err != nil {
  8. t.Fatal(err)
  9. }
  10. createTestContainer(eng, config, t)
  11. }
  12. func TestRunWithTooLowMemoryLimit(t *testing.T) {
  13. eng := NewTestEngine(t)
  14. defer mkDaemonFromEngine(eng, t).Nuke()
  15. // Try to create a container with a memory limit of 1 byte less than the minimum allowed limit.
  16. job := eng.Job("create")
  17. job.Setenv("Image", unitTestImageID)
  18. job.Setenv("Memory", "524287")
  19. job.Setenv("CpuShares", "1000")
  20. job.SetenvList("Cmd", []string{"/bin/cat"})
  21. if err := job.Run(); err == nil {
  22. t.Errorf("Memory limit is smaller than the allowed limit. Container creation should've failed!")
  23. }
  24. }
  25. func TestImagesFilter(t *testing.T) {
  26. eng := NewTestEngine(t)
  27. defer nuke(mkDaemonFromEngine(eng, t))
  28. if err := eng.Job("tag", unitTestImageName, "utest", "tag1").Run(); err != nil {
  29. t.Fatal(err)
  30. }
  31. if err := eng.Job("tag", unitTestImageName, "utest/docker", "tag2").Run(); err != nil {
  32. t.Fatal(err)
  33. }
  34. if err := eng.Job("tag", unitTestImageName, "utest:5000/docker", "tag3").Run(); err != nil {
  35. t.Fatal(err)
  36. }
  37. images := getImages(eng, t, false, "utest*/*")
  38. if len(images[0].RepoTags) != 2 {
  39. t.Fatal("incorrect number of matches returned")
  40. }
  41. images = getImages(eng, t, false, "utest")
  42. if len(images[0].RepoTags) != 1 {
  43. t.Fatal("incorrect number of matches returned")
  44. }
  45. images = getImages(eng, t, false, "utest*")
  46. if len(images[0].RepoTags) != 1 {
  47. t.Fatal("incorrect number of matches returned")
  48. }
  49. images = getImages(eng, t, false, "*5000*/*")
  50. if len(images[0].RepoTags) != 1 {
  51. t.Fatal("incorrect number of matches returned")
  52. }
  53. }