From 9fe0c3ec6848629a72e132cbf863d6d88bfe9720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Tue, 1 Oct 2019 00:38:07 +0200 Subject: [PATCH] wip --- chain/events/tscache_test.go | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 chain/events/tscache_test.go diff --git a/chain/events/tscache_test.go b/chain/events/tscache_test.go new file mode 100644 index 000000000..dffe97a42 --- /dev/null +++ b/chain/events/tscache_test.go @@ -0,0 +1,48 @@ +package events + +import ( + "context" + "fmt" + "github.com/filecoin-project/go-lotus/chain/types" + "testing" +) + +func TestTsCache(t *testing.T) { + tsc := newTSCache(50, func(context.Context, uint64, *types.TipSet) (*types.TipSet, error) { + t.Fatal("storage call") + return &types.TipSet{}, nil + }) + + h := uint64(75) + + add := func() { + ts, err := types.NewTipSet([]*types.BlockHeader{{ + Height: h, + StateRoot: dummyCid, + Messages: dummyCid, + MessageReceipts: dummyCid, + }}) + if err != nil { + t.Fatal(err) + } + if err := tsc.add(ts); err != nil { + t.Fatal(err) + } + h++ + } + + for i := 0; i < 9000; i++ { + fmt.Printf("i=%d; tl=%d; tcl=%d\n", i, tsc.len, len(tsc.cache)) + + if i%90 > 60 { + if err := tsc.revert(tsc.best()); err != nil { + t.Fatal(err, "; i:", i) + return + } + h-- + } else { + add() + } + } + +}