Merge branch '10211-double-close-crash' closes #10211
[arvados.git] / services / keepstore / volume_test.go
index 508c7fa24f4b7a385220ff1ef55e4a166ff2d9f8..6ab386aec4fcc7774af90c4fa5ca879258ac9404 100644 (file)
@@ -113,17 +113,16 @@ func (v *MockVolume) Compare(loc string, buf []byte) error {
        }
 }
 
-func (v *MockVolume) Get(loc string) ([]byte, error) {
+func (v *MockVolume) Get(loc string, buf []byte) (int, error) {
        v.gotCall("Get")
        <-v.Gate
        if v.Bad {
-               return nil, errors.New("Bad volume")
+               return 0, errors.New("Bad volume")
        } else if block, ok := v.Store[loc]; ok {
-               buf := bufs.Get(len(block))
-               copy(buf, block)
-               return buf, nil
+               copy(buf[:len(block)], block)
+               return len(block), nil
        }
-       return nil, os.ErrNotExist
+       return 0, os.ErrNotExist
 }
 
 func (v *MockVolume) Put(loc string, block []byte) error {
@@ -190,7 +189,7 @@ func (v *MockVolume) Trash(loc string) error {
                return MethodDisabledError
        }
        if _, ok := v.Store[loc]; ok {
-               if time.Since(v.Timestamps[loc]) < blobSignatureTTL {
+               if time.Since(v.Timestamps[loc]) < time.Duration(theConfig.BlobSignatureTTL) {
                        return nil
                }
                delete(v.Store, loc)
@@ -199,7 +198,14 @@ func (v *MockVolume) Trash(loc string) error {
        return os.ErrNotExist
 }
 
-// TBD
+func (v *MockVolume) Type() string {
+       return "Mock"
+}
+
+func (v *MockVolume) Start() error {
+       return nil
+}
+
 func (v *MockVolume) Untrash(loc string) error {
        return nil
 }
@@ -224,6 +230,5 @@ func (v *MockVolume) Replication() int {
        return 1
 }
 
-func (v *MockVolume) EmptyTrash() error {
-       return nil
+func (v *MockVolume) EmptyTrash() {
 }