// Copyright 2014 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.packagesshimport("net""testing")functestClientVersion(t*testing.T,config*ClientConfig,expectedstring){clientConn,serverConn:=net.Pipe()deferclientConn.Close()receivedVersion:=make(chanstring,1)gofunc(){version,err:=readVersion(serverConn)iferr!=nil{receivedVersion<-""}else{receivedVersion<-string(version)}serverConn.Close()}()NewClientConn(clientConn,"",config)actual:=<-receivedVersionifactual!=expected{t.Fatalf("got %s; want %s",actual,expected)}}funcTestCustomClientVersion(t*testing.T){version:="Test-Client-Version-0.0"testClientVersion(t,&ClientConfig{ClientVersion:version},version)}funcTestDefaultClientVersion(t*testing.T){testClientVersion(t,&ClientConfig{},packageVersion)}