From ffed29ec8b88f61c1b8954134cc48ef03bb26ce1 Mon Sep 17 00:00:00 2001 From: Frederick Akalin Date: Wed, 22 Apr 2015 10:39:56 -0700 Subject: [PATCH] Add TestHandleMapGeneration --- fuse/nodefs/handle_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/fuse/nodefs/handle_test.go b/fuse/nodefs/handle_test.go index 30dee7be8..b49297387 100644 --- a/fuse/nodefs/handle_test.go +++ b/fuse/nodefs/handle_test.go @@ -104,3 +104,24 @@ func TestHandleMapMultiple(t *testing.T) { } } } + +func TestHandleMapGeneration(t *testing.T) { + hm := newPortableHandleMap() + + h1, g1 := hm.Register(&handled{}) + + forgotten, _ := hm.Forget(h1, 1) + if !forgotten { + t.Fatalf("unref did not forget object.") + } + + h2, g2 := hm.Register(&handled{}) + + if h1 != h2 { + t.Fatalf("register should reuse handle: got %d want %d.", h2, h1) + } + + if g1 >= g2 { + t.Fatalf("register should increase generation: got %d want greater than %d.", g2, g1) + } +}