11 # List distributed by iblocklist.com
16 func sampleRanges(tb testing.TB) (ranges []Range, err error) {
17 scanner := bufio.NewScanner(strings.NewReader(sample))
19 r, ok, _ := ParseBlocklistP2PLine(scanner.Bytes())
22 ranges = append(ranges, r)
29 func BenchmarkParseP2pBlocklist(b *testing.B) {
30 for i := 0; i < b.N; i++ {
35 func TestSimple(t *testing.T) {
36 ranges, err := sampleRanges(t)
41 t.Fatalf("expected 2 ranges but got %d", len(ranges))
44 for _, _case := range []struct {
49 {"1.2.3.255", false, ""},
50 {"1.2.8.0", true, "b"},
51 {"1.2.4.255", true, "a"},
52 // Try to roll over to the next octet on the parse.
53 {"1.2.7.256", false, ""},
54 {"1.2.8.254", true, "b"},
56 r := iplist.Lookup(net.ParseIP(_case.IP))
59 t.Fatalf("got hit when none was expected")
64 t.Fatalf("expected hit for %q", _case.IP)
66 if r.Description != _case.Desc {
67 t.Fatalf("%q != %q", r.Description, _case.Desc)