github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/libnetwork/idm/idm_test.go (about) 1 package idm 2 3 import ( 4 "testing" 5 6 _ "github.com/docker/libnetwork/testutils" 7 ) 8 9 func TestNew(t *testing.T) { 10 _, err := New(nil, "", 0, 1) 11 if err == nil { 12 t.Fatalf("Expected failure, but succeeded") 13 } 14 15 _, err = New(nil, "myset", 1<<10, 0) 16 if err == nil { 17 t.Fatalf("Expected failure, but succeeded") 18 } 19 20 i, err := New(nil, "myset", 0, 10) 21 if err != nil { 22 t.Fatalf("Unexpected failure: %v", err) 23 } 24 if i.handle == nil { 25 t.Fatalf("set is not initialized") 26 } 27 if i.start != 0 { 28 t.Fatalf("unexpected start") 29 } 30 if i.end != 10 { 31 t.Fatalf("unexpected end") 32 } 33 } 34 35 func TestAllocate(t *testing.T) { 36 i, err := New(nil, "myids", 50, 52) 37 if err != nil { 38 t.Fatal(err) 39 } 40 41 if err = i.GetSpecificID(49); err == nil { 42 t.Fatalf("Expected failure but succeeded") 43 } 44 45 if err = i.GetSpecificID(53); err == nil { 46 t.Fatalf("Expected failure but succeeded") 47 } 48 49 o, err := i.GetID() 50 if err != nil { 51 t.Fatal(err) 52 } 53 if o != 50 { 54 t.Fatalf("Unexpected first id returned: %d", o) 55 } 56 57 err = i.GetSpecificID(50) 58 if err == nil { 59 t.Fatal(err) 60 } 61 62 o, err = i.GetID() 63 if err != nil { 64 t.Fatal(err) 65 } 66 if o != 51 { 67 t.Fatalf("Unexpected id returned: %d", o) 68 } 69 70 o, err = i.GetID() 71 if err != nil { 72 t.Fatal(err) 73 } 74 if o != 52 { 75 t.Fatalf("Unexpected id returned: %d", o) 76 } 77 78 o, err = i.GetID() 79 if err == nil { 80 t.Fatalf("Expected failure but succeeded: %d", o) 81 } 82 83 i.Release(50) 84 85 o, err = i.GetID() 86 if err != nil { 87 t.Fatal(err) 88 } 89 if o != 50 { 90 t.Fatalf("Unexpected id returned") 91 } 92 93 i.Release(52) 94 err = i.GetSpecificID(52) 95 if err != nil { 96 t.Fatal(err) 97 } 98 } 99 100 func TestUninitialized(t *testing.T) { 101 i := &Idm{} 102 103 if _, err := i.GetID(); err == nil { 104 t.Fatalf("Expected failure but succeeded") 105 } 106 107 if err := i.GetSpecificID(44); err == nil { 108 t.Fatalf("Expected failure but succeeded") 109 } 110 }