From e49df7bf9f867c10f45bfca361856136a3048c20 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Wed, 18 Feb 2015 09:29:29 +0000 Subject: [PATCH] pinner now requires all nodes exist in blockstore --- pin/pin.go | 1 - pin/pin_test.go | 18 +++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pin/pin.go b/pin/pin.go index 666e87b6f..25edd5832 100644 --- a/pin/pin.go +++ b/pin/pin.go @@ -175,7 +175,6 @@ func (p *pinner) pinLinks(node *mdag.Node) error { ctx, _ := context.WithTimeout(context.Background(), time.Second*60) for _, ng := range p.dserv.GetDAG(ctx, node) { subnode, err := ng.Get() - //subnode, err := l.GetNode(p.dserv) if err != nil { // TODO: Maybe just log and continue? return err diff --git a/pin/pin_test.go b/pin/pin_test.go index 623983a34..c8d18f027 100644 --- a/pin/pin_test.go +++ b/pin/pin_test.go @@ -34,6 +34,10 @@ func TestPinnerBasic(t *testing.T) { p := NewPinner(dstore, dserv) a, ak := randNode() + _, err = dserv.Add(a) + if err != nil { + t.Fatal(err) + } // Pin A{} err = p.Pin(a, false) @@ -45,18 +49,30 @@ func TestPinnerBasic(t *testing.T) { t.Fatal("Failed to find key") } + // create new node c, to be indirectly pinned through b + c, ck := randNode() + _, err = dserv.Add(c) + if err != nil { + t.Fatal(err) + } + + // Create new node b, to be parent to a and c b, _ := randNode() err = b.AddNodeLink("child", a) if err != nil { t.Fatal(err) } - c, ck := randNode() err = b.AddNodeLink("otherchild", c) if err != nil { t.Fatal(err) } + _, err = dserv.Add(b) + if err != nil { + t.Fatal(err) + } + // recursively pin B{A,C} err = p.Pin(b, true) if err != nil {