--- /dev/null
+// Copyright 2020 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 cmd
+
+import "testing"
+
+func TestListenParsing(t *testing.T) {
+ tests := []struct {
+ input, wantNetwork, wantAddr string
+ }{
+ {"127.0.0.1:0", "tcp", "127.0.0.1:0"},
+ {"unix;/tmp/sock", "unix", "/tmp/sock"},
+ {"auto", "auto", ""},
+ {"auto;foo", "auto", "foo"},
+ }
+
+ for _, test := range tests {
+ gotNetwork, gotAddr := parseAddr(test.input)
+ if gotNetwork != test.wantNetwork {
+ t.Errorf("network = %q, want %q", gotNetwork, test.wantNetwork)
+ }
+ if gotAddr != test.wantAddr {
+ t.Errorf("addr = %q, want %q", gotAddr, test.wantAddr)
+ }
+ }
+}