OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [exp/] [proxy/] [per_host_test.go] - Rev 867

Go to most recent revision | Compare with Previous | Blame | View Log

// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package proxy

import (
        "errors"
        "net"
        "reflect"
        "testing"
)

type recordingProxy struct {
        addrs []string
}

func (r *recordingProxy) Dial(network, addr string) (net.Conn, error) {
        r.addrs = append(r.addrs, addr)
        return nil, errors.New("recordingProxy")
}

func TestPerHost(t *testing.T) {
        var def, bypass recordingProxy
        perHost := NewPerHost(&def, &bypass)
        perHost.AddFromString("localhost,*.zone,127.0.0.1,10.0.0.1/8,1000::/16")

        expectedDef := []string{
                "example.com:123",
                "1.2.3.4:123",
                "[1001::]:123",
        }
        expectedBypass := []string{
                "localhost:123",
                "zone:123",
                "foo.zone:123",
                "127.0.0.1:123",
                "10.1.2.3:123",
                "[1000::]:123",
        }

        for _, addr := range expectedDef {
                perHost.Dial("tcp", addr)
        }
        for _, addr := range expectedBypass {
                perHost.Dial("tcp", addr)
        }

        if !reflect.DeepEqual(expectedDef, def.addrs) {
                t.Errorf("Hosts which went to the default proxy didn't match. Got %v, want %v", def.addrs, expectedDef)
        }
        if !reflect.DeepEqual(expectedBypass, bypass.addrs) {
                t.Errorf("Hosts which went to the bypass proxy didn't match. Got %v, want %v", bypass.addrs, expectedBypass)
        }
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.