Add testdata package and unify testdata to only one dir (#1297)
This commit is contained in:
		
							
								
								
									
										15
									
								
								benchmark/server/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								benchmark/server/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								benchmark/server/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								benchmark/server/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								benchmark/server/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								benchmark/server/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
| @ -33,10 +33,7 @@ import ( | |||||||
| 	"google.golang.org/grpc/codes" | 	"google.golang.org/grpc/codes" | ||||||
| 	"google.golang.org/grpc/credentials" | 	"google.golang.org/grpc/credentials" | ||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
| ) | 	"google.golang.org/grpc/testdata" | ||||||
|  |  | ||||||
| var ( |  | ||||||
| 	caFile = "benchmark/server/testdata/ca.pem" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type lockingHistogram struct { | type lockingHistogram struct { | ||||||
| @ -122,7 +119,7 @@ func createConns(config *testpb.ClientConfig) ([]*grpc.ClientConn, func(), error | |||||||
|  |  | ||||||
| 	// Check and set security options. | 	// Check and set security options. | ||||||
| 	if config.SecurityParams != nil { | 	if config.SecurityParams != nil { | ||||||
| 		creds, err := credentials.NewClientTLSFromFile(abs(caFile), config.SecurityParams.ServerHostOverride) | 		creds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), config.SecurityParams.ServerHostOverride) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, nil, grpc.Errorf(codes.InvalidArgument, "failed to create TLS credentials %v", err) | 			return nil, nil, grpc.Errorf(codes.InvalidArgument, "failed to create TLS credentials %v", err) | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -32,12 +32,7 @@ import ( | |||||||
| 	"google.golang.org/grpc/codes" | 	"google.golang.org/grpc/codes" | ||||||
| 	"google.golang.org/grpc/credentials" | 	"google.golang.org/grpc/credentials" | ||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
| ) | 	"google.golang.org/grpc/testdata" | ||||||
|  |  | ||||||
| var ( |  | ||||||
| 	// File path related to google.golang.org/grpc. |  | ||||||
| 	certFile = "benchmark/server/testdata/server1.pem" |  | ||||||
| 	keyFile  = "benchmark/server/testdata/server1.key" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type benchmarkServer struct { | type benchmarkServer struct { | ||||||
| @ -90,7 +85,7 @@ func startBenchmarkServer(config *testpb.ServerConfig, serverPort int) (*benchma | |||||||
|  |  | ||||||
| 	// Set security options. | 	// Set security options. | ||||||
| 	if config.SecurityParams != nil { | 	if config.SecurityParams != nil { | ||||||
| 		creds, err := credentials.NewServerTLSFromFile(abs(certFile), abs(keyFile)) | 		creds, err := credentials.NewServerTLSFromFile(testdata.Path("server1.pem"), testdata.Path("server1.key")) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			grpclog.Fatalf("failed to generate credentials %v", err) | 			grpclog.Fatalf("failed to generate credentials %v", err) | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -18,26 +18,7 @@ | |||||||
|  |  | ||||||
| package main | package main | ||||||
|  |  | ||||||
| import ( | import "syscall" | ||||||
| 	"log" |  | ||||||
| 	"os" |  | ||||||
| 	"path/filepath" |  | ||||||
| 	"syscall" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| // abs returns the absolute path the given relative file or directory path, |  | ||||||
| // relative to the google.golang.org/grpc directory in the user's GOPATH. |  | ||||||
| // If rel is already absolute, it is returned unmodified. |  | ||||||
| func abs(rel string) string { |  | ||||||
| 	if filepath.IsAbs(rel) { |  | ||||||
| 		return rel |  | ||||||
| 	} |  | ||||||
| 	v, err := goPackagePath("google.golang.org/grpc") |  | ||||||
| 	if err != nil { |  | ||||||
| 		log.Fatalf("Error finding google.golang.org/grpc/testdata directory: %v", err) |  | ||||||
| 	} |  | ||||||
| 	return filepath.Join(v, rel) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func cpuTimeDiff(first *syscall.Rusage, latest *syscall.Rusage) (float64, float64) { | func cpuTimeDiff(first *syscall.Rusage, latest *syscall.Rusage) (float64, float64) { | ||||||
| 	var ( | 	var ( | ||||||
| @ -52,25 +33,3 @@ func cpuTimeDiff(first *syscall.Rusage, latest *syscall.Rusage) (float64, float6 | |||||||
|  |  | ||||||
| 	return uTimeElapsed, sTimeElapsed | 	return uTimeElapsed, sTimeElapsed | ||||||
| } | } | ||||||
|  |  | ||||||
| func goPackagePath(pkg string) (path string, err error) { |  | ||||||
| 	gp := os.Getenv("GOPATH") |  | ||||||
| 	if gp == "" { |  | ||||||
| 		return path, os.ErrNotExist |  | ||||||
| 	} |  | ||||||
| 	for _, p := range filepath.SplitList(gp) { |  | ||||||
| 		dir := filepath.Join(p, "src", filepath.FromSlash(pkg)) |  | ||||||
| 		fi, err := os.Stat(dir) |  | ||||||
| 		if os.IsNotExist(err) { |  | ||||||
| 			continue |  | ||||||
| 		} |  | ||||||
| 		if err != nil { |  | ||||||
| 			return "", err |  | ||||||
| 		} |  | ||||||
| 		if !fi.IsDir() { |  | ||||||
| 			continue |  | ||||||
| 		} |  | ||||||
| 		return dir, nil |  | ||||||
| 	} |  | ||||||
| 	return path, os.ErrNotExist |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -29,10 +29,9 @@ import ( | |||||||
| 	"google.golang.org/grpc/credentials" | 	"google.golang.org/grpc/credentials" | ||||||
| 	"google.golang.org/grpc/keepalive" | 	"google.golang.org/grpc/keepalive" | ||||||
| 	"google.golang.org/grpc/naming" | 	"google.golang.org/grpc/naming" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const tlsDir = "testdata/" |  | ||||||
|  |  | ||||||
| func assertState(wantState ConnectivityState, cc *ClientConn) (ConnectivityState, bool) { | func assertState(wantState ConnectivityState, cc *ClientConn) (ConnectivityState, bool) { | ||||||
| 	ctx, _ := context.WithTimeout(context.Background(), time.Second) | 	ctx, _ := context.WithTimeout(context.Background(), time.Second) | ||||||
| 	var state ConnectivityState | 	var state ConnectivityState | ||||||
| @ -93,7 +92,7 @@ func TestDialTimeout(t *testing.T) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func TestTLSDialTimeout(t *testing.T) { | func TestTLSDialTimeout(t *testing.T) { | ||||||
| 	creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", "x.test.youtube.com") | 	creds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), "x.test.youtube.com") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Failed to create credentials %v", err) | 		t.Fatalf("Failed to create credentials %v", err) | ||||||
| 	} | 	} | ||||||
| @ -120,7 +119,7 @@ func TestDefaultAuthority(t *testing.T) { | |||||||
|  |  | ||||||
| func TestTLSServerNameOverwrite(t *testing.T) { | func TestTLSServerNameOverwrite(t *testing.T) { | ||||||
| 	overwriteServerName := "over.write.server.name" | 	overwriteServerName := "over.write.server.name" | ||||||
| 	creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", overwriteServerName) | 	creds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), overwriteServerName) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Failed to create credentials %v", err) | 		t.Fatalf("Failed to create credentials %v", err) | ||||||
| 	} | 	} | ||||||
| @ -148,7 +147,7 @@ func TestWithAuthority(t *testing.T) { | |||||||
|  |  | ||||||
| func TestWithAuthorityAndTLS(t *testing.T) { | func TestWithAuthorityAndTLS(t *testing.T) { | ||||||
| 	overwriteServerName := "over.write.server.name" | 	overwriteServerName := "over.write.server.name" | ||||||
| 	creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", overwriteServerName) | 	creds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), overwriteServerName) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Failed to create credentials %v", err) | 		t.Fatalf("Failed to create credentials %v", err) | ||||||
| 	} | 	} | ||||||
| @ -219,7 +218,7 @@ func (c securePerRPCCredentials) RequireTransportSecurity() bool { | |||||||
| } | } | ||||||
|  |  | ||||||
| func TestCredentialsMisuse(t *testing.T) { | func TestCredentialsMisuse(t *testing.T) { | ||||||
| 	tlsCreds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", "x.test.youtube.com") | 	tlsCreds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), "x.test.youtube.com") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		t.Fatalf("Failed to create authenticator %v", err) | 		t.Fatalf("Failed to create authenticator %v", err) | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -24,6 +24,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"golang.org/x/net/context" | 	"golang.org/x/net/context" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func TestTLSOverrideServerName(t *testing.T) { | func TestTLSOverrideServerName(t *testing.T) { | ||||||
| @ -50,8 +51,6 @@ func TestTLSClone(t *testing.T) { | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
| const tlsDir = "../test/testdata/" |  | ||||||
|  |  | ||||||
| type serverHandshake func(net.Conn) (AuthInfo, error) | type serverHandshake func(net.Conn) (AuthInfo, error) | ||||||
|  |  | ||||||
| func TestClientHandshakeReturnsAuthInfo(t *testing.T) { | func TestClientHandshakeReturnsAuthInfo(t *testing.T) { | ||||||
| @ -162,7 +161,7 @@ func clientHandle(t *testing.T, hs func(net.Conn, string) (AuthInfo, error), lis | |||||||
|  |  | ||||||
| // Server handshake implementation in gRPC. | // Server handshake implementation in gRPC. | ||||||
| func gRPCServerHandshake(conn net.Conn) (AuthInfo, error) { | func gRPCServerHandshake(conn net.Conn) (AuthInfo, error) { | ||||||
| 	serverTLS, err := NewServerTLSFromFile(tlsDir+"server1.pem", tlsDir+"server1.key") | 	serverTLS, err := NewServerTLSFromFile(testdata.Path("server1.pem"), testdata.Path("server1.key")) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @ -184,7 +183,7 @@ func gRPCClientHandshake(conn net.Conn, lisAddr string) (AuthInfo, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func tlsServerHandshake(conn net.Conn) (AuthInfo, error) { | func tlsServerHandshake(conn net.Conn) (AuthInfo, error) { | ||||||
| 	cert, err := tls.LoadX509KeyPair(tlsDir+"server1.pem", tlsDir+"server1.key") | 	cert, err := tls.LoadX509KeyPair(testdata.Path("server1.pem"), testdata.Path("server1.key")) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -33,11 +33,12 @@ import ( | |||||||
| 	"google.golang.org/grpc/credentials" | 	"google.golang.org/grpc/credentials" | ||||||
| 	pb "google.golang.org/grpc/examples/route_guide/routeguide" | 	pb "google.golang.org/grpc/examples/route_guide/routeguide" | ||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	tls                = flag.Bool("tls", false, "Connection uses TLS if true, else plain TCP") | 	tls                = flag.Bool("tls", false, "Connection uses TLS if true, else plain TCP") | ||||||
| 	caFile             = flag.String("ca_file", "testdata/ca.pem", "The file containning the CA root cert file") | 	caFile             = flag.String("ca_file", testdata.Path("ca.pem"), "The file containning the CA root cert file") | ||||||
| 	serverAddr         = flag.String("server_addr", "127.0.0.1:10000", "The server address in the format of host:port") | 	serverAddr         = flag.String("server_addr", "127.0.0.1:10000", "The server address in the format of host:port") | ||||||
| 	serverHostOverride = flag.String("server_host_override", "x.test.youtube.com", "The server name use to verify the hostname returned by TLS handshake") | 	serverHostOverride = flag.String("server_host_override", "x.test.youtube.com", "The server name use to verify the hostname returned by TLS handshake") | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -37,6 +37,7 @@ import ( | |||||||
|  |  | ||||||
| 	"google.golang.org/grpc/credentials" | 	"google.golang.org/grpc/credentials" | ||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
|  |  | ||||||
| 	"github.com/golang/protobuf/proto" | 	"github.com/golang/protobuf/proto" | ||||||
|  |  | ||||||
| @ -45,8 +46,8 @@ import ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	tls        = flag.Bool("tls", false, "Connection uses TLS if true, else plain TCP") | 	tls        = flag.Bool("tls", false, "Connection uses TLS if true, else plain TCP") | ||||||
| 	certFile   = flag.String("cert_file", "testdata/server1.pem", "The TLS cert file") | 	certFile   = flag.String("cert_file", testdata.Path("server1.pem"), "The TLS cert file") | ||||||
| 	keyFile    = flag.String("key_file", "testdata/server1.key", "The TLS key file") | 	keyFile    = flag.String("key_file", testdata.Path("server1.key"), "The TLS key file") | ||||||
| 	jsonDBFile = flag.String("json_db_file", "testdata/route_guide_db.json", "A json file containing a list of features") | 	jsonDBFile = flag.String("json_db_file", "testdata/route_guide_db.json", "A json file containing a list of features") | ||||||
| 	port       = flag.Int("port", 10000, "The server port") | 	port       = flag.Int("port", 10000, "The server port") | ||||||
| ) | ) | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								examples/route_guide/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								examples/route_guide/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								examples/route_guide/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								examples/route_guide/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								examples/route_guide/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								examples/route_guide/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
| @ -29,6 +29,7 @@ import ( | |||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
| 	"google.golang.org/grpc/interop" | 	"google.golang.org/grpc/interop" | ||||||
| 	testpb "google.golang.org/grpc/interop/grpc_testing" | 	testpb "google.golang.org/grpc/interop/grpc_testing" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @ -60,9 +61,6 @@ var ( | |||||||
|         custom_metadata: server will echo custom metadata; |         custom_metadata: server will echo custom metadata; | ||||||
|         unimplemented_method: client attempts to call unimplemented method; |         unimplemented_method: client attempts to call unimplemented method; | ||||||
|         unimplemented_service: client attempts to call unimplemented service.`) |         unimplemented_service: client attempts to call unimplemented service.`) | ||||||
|  |  | ||||||
| 	// The test CA root cert file |  | ||||||
| 	testCAFile = "testdata/ca.pem" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func main() { | func main() { | ||||||
| @ -77,7 +75,7 @@ func main() { | |||||||
| 		var creds credentials.TransportCredentials | 		var creds credentials.TransportCredentials | ||||||
| 		if *testCA { | 		if *testCA { | ||||||
| 			var err error | 			var err error | ||||||
| 			creds, err = credentials.NewClientTLSFromFile(testCAFile, sn) | 			creds, err = credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), sn) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				grpclog.Fatalf("Failed to create TLS credentials %v", err) | 				grpclog.Fatalf("Failed to create TLS credentials %v", err) | ||||||
| 			} | 			} | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								interop/client/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								interop/client/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								interop/client/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								interop/client/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								interop/client/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								interop/client/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
| @ -28,12 +28,13 @@ import ( | |||||||
| 	"google.golang.org/grpc/grpclog" | 	"google.golang.org/grpc/grpclog" | ||||||
| 	"google.golang.org/grpc/interop" | 	"google.golang.org/grpc/interop" | ||||||
| 	testpb "google.golang.org/grpc/interop/grpc_testing" | 	testpb "google.golang.org/grpc/interop/grpc_testing" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	useTLS   = flag.Bool("use_tls", false, "Connection uses TLS if true, else plain TCP") | 	useTLS   = flag.Bool("use_tls", false, "Connection uses TLS if true, else plain TCP") | ||||||
| 	certFile = flag.String("tls_cert_file", "testdata/server1.pem", "The TLS cert file") | 	certFile = flag.String("tls_cert_file", testdata.Path("server1.pem"), "The TLS cert file") | ||||||
| 	keyFile  = flag.String("tls_key_file", "testdata/server1.key", "The TLS key file") | 	keyFile  = flag.String("tls_key_file", testdata.Path("server1.key"), "The TLS key file") | ||||||
| 	port     = flag.Int("port", 10000, "The server port") | 	port     = flag.Int("port", 10000, "The server port") | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								interop/server/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								interop/server/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								interop/server/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								interop/server/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								interop/server/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								interop/server/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
| @ -37,6 +37,7 @@ import ( | |||||||
| 	"google.golang.org/grpc/interop" | 	"google.golang.org/grpc/interop" | ||||||
| 	testpb "google.golang.org/grpc/interop/grpc_testing" | 	testpb "google.golang.org/grpc/interop/grpc_testing" | ||||||
| 	metricspb "google.golang.org/grpc/stress/grpc_testing" | 	metricspb "google.golang.org/grpc/stress/grpc_testing" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @ -49,9 +50,6 @@ var ( | |||||||
| 	useTLS               = flag.Bool("use_tls", false, "Connection uses TLS if true, else plain TCP") | 	useTLS               = flag.Bool("use_tls", false, "Connection uses TLS if true, else plain TCP") | ||||||
| 	testCA               = flag.Bool("use_test_ca", false, "Whether to replace platform root CAs with test CA as the CA root") | 	testCA               = flag.Bool("use_test_ca", false, "Whether to replace platform root CAs with test CA as the CA root") | ||||||
| 	tlsServerName        = flag.String("server_host_override", "foo.test.google.fr", "The server name use to verify the hostname returned by TLS handshake if it is not empty. Otherwise, --server_host is used.") | 	tlsServerName        = flag.String("server_host_override", "foo.test.google.fr", "The server name use to verify the hostname returned by TLS handshake if it is not empty. Otherwise, --server_host is used.") | ||||||
|  |  | ||||||
| 	// The test CA root cert file |  | ||||||
| 	testCAFile = "testdata/ca.pem" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // testCaseWithWeight contains the test case type and its weight. | // testCaseWithWeight contains the test case type and its weight. | ||||||
| @ -277,7 +275,7 @@ func newConn(address string, useTLS, testCA bool, tlsServerName string) (*grpc.C | |||||||
| 		var creds credentials.TransportCredentials | 		var creds credentials.TransportCredentials | ||||||
| 		if testCA { | 		if testCA { | ||||||
| 			var err error | 			var err error | ||||||
| 			creds, err = credentials.NewClientTLSFromFile(testCAFile, sn) | 			creds, err = credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), sn) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				grpclog.Fatalf("Failed to create TLS credentials %v", err) | 				grpclog.Fatalf("Failed to create TLS credentials %v", err) | ||||||
| 			} | 			} | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								stress/client/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								stress/client/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								stress/client/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								stress/client/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								stress/client/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								stress/client/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
| @ -54,6 +54,7 @@ import ( | |||||||
| 	"google.golang.org/grpc/status" | 	"google.golang.org/grpc/status" | ||||||
| 	"google.golang.org/grpc/tap" | 	"google.golang.org/grpc/tap" | ||||||
| 	testpb "google.golang.org/grpc/test/grpc_testing" | 	testpb "google.golang.org/grpc/test/grpc_testing" | ||||||
|  | 	"google.golang.org/grpc/testdata" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @ -350,8 +351,6 @@ func (s *testServer) HalfDuplexCall(stream testpb.TestService_HalfDuplexCallServ | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
| const tlsDir = "testdata/" |  | ||||||
|  |  | ||||||
| type env struct { | type env struct { | ||||||
| 	name        string | 	name        string | ||||||
| 	network     string // The type of network such as tcp, unix, etc. | 	network     string // The type of network such as tcp, unix, etc. | ||||||
| @ -529,7 +528,7 @@ func (te *test) startServer(ts testpb.TestServiceServer) { | |||||||
| 	} | 	} | ||||||
| 	switch te.e.security { | 	switch te.e.security { | ||||||
| 	case "tls": | 	case "tls": | ||||||
| 		creds, err := credentials.NewServerTLSFromFile(tlsDir+"server1.pem", tlsDir+"server1.key") | 		creds, err := credentials.NewServerTLSFromFile(testdata.Path("server1.pem"), testdata.Path("server1.key")) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			te.t.Fatalf("Failed to generate credentials %v", err) | 			te.t.Fatalf("Failed to generate credentials %v", err) | ||||||
| 		} | 		} | ||||||
| @ -604,7 +603,7 @@ func (te *test) clientConn() *grpc.ClientConn { | |||||||
| 	} | 	} | ||||||
| 	switch te.e.security { | 	switch te.e.security { | ||||||
| 	case "tls": | 	case "tls": | ||||||
| 		creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", "x.test.youtube.com") | 		creds, err := credentials.NewClientTLSFromFile(testdata.Path("ca.pem"), "x.test.youtube.com") | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			te.t.Fatalf("Failed to load credentials: %v", err) | 			te.t.Fatalf("Failed to load credentials: %v", err) | ||||||
| 		} | 		} | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								test/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								test/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								test/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								test/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								test/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								test/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										63
									
								
								testdata/testdata.go
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								testdata/testdata.go
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright 2017 gRPC authors. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | package testdata | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"log" | ||||||
|  | 	"os" | ||||||
|  | 	"path/filepath" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // Path returns the absolute path the given relative file or directory path, | ||||||
|  | // relative to the google.golang.org/grpc/testdata directory in the user's GOPATH. | ||||||
|  | // If rel is already absolute, it is returned unmodified. | ||||||
|  | func Path(rel string) string { | ||||||
|  | 	if filepath.IsAbs(rel) { | ||||||
|  | 		return rel | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	v, err := goPackagePath("google.golang.org/grpc/testdata") | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Fatalf("Error finding google.golang.org/grpc/testdata directory: %v", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return filepath.Join(v, rel) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func goPackagePath(pkg string) (path string, err error) { | ||||||
|  | 	gp := os.Getenv("GOPATH") | ||||||
|  | 	if gp == "" { | ||||||
|  | 		return path, os.ErrNotExist | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	for _, p := range filepath.SplitList(gp) { | ||||||
|  | 		dir := filepath.Join(p, "src", filepath.FromSlash(pkg)) | ||||||
|  | 		fi, err := os.Stat(dir) | ||||||
|  | 		if os.IsNotExist(err) { | ||||||
|  | 			continue | ||||||
|  | 		} | ||||||
|  | 		if err != nil { | ||||||
|  | 			return "", err | ||||||
|  | 		} | ||||||
|  | 		if !fi.IsDir() { | ||||||
|  | 			continue | ||||||
|  | 		} | ||||||
|  | 		return dir, nil | ||||||
|  | 	} | ||||||
|  | 	return path, os.ErrNotExist | ||||||
|  | } | ||||||
							
								
								
									
										15
									
								
								transport/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								transport/testdata/ca.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,15 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV |  | ||||||
| BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX |  | ||||||
| aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla |  | ||||||
| Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0 |  | ||||||
| YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT |  | ||||||
| BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7 |  | ||||||
| +L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu |  | ||||||
| g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd |  | ||||||
| Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV |  | ||||||
| HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau |  | ||||||
| sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m |  | ||||||
| oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG |  | ||||||
| Dfcog5wrJytaQ6UA0wE= |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
							
								
								
									
										16
									
								
								transport/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								transport/testdata/server1.key
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN PRIVATE KEY----- |  | ||||||
| MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD |  | ||||||
| M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf |  | ||||||
| 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY |  | ||||||
| AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm |  | ||||||
| V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY |  | ||||||
| tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p |  | ||||||
| dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q |  | ||||||
| K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR |  | ||||||
| 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff |  | ||||||
| DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd |  | ||||||
| aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2 |  | ||||||
| ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3 |  | ||||||
| XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe |  | ||||||
| F98XJ7tIFfJq |  | ||||||
| -----END PRIVATE KEY----- |  | ||||||
							
								
								
									
										16
									
								
								transport/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								transport/testdata/server1.pem
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | |||||||
| -----BEGIN CERTIFICATE----- |  | ||||||
| MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET |  | ||||||
| MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ |  | ||||||
| dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx |  | ||||||
| MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV |  | ||||||
| BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50 |  | ||||||
| ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco |  | ||||||
| LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg |  | ||||||
| zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd |  | ||||||
| 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw |  | ||||||
| CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy |  | ||||||
| em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G |  | ||||||
| CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6 |  | ||||||
| hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh |  | ||||||
| y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8 |  | ||||||
| -----END CERTIFICATE----- |  | ||||||
		Reference in New Issue
	
	Block a user
	 田欧
					田欧