[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