projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14738: Enhances code readability when concatenating strings.
[arvados.git]
/
services
/
keepstore
/
volume_generic_test.go
diff --git
a/services/keepstore/volume_generic_test.go
b/services/keepstore/volume_generic_test.go
index c17c837820db53902f022d3c2b75936f0ff88623..23a17fd0998ebff4b8b3781dcf590534e88bc8a0 100644
(file)
--- a/
services/keepstore/volume_generic_test.go
+++ b/
services/keepstore/volume_generic_test.go
@@
-1,7
+1,12
@@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
package main
import (
"bytes"
package main
import (
"bytes"
+ "context"
"crypto/md5"
"fmt"
"os"
"crypto/md5"
"fmt"
"os"
@@
-11,6
+16,7
@@
import (
"strings"
"time"
"strings"
"time"
+ "git.curoverse.com/arvados.git/sdk/go/arvados"
"git.curoverse.com/arvados.git/sdk/go/arvadostest"
)
"git.curoverse.com/arvados.git/sdk/go/arvadostest"
)
@@
-91,7
+97,7
@@
func testGet(t TB, factory TestableVolumeFactory) {
v.PutRaw(TestHash, TestBlock)
buf := make([]byte, BlockSize)
v.PutRaw(TestHash, TestBlock)
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash, buf)
+ n, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
}
@@
-108,7
+114,7
@@
func testGetNoSuchBlock(t TB, factory TestableVolumeFactory) {
defer v.Teardown()
buf := make([]byte, BlockSize)
defer v.Teardown()
buf := make([]byte, BlockSize)
- if _, err := v.Get(TestHash2, buf); err == nil {
+ if _, err := v.Get(
context.Background(),
TestHash2, buf); err == nil {
t.Errorf("Expected error while getting non-existing block %v", TestHash2)
}
}
t.Errorf("Expected error while getting non-existing block %v", TestHash2)
}
}
@@
-120,7
+126,7
@@
func testCompareNonexistent(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
v := factory(t)
defer v.Teardown()
- err := v.Compare(TestHash, TestBlock)
+ err := v.Compare(
context.Background(),
TestHash, TestBlock)
if err != os.ErrNotExist {
t.Errorf("Got err %T %q, expected os.ErrNotExist", err, err)
}
if err != os.ErrNotExist {
t.Errorf("Got err %T %q, expected os.ErrNotExist", err, err)
}
@@
-135,7
+141,7
@@
func testCompareSameContent(t TB, factory TestableVolumeFactory, testHash string
v.PutRaw(testHash, testData)
// Compare the block locator with same content
v.PutRaw(testHash, testData)
// Compare the block locator with same content
- err := v.Compare(testHash, testData)
+ err := v.Compare(
context.Background(),
testHash, testData)
if err != nil {
t.Errorf("Got err %q, expected nil", err)
}
if err != nil {
t.Errorf("Got err %q, expected nil", err)
}
@@
-153,7
+159,7
@@
func testCompareWithCollision(t TB, factory TestableVolumeFactory, testHash stri
v.PutRaw(testHash, testDataA)
// Compare the block locator with different content; collision
v.PutRaw(testHash, testDataA)
// Compare the block locator with different content; collision
- err := v.Compare(TestHash, testDataB)
+ err := v.Compare(
context.Background(),
TestHash, testDataB)
if err == nil {
t.Errorf("Got err nil, expected error due to collision")
}
if err == nil {
t.Errorf("Got err nil, expected error due to collision")
}
@@
-169,7
+175,7
@@
func testCompareWithCorruptStoredData(t TB, factory TestableVolumeFactory, testH
v.PutRaw(TestHash, testDataB)
v.PutRaw(TestHash, testDataB)
- err := v.Compare(testHash, testDataA)
+ err := v.Compare(
context.Background(),
testHash, testDataA)
if err == nil || err == CollisionError {
t.Errorf("Got err %+v, expected non-collision error", err)
}
if err == nil || err == CollisionError {
t.Errorf("Got err %+v, expected non-collision error", err)
}
@@
-185,12
+191,12
@@
func testPutBlockWithSameContent(t TB, factory TestableVolumeFactory, testHash s
return
}
return
}
- err := v.Put(testHash, testData)
+ err := v.Put(
context.Background(),
testHash, testData)
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock, err)
}
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock, err)
}
- err = v.Put(testHash, testData)
+ err = v.Put(
context.Background(),
testHash, testData)
if err != nil {
t.Errorf("Got err putting block second time %q: %q, expected nil", TestBlock, err)
}
if err != nil {
t.Errorf("Got err putting block second time %q: %q, expected nil", TestBlock, err)
}
@@
-208,9
+214,9
@@
func testPutBlockWithDifferentContent(t TB, factory TestableVolumeFactory, testH
v.PutRaw(testHash, testDataA)
v.PutRaw(testHash, testDataA)
- putErr := v.Put(testHash, testDataB)
+ putErr := v.Put(
context.Background(),
testHash, testDataB)
buf := make([]byte, BlockSize)
buf := make([]byte, BlockSize)
- n, getErr := v.Get(testHash, buf)
+ n, getErr := v.Get(
context.Background(),
testHash, buf)
if putErr == nil {
// Put must not return a nil error unless it has
// overwritten the existing data.
if putErr == nil {
// Put must not return a nil error unless it has
// overwritten the existing data.
@@
-237,23
+243,23
@@
func testPutMultipleBlocks(t TB, factory TestableVolumeFactory) {
return
}
return
}
- err := v.Put(TestHash, TestBlock)
+ err := v.Put(
context.Background(),
TestHash, TestBlock)
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock, err)
}
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock, err)
}
- err = v.Put(TestHash2, TestBlock2)
+ err = v.Put(
context.Background(),
TestHash2, TestBlock2)
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock2, err)
}
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock2, err)
}
- err = v.Put(TestHash3, TestBlock3)
+ err = v.Put(
context.Background(),
TestHash3, TestBlock3)
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock3, err)
}
data := make([]byte, BlockSize)
if err != nil {
t.Errorf("Got err putting block %q: %q, expected nil", TestBlock3, err)
}
data := make([]byte, BlockSize)
- n, err := v.Get(TestHash, data)
+ n, err := v.Get(
context.Background(),
TestHash, data)
if err != nil {
t.Error(err)
} else {
if err != nil {
t.Error(err)
} else {
@@
-262,7
+268,7
@@
func testPutMultipleBlocks(t TB, factory TestableVolumeFactory) {
}
}
}
}
- n, err = v.Get(TestHash2, data)
+ n, err = v.Get(
context.Background(),
TestHash2, data)
if err != nil {
t.Error(err)
} else {
if err != nil {
t.Error(err)
} else {
@@
-271,7
+277,7
@@
func testPutMultipleBlocks(t TB, factory TestableVolumeFactory) {
}
}
}
}
- n, err = v.Get(TestHash3, data)
+ n, err = v.Get(
context.Background(),
TestHash3, data)
if err != nil {
t.Error(err)
} else {
if err != nil {
t.Error(err)
} else {
@@
-293,7
+299,7
@@
func testPutAndTouch(t TB, factory TestableVolumeFactory) {
return
}
return
}
- if err := v.Put(TestHash, TestBlock); err != nil {
+ if err := v.Put(
context.Background(),
TestHash, TestBlock); err != nil {
t.Error(err)
}
t.Error(err)
}
@@
-313,7
+319,7
@@
func testPutAndTouch(t TB, factory TestableVolumeFactory) {
}
// Write the same block again.
}
// Write the same block again.
- if err := v.Put(TestHash, TestBlock); err != nil {
+ if err := v.Put(
context.Background(),
TestHash, TestBlock); err != nil {
t.Error(err)
}
t.Error(err)
}
@@
-430,19
+436,19
@@
func testIndexTo(t TB, factory TestableVolumeFactory) {
func testDeleteNewBlock(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
func testDeleteNewBlock(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
- blobSignatureTTL = 300 * time.Second
+ theConfig.BlobSignatureTTL.Set("5m")
if v.Writable() == false {
return
}
if v.Writable() == false {
return
}
- v.Put(TestHash, TestBlock)
+ v.Put(
context.Background(),
TestHash, TestBlock)
if err := v.Trash(TestHash); err != nil {
t.Error(err)
}
data := make([]byte, BlockSize)
if err := v.Trash(TestHash); err != nil {
t.Error(err)
}
data := make([]byte, BlockSize)
- n, err := v.Get(TestHash, data)
+ n, err := v.Get(
context.Background(),
TestHash, data)
if err != nil {
t.Error(err)
} else if bytes.Compare(data[:n], TestBlock) != 0 {
if err != nil {
t.Error(err)
} else if bytes.Compare(data[:n], TestBlock) != 0 {
@@
-451,25
+457,25
@@
func testDeleteNewBlock(t TB, factory TestableVolumeFactory) {
}
// Calling Delete() for a block with a timestamp older than
}
// Calling Delete() for a block with a timestamp older than
-//
b
lobSignatureTTL seconds in the past should delete the data.
+//
B
lobSignatureTTL seconds in the past should delete the data.
// Test is intended for only writable volumes
func testDeleteOldBlock(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
// Test is intended for only writable volumes
func testDeleteOldBlock(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
- blobSignatureTTL = 300 * time.Second
+ theConfig.BlobSignatureTTL.Set("5m")
if v.Writable() == false {
return
}
if v.Writable() == false {
return
}
- v.Put(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.Put(
context.Background(),
TestHash, TestBlock)
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
if err := v.Trash(TestHash); err != nil {
t.Error(err)
}
data := make([]byte, BlockSize)
if err := v.Trash(TestHash); err != nil {
t.Error(err)
}
data := make([]byte, BlockSize)
- if _, err := v.Get(TestHash, data); err == nil || !os.IsNotExist(err) {
+ if _, err := v.Get(
context.Background(),
TestHash, data); err == nil || !os.IsNotExist(err) {
t.Errorf("os.IsNotExist(%v) should have been true", err)
}
t.Errorf("os.IsNotExist(%v) should have been true", err)
}
@@
-478,7
+484,7
@@
func testDeleteOldBlock(t TB, factory TestableVolumeFactory) {
t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
- err = v.Compare(TestHash, TestBlock)
+ err = v.Compare(
context.Background(),
TestHash, TestBlock)
if err == nil || !os.IsNotExist(err) {
t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
if err == nil || !os.IsNotExist(err) {
t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
@@
-552,17
+558,17
@@
func testUpdateReadOnly(t TB, factory TestableVolumeFactory) {
buf := make([]byte, BlockSize)
// Get from read-only volume should succeed
buf := make([]byte, BlockSize)
// Get from read-only volume should succeed
- _, err := v.Get(TestHash, buf)
+ _, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Errorf("got err %v, expected nil", err)
}
// Put a new block to read-only volume should result in error
if err != nil {
t.Errorf("got err %v, expected nil", err)
}
// Put a new block to read-only volume should result in error
- err = v.Put(TestHash2, TestBlock2)
+ err = v.Put(
context.Background(),
TestHash2, TestBlock2)
if err == nil {
t.Errorf("Expected error when putting block in a read-only volume")
}
if err == nil {
t.Errorf("Expected error when putting block in a read-only volume")
}
- _, err = v.Get(TestHash2, buf)
+ _, err = v.Get(
context.Background(),
TestHash2, buf)
if err == nil {
t.Errorf("Expected error when getting block whose put in read-only volume failed")
}
if err == nil {
t.Errorf("Expected error when getting block whose put in read-only volume failed")
}
@@
-580,7
+586,7
@@
func testUpdateReadOnly(t TB, factory TestableVolumeFactory) {
}
// Overwriting an existing block in read-only volume should result in error
}
// Overwriting an existing block in read-only volume should result in error
- err = v.Put(TestHash, TestBlock)
+ err = v.Put(
context.Background(),
TestHash, TestBlock)
if err == nil {
t.Errorf("Expected error when putting block in a read-only volume")
}
if err == nil {
t.Errorf("Expected error when putting block in a read-only volume")
}
@@
-599,7
+605,7
@@
func testGetConcurrent(t TB, factory TestableVolumeFactory) {
sem := make(chan int)
go func() {
buf := make([]byte, BlockSize)
sem := make(chan int)
go func() {
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash, buf)
+ n, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Errorf("err1: %v", err)
}
if err != nil {
t.Errorf("err1: %v", err)
}
@@
-611,7
+617,7
@@
func testGetConcurrent(t TB, factory TestableVolumeFactory) {
go func() {
buf := make([]byte, BlockSize)
go func() {
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash2, buf)
+ n, err := v.Get(
context.Background(),
TestHash2, buf)
if err != nil {
t.Errorf("err2: %v", err)
}
if err != nil {
t.Errorf("err2: %v", err)
}
@@
-623,7
+629,7
@@
func testGetConcurrent(t TB, factory TestableVolumeFactory) {
go func() {
buf := make([]byte, BlockSize)
go func() {
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash3, buf)
+ n, err := v.Get(
context.Background(),
TestHash3, buf)
if err != nil {
t.Errorf("err3: %v", err)
}
if err != nil {
t.Errorf("err3: %v", err)
}
@@
-651,7
+657,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
sem := make(chan int)
go func(sem chan int) {
sem := make(chan int)
go func(sem chan int) {
- err := v.Put(TestHash, TestBlock)
+ err := v.Put(
context.Background(),
TestHash, TestBlock)
if err != nil {
t.Errorf("err1: %v", err)
}
if err != nil {
t.Errorf("err1: %v", err)
}
@@
-659,7
+665,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
}(sem)
go func(sem chan int) {
}(sem)
go func(sem chan int) {
- err := v.Put(TestHash2, TestBlock2)
+ err := v.Put(
context.Background(),
TestHash2, TestBlock2)
if err != nil {
t.Errorf("err2: %v", err)
}
if err != nil {
t.Errorf("err2: %v", err)
}
@@
-667,7
+673,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
}(sem)
go func(sem chan int) {
}(sem)
go func(sem chan int) {
- err := v.Put(TestHash3, TestBlock3)
+ err := v.Put(
context.Background(),
TestHash3, TestBlock3)
if err != nil {
t.Errorf("err3: %v", err)
}
if err != nil {
t.Errorf("err3: %v", err)
}
@@
-681,7
+687,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
// Double check that we actually wrote the blocks we expected to write.
buf := make([]byte, BlockSize)
// Double check that we actually wrote the blocks we expected to write.
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash, buf)
+ n, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Errorf("Get #1: %v", err)
}
if err != nil {
t.Errorf("Get #1: %v", err)
}
@@
-689,7
+695,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
t.Errorf("Get #1: expected %s, got %s", string(TestBlock), string(buf[:n]))
}
t.Errorf("Get #1: expected %s, got %s", string(TestBlock), string(buf[:n]))
}
- n, err = v.Get(TestHash2, buf)
+ n, err = v.Get(
context.Background(),
TestHash2, buf)
if err != nil {
t.Errorf("Get #2: %v", err)
}
if err != nil {
t.Errorf("Get #2: %v", err)
}
@@
-697,7
+703,7
@@
func testPutConcurrent(t TB, factory TestableVolumeFactory) {
t.Errorf("Get #2: expected %s, got %s", string(TestBlock2), string(buf[:n]))
}
t.Errorf("Get #2: expected %s, got %s", string(TestBlock2), string(buf[:n]))
}
- n, err = v.Get(TestHash3, buf)
+ n, err = v.Get(
context.Background(),
TestHash3, buf)
if err != nil {
t.Errorf("Get #3: %v", err)
}
if err != nil {
t.Errorf("Get #3: %v", err)
}
@@
-719,12
+725,12
@@
func testPutFullBlock(t TB, factory TestableVolumeFactory) {
wdata[0] = 'a'
wdata[BlockSize-1] = 'z'
hash := fmt.Sprintf("%x", md5.Sum(wdata))
wdata[0] = 'a'
wdata[BlockSize-1] = 'z'
hash := fmt.Sprintf("%x", md5.Sum(wdata))
- err := v.Put(hash, wdata)
+ err := v.Put(
context.Background(),
hash, wdata)
if err != nil {
t.Fatal(err)
}
buf := make([]byte, BlockSize)
if err != nil {
t.Fatal(err)
}
buf := make([]byte, BlockSize)
- n, err := v.Get(hash, buf)
+ n, err := v.Get(
context.Background(),
hash, buf)
if err != nil {
t.Error(err)
}
if err != nil {
t.Error(err)
}
@@
-733,7
+739,7
@@
func testPutFullBlock(t TB, factory TestableVolumeFactory) {
}
}
}
}
-// With
t
rashLifetime != 0, perform:
+// With
T
rashLifetime != 0, perform:
// Trash an old block - which either raises ErrNotImplemented or succeeds
// Untrash - which either raises ErrNotImplemented or succeeds
// Get - which must succeed
// Trash an old block - which either raises ErrNotImplemented or succeeds
// Untrash - which either raises ErrNotImplemented or succeeds
// Get - which must succeed
@@
-741,17
+747,17
@@
func testTrashUntrash(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
defer func() {
v := factory(t)
defer v.Teardown()
defer func() {
- trashLifetime = 0
+ t
heConfig.T
rashLifetime = 0
}()
}()
- t
rashLifetime = 3600 * time.Second
+ t
heConfig.TrashLifetime.Set("1h")
// put block and backdate it
v.PutRaw(TestHash, TestBlock)
// put block and backdate it
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
buf := make([]byte, BlockSize)
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash, buf)
+ n, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
}
@@
-770,7
+776,7
@@
func testTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
} else {
t.Fatal(err)
}
} else {
- _, err = v.Get(TestHash, buf)
+ _, err = v.Get(
context.Background(),
TestHash, buf)
if err == nil || !os.IsNotExist(err) {
t.Errorf("os.IsNotExist(%v) should have been true", err)
}
if err == nil || !os.IsNotExist(err) {
t.Errorf("os.IsNotExist(%v) should have been true", err)
}
@@
-783,7
+789,7
@@
func testTrashUntrash(t TB, factory TestableVolumeFactory) {
}
// Get the block - after trash and untrash sequence
}
// Get the block - after trash and untrash sequence
- n, err = v.Get(TestHash, buf)
+ n, err = v.Get(
context.Background(),
TestHash, buf)
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
}
@@
-795,13
+801,13
@@
func testTrashUntrash(t TB, factory TestableVolumeFactory) {
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
v := factory(t)
defer v.Teardown()
- defer func(orig
time
.Duration) {
- trashLifetime = orig
- }(trashLifetime)
+ defer func(orig
arvados
.Duration) {
+ t
heConfig.T
rashLifetime = orig
+ }(t
heConfig.T
rashLifetime)
checkGet := func() error {
buf := make([]byte, BlockSize)
checkGet := func() error {
buf := make([]byte, BlockSize)
- n, err := v.Get(TestHash, buf)
+ n, err := v.Get(
context.Background(),
TestHash, buf)
if err != nil {
return err
}
if err != nil {
return err
}
@@
-814,7
+820,7
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
return err
}
return err
}
- err = v.Compare(TestHash, TestBlock)
+ err = v.Compare(
context.Background(),
TestHash, TestBlock)
if err != nil {
return err
}
if err != nil {
return err
}
@@
-830,10
+836,10
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
// First set: EmptyTrash before reaching the trash deadline.
// First set: EmptyTrash before reaching the trash deadline.
- t
rashLifetime = time.Hour
+ t
heConfig.TrashLifetime.Set("1h")
v.PutRaw(TestHash, TestBlock)
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
err := checkGet()
if err != nil {
err := checkGet()
if err != nil {
@@
-844,7
+850,7
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
err = v.Trash(TestHash)
if err == MethodDisabledError || err == ErrNotImplemented {
// Skip the trash tests for read-only volumes, and
err = v.Trash(TestHash)
if err == MethodDisabledError || err == ErrNotImplemented {
// Skip the trash tests for read-only volumes, and
- // volume types that don't support
t
rashLifetime>0.
+ // volume types that don't support
T
rashLifetime>0.
return
}
return
}
@@
-878,7
+884,7
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
}
// Because we Touch'ed, need to backdate again for next set of tests
}
// Because we Touch'ed, need to backdate again for next set of tests
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
// If the only block in the trash has already been untrashed,
// most volumes will fail a subsequent Untrash with a 404, but
// If the only block in the trash has already been untrashed,
// most volumes will fail a subsequent Untrash with a 404, but
@@
-895,9
+901,12
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
t.Fatal(err)
}
+ // Untrash might have updated the timestamp, so backdate again
+ v.TouchWithDate(TestHash, time.Now().Add(-2*theConfig.BlobSignatureTTL.Duration()))
+
// Second set: EmptyTrash after the trash deadline has passed.
// Second set: EmptyTrash after the trash deadline has passed.
- t
rashLifetime = time.Nanosecond
+ t
heConfig.TrashLifetime.Set("1ns")
err = v.Trash(TestHash)
if err != nil {
err = v.Trash(TestHash)
if err != nil {
@@
-922,8
+931,8
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
// Trash it again, and this time call EmptyTrash so it really
// goes away.
// (In Azure volumes, un/trash changes Mtime, so first backdate again)
// Trash it again, and this time call EmptyTrash so it really
// goes away.
// (In Azure volumes, un/trash changes Mtime, so first backdate again)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
-
err
= v.Trash(TestHash)
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
+
_
= v.Trash(TestHash)
err = checkGet()
if err == nil || !os.IsNotExist(err) {
t.Fatalf("os.IsNotExist(%v) should have been true", err)
err = checkGet()
if err == nil || !os.IsNotExist(err) {
t.Fatalf("os.IsNotExist(%v) should have been true", err)
@@
-947,9
+956,9
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
// un-trashed copy doesn't get deleted along with it.
v.PutRaw(TestHash, TestBlock)
// un-trashed copy doesn't get deleted along with it.
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
- t
rashLifetime = time.Nanosecond
+ t
heConfig.TrashLifetime.Set("1ns")
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)
@@
-960,7
+969,7
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
}
v.PutRaw(TestHash, TestBlock)
}
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
// EmptyTrash should not delete the untrashed copy.
v.EmptyTrash()
// EmptyTrash should not delete the untrashed copy.
v.EmptyTrash()
@@
-975,18
+984,18
@@
func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
// untrash the block whose deadline is "C".
v.PutRaw(TestHash, TestBlock)
// untrash the block whose deadline is "C".
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
- t
rashLifetime = time.Nanosecond
+ t
heConfig.TrashLifetime.Set("1ns")
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)
}
v.PutRaw(TestHash, TestBlock)
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)
}
v.PutRaw(TestHash, TestBlock)
- v.TouchWithDate(TestHash, time.Now().Add(-2*
blobSignatureTTL
))
+ v.TouchWithDate(TestHash, time.Now().Add(-2*
theConfig.BlobSignatureTTL.Duration()
))
- t
rashLifetime = time.Hour
+ t
heConfig.TrashLifetime.Set("1h")
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)
err = v.Trash(TestHash)
if err != nil {
t.Fatal(err)