summaryrefslogtreecommitdiffhomepage
path: root/server/server_test.go
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2017-03-05 05:44:25 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2017-03-05 06:10:30 +0900
commit3c5b07a6c81b11a60a7e475fc8a9e60bf14e390e (patch)
treed852adbb15f42042ca5da5c60ed9c49b540ea2d8 /server/server_test.go
parentd104f1ec8fa852bc990826c1333f2b9dc4c81e8d (diff)
server: avoid sending withdraw to peer just sent withdraw
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'server/server_test.go')
-rw-r--r--server/server_test.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/server/server_test.go b/server/server_test.go
index 33f4cafe..751fdb10 100644
--- a/server/server_test.go
+++ b/server/server_test.go
@@ -234,4 +234,14 @@ func TestFilterpath(t *testing.T) {
// p1 should get the new best (from p2)
assert.Equal(t, filterpath(p1, new, old), path2)
+
+ new, old = cal([]*table.Path{path2.Clone(true)})
+ assert.True(t, new.IsWithdraw)
+ // p2 withdraw so p1 should get withdrawal.
+ path = filterpath(p1, new, old)
+ assert.True(t, path.IsWithdraw)
+
+ // p2 withdraw so p2 should get nothing.
+ path = filterpath(p2, new, old)
+ assert.Nil(t, path)
}