diff --git a/addrmgr/internal_test.go b/addrmgr/internal_test.go deleted file mode 100644 index 5f01ce8d..00000000 --- a/addrmgr/internal_test.go +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) 2013-2015 The btcsuite developers -// Copyright (c) 2015-2016 The Decred developers -// Use of this source code is governed by an ISC -// license that can be found in the LICENSE file. - -package addrmgr - -import ( - "time" - - "github.com/decred/dcrd/wire" -) - -func TstKnownAddressIsBad(ka *KnownAddress) bool { - return ka.isBad() -} - -func TstKnownAddressChance(ka *KnownAddress) float64 { - return ka.chance() -} - -func TstNewKnownAddress(na *wire.NetAddress, attempts int, - lastattempt, lastsuccess time.Time, tried bool, refs int) *KnownAddress { - return &KnownAddress{na: na, attempts: attempts, lastattempt: lastattempt, - lastsuccess: lastsuccess, tried: tried, refs: refs} -} diff --git a/addrmgr/knownaddress_test.go b/addrmgr/knownaddress_test.go index 8b9ff3c0..92ce5b60 100644 --- a/addrmgr/knownaddress_test.go +++ b/addrmgr/knownaddress_test.go @@ -3,54 +3,58 @@ // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. -package addrmgr_test +package addrmgr import ( "math" "testing" "time" - "github.com/decred/dcrd/addrmgr" "github.com/decred/dcrd/wire" ) +func newKnownAddress(na *wire.NetAddress, attempts int, lastattempt, lastsuccess time.Time, tried bool, refs int) *KnownAddress { + return &KnownAddress{na: na, attempts: attempts, lastattempt: lastattempt, + lastsuccess: lastsuccess, tried: tried, refs: refs} +} + func TestChance(t *testing.T) { now := time.Unix(time.Now().Unix(), 0) var tests = []struct { - addr *addrmgr.KnownAddress + addr *KnownAddress expected float64 }{ { - //Test normal case - addrmgr.TstNewKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, - 0, time.Now().Add(-30*time.Minute), time.Now(), false, 0), + // Test normal case + newKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, + 0, now.Add(-30*time.Minute), now, false, 0), 1.0, }, { - //Test case in which lastseen < 0 - addrmgr.TstNewKnownAddress(&wire.NetAddress{Timestamp: now.Add(20 * time.Second)}, - 0, time.Now().Add(-30*time.Minute), time.Now(), false, 0), + // Test case in which lastseen < 0 + newKnownAddress(&wire.NetAddress{Timestamp: now.Add(20 * time.Second)}, + 0, now.Add(-30*time.Minute), now, false, 0), 1.0, }, { - //Test case in which lastattempt < 0 - addrmgr.TstNewKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, - 0, time.Now().Add(30*time.Minute), time.Now(), false, 0), + // Test case in which lastattempt < 0 + newKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, + 0, now.Add(30*time.Minute), now, false, 0), 1.0 * .01, }, { - //Test case in which lastattempt < ten minutes - addrmgr.TstNewKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, - 0, time.Now().Add(-5*time.Minute), time.Now(), false, 0), + // Test case in which lastattempt < ten minutes + newKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, + 0, now.Add(-5*time.Minute), now, false, 0), 1.0 * .01, }, { - //Test case with several failed attempts. - addrmgr.TstNewKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, - 2, time.Now().Add(-30*time.Minute), time.Now(), false, 0), + // Test case with several failed attempts. + newKnownAddress(&wire.NetAddress{Timestamp: now.Add(-35 * time.Second)}, + 2, now.Add(-30*time.Minute), now, false, 0), 1 / 1.5 / 1.5, }, } err := .0001 for i, test := range tests { - chance := addrmgr.TstKnownAddressChance(test.addr) + chance := test.addr.chance() if math.Abs(test.expected-chance) >= err { t.Errorf("case %d: got %f, expected %f", i, chance, test.expected) } @@ -71,45 +75,45 @@ func TestIsBad(t *testing.T) { monthOldNa := &wire.NetAddress{Timestamp: monthOld} currentNa := &wire.NetAddress{Timestamp: secondsOld} - //Test addresses that have been tried in the last minute. - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(futureNa, 3, secondsOld, zeroTime, false, 0)) { + // Test addresses that have been tried in the last minute. + if newKnownAddress(futureNa, 3, secondsOld, zeroTime, false, 0).isBad() { t.Errorf("test case 1: addresses that have been tried in the last minute are not bad.") } - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(monthOldNa, 3, secondsOld, zeroTime, false, 0)) { + if newKnownAddress(monthOldNa, 3, secondsOld, zeroTime, false, 0).isBad() { t.Errorf("test case 2: addresses that have been tried in the last minute are not bad.") } - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(currentNa, 3, secondsOld, zeroTime, false, 0)) { + if newKnownAddress(currentNa, 3, secondsOld, zeroTime, false, 0).isBad() { t.Errorf("test case 3: addresses that have been tried in the last minute are not bad.") } - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(currentNa, 3, secondsOld, monthOld, true, 0)) { + if newKnownAddress(currentNa, 3, secondsOld, monthOld, true, 0).isBad() { t.Errorf("test case 4: addresses that have been tried in the last minute are not bad.") } - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(currentNa, 2, secondsOld, secondsOld, true, 0)) { + if newKnownAddress(currentNa, 2, secondsOld, secondsOld, true, 0).isBad() { t.Errorf("test case 5: addresses that have been tried in the last minute are not bad.") } - //Test address that claims to be from the future. - if !addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(futureNa, 0, minutesOld, hoursOld, true, 0)) { + // Test address that claims to be from the future. + if !newKnownAddress(futureNa, 0, minutesOld, hoursOld, true, 0).isBad() { t.Errorf("test case 6: addresses that claim to be from the future are bad.") } - //Test address that has not been seen in over a month. - if !addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(monthOldNa, 0, minutesOld, hoursOld, true, 0)) { + // Test address that has not been seen in over a month. + if !newKnownAddress(monthOldNa, 0, minutesOld, hoursOld, true, 0).isBad() { t.Errorf("test case 7: addresses more than a month old are bad.") } - //It has failed at least three times and never succeeded. - if !addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(minutesOldNa, 3, minutesOld, zeroTime, true, 0)) { + // It has failed at least three times and never succeeded. + if !newKnownAddress(minutesOldNa, 3, minutesOld, zeroTime, true, 0).isBad() { t.Errorf("test case 8: addresses that have never succeeded are bad.") } - //It has failed ten times in the last week - if !addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(minutesOldNa, 10, minutesOld, monthOld, true, 0)) { + // It has failed ten times in the last week + if !newKnownAddress(minutesOldNa, 10, minutesOld, monthOld, true, 0).isBad() { t.Errorf("test case 9: addresses that have not succeeded in too long are bad.") } - //Test an address that should work. - if addrmgr.TstKnownAddressIsBad(addrmgr.TstNewKnownAddress(minutesOldNa, 2, minutesOld, hoursOld, true, 0)) { + // Test an address that should work. + if newKnownAddress(minutesOldNa, 2, minutesOld, hoursOld, true, 0).isBad() { t.Errorf("test case 10: This should be a valid address.") } }