pools_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package graph
  2. import (
  3. "testing"
  4. "github.com/docker/docker/pkg/reexec"
  5. )
  6. func init() {
  7. reexec.Init()
  8. }
  9. func TestPools(t *testing.T) {
  10. s := &TagStore{
  11. pullingPool: make(map[string]chan struct{}),
  12. pushingPool: make(map[string]chan struct{}),
  13. }
  14. if _, err := s.poolAdd("pull", "test1"); err != nil {
  15. t.Fatal(err)
  16. }
  17. if _, err := s.poolAdd("pull", "test2"); err != nil {
  18. t.Fatal(err)
  19. }
  20. if _, err := s.poolAdd("push", "test1"); err == nil || err.Error() != "pull test1 is already in progress" {
  21. t.Fatalf("Expected `pull test1 is already in progress`")
  22. }
  23. if _, err := s.poolAdd("pull", "test1"); err == nil || err.Error() != "pull test1 is already in progress" {
  24. t.Fatalf("Expected `pull test1 is already in progress`")
  25. }
  26. if _, err := s.poolAdd("wait", "test3"); err == nil || err.Error() != "Unknown pool type" {
  27. t.Fatalf("Expected `Unknown pool type`")
  28. }
  29. if err := s.poolRemove("pull", "test2"); err != nil {
  30. t.Fatal(err)
  31. }
  32. if err := s.poolRemove("pull", "test2"); err != nil {
  33. t.Fatal(err)
  34. }
  35. if err := s.poolRemove("pull", "test1"); err != nil {
  36. t.Fatal(err)
  37. }
  38. if err := s.poolRemove("push", "test1"); err != nil {
  39. t.Fatal(err)
  40. }
  41. if err := s.poolRemove("wait", "test3"); err == nil || err.Error() != "Unknown pool type" {
  42. t.Fatalf("Expected `Unknown pool type`")
  43. }
  44. }