[ARVADOS] updated: 00a96a5bd0203a1330963aaa3b7c3f5a2f970438
Git user
git at public.curoverse.com
Mon Mar 14 10:22:39 EDT 2016
Summary of changes:
services/keepstore/volume_generic_test.go | 42 +++++++++++++++++++++++--------
services/keepstore/volume_unix.go | 12 +++++++--
2 files changed, 42 insertions(+), 12 deletions(-)
via 00a96a5bd0203a1330963aaa3b7c3f5a2f970438 (commit)
from 5138af3e4d679bd026849804603c36d81c1a2543 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 00a96a5bd0203a1330963aaa3b7c3f5a2f970438
Author: radhika <radhika at curoverse.com>
Date: Mon Mar 14 10:02:50 2016 -0400
8554: test improvements
diff --git a/services/keepstore/volume_generic_test.go b/services/keepstore/volume_generic_test.go
index 7e62429..be83151 100644
--- a/services/keepstore/volume_generic_test.go
+++ b/services/keepstore/volume_generic_test.go
@@ -768,6 +768,8 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
trashLifetime = 0 * time.Second
}()
+ // First set of tests
+
// With trashLifetime = 1h, test trash/untrash cycle.
trashLifetime = 1 * time.Hour
@@ -780,7 +782,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
if bytes.Compare(buf, TestBlock) != 0 {
- t.Errorf("Got data %+q, expected %+q", buf, TestBlock)
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
}
bufs.Put(buf)
@@ -789,9 +791,10 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
if err == MethodDisabledError || err == ErrNotImplemented {
return
}
+
buf, err = v.Get(TestHash)
if err == nil || !os.IsNotExist(err) {
- t.Errorf("os.IsNotExist(%v) should have been true", err)
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
// Empty trash; the block is still within trashLifetime and hence is not emptied
@@ -809,10 +812,27 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
if bytes.Compare(buf, TestBlock) != 0 {
- t.Errorf("Got data %+q, expected %+q", buf, TestBlock)
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
+ }
+ bufs.Put(buf)
+
+ // Untrash again; should fail
+ err = v.Untrash(TestHash)
+ if err == nil || !os.IsNotExist(err) {
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
+ }
+
+ buf, err = v.Get(TestHash)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if bytes.Compare(buf, TestBlock) != 0 {
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
}
bufs.Put(buf)
+ // Second set of tests
+
// With trashLifetime = 1ns, test trash/untrash cycle.
trashLifetime = 1 * time.Nanosecond
@@ -823,7 +843,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
}
buf, err = v.Get(TestHash)
if err == nil || !os.IsNotExist(err) {
- t.Errorf("os.IsNotExist(%v) should have been true", err)
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
// Untrash
@@ -838,7 +858,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
if bytes.Compare(buf, TestBlock) != 0 {
- t.Errorf("Got data %+q, expected %+q", buf, TestBlock)
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
}
bufs.Put(buf)
@@ -858,15 +878,17 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
// Untrash won't find it
err = v.Untrash(TestHash)
if err == nil || !os.IsNotExist(err) {
- t.Errorf("os.IsNotExist(%v) should have been true", err)
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
// Get block won't find it
buf, err = v.Get(TestHash)
if err == nil || !os.IsNotExist(err) {
- t.Errorf("os.IsNotExist(%v) should have been true", err)
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
+ // Third set of tests
+
// Still with trashLifetime = 1ns: put, trash, put one more, trash etc
// put block and backdate it
v.PutRaw(TestHash, TestBlock)
@@ -879,7 +901,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
}
buf, err = v.Get(TestHash)
if err == nil || !os.IsNotExist(err) {
- t.Errorf("os.IsNotExist(%v) should have been true", err)
+ t.Fatalf("os.IsNotExist(%v) should have been true", err)
}
// put again
@@ -898,7 +920,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
if bytes.Compare(buf, TestBlock) != 0 {
- t.Errorf("Got data %+q, expected %+q", buf, TestBlock)
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
}
bufs.Put(buf)
@@ -926,7 +948,7 @@ func testTrashEmptyTrashUntrash(t TB, factory TestableVolumeFactory) {
t.Fatal(err)
}
if bytes.Compare(buf, TestBlock) != 0 {
- t.Errorf("Got data %+q, expected %+q", buf, TestBlock)
+ t.Fatalf("Got data %+q, expected %+q", buf, TestBlock)
}
bufs.Put(buf)
}
diff --git a/services/keepstore/volume_unix.go b/services/keepstore/volume_unix.go
index 3f1df64..fe221c3 100644
--- a/services/keepstore/volume_unix.go
+++ b/services/keepstore/volume_unix.go
@@ -420,16 +420,20 @@ func (v *UnixVolume) Untrash(loc string) (err error) {
return MethodDisabledError
}
- prefix := fmt.Sprintf("%v.trash.", loc)
files, err := ioutil.ReadDir(v.blockDir(loc))
if err != nil {
return err
}
+
if len(files) == 0 {
return os.ErrNotExist
}
+
+ foundTrash := false
+ prefix := fmt.Sprintf("%v.trash.", loc)
for _, f := range files {
if strings.HasPrefix(f.Name(), prefix) {
+ foundTrash = true
err = os.Rename(v.blockPath(f.Name()), v.blockPath(loc))
if err == nil {
break
@@ -437,6 +441,10 @@ func (v *UnixVolume) Untrash(loc string) (err error) {
}
}
+ if foundTrash == false {
+ return os.ErrNotExist
+ }
+
return
}
@@ -550,7 +558,7 @@ func (v *UnixVolume) EmptyTrash() {
if err != nil {
log.Printf("EmptyTrash error for %v: %v", matches[1], err)
} else {
- if int64(deadline) <= time.Now().Unix() {
+ if deadline <= time.Now().Unix() {
err = os.Remove(path)
if err != nil {
log.Printf("Error deleting %v: %v", matches[1], err)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list