@@ -573,23 +573,16 @@ fn test_tuple_decoding_regression() {
573
573
574
574
#[ test]
575
575
fn test_invalid_protocol ( ) {
576
- let ctx = TestContext :: new ( ) ;
577
- let ( addr, url) = match * ctx. server . get_client_addr ( ) {
578
- redis:: ConnectionAddr :: Tcp ( ref host, port) => {
579
- ( format ! ( "{}:{}" , host, port) ,
580
- format ! ( "redis://{}:{}" , host, port) )
581
- } ,
582
- _ => { return ; }
583
- } ;
584
-
585
576
use std:: thread;
586
577
use std:: error:: Error ;
587
578
use std:: io:: Write ;
588
579
use std:: net:: TcpListener ;
589
580
use redis:: { RedisResult , Parser } ;
590
581
582
+ let listener = TcpListener :: bind ( "127.0.0.1:0" ) . unwrap ( ) ;
583
+ let port = listener. local_addr ( ) . unwrap ( ) . port ( ) ;
584
+
591
585
let child = thread:: spawn ( move || -> Result < ( ) , Box < Error + Send + Sync > > {
592
- let listener = try!( TcpListener :: bind ( & addr[ ..] ) ) ;
593
586
let mut stream = try!( listener. incoming ( ) . next ( ) . unwrap ( ) ) ;
594
587
// read the request and respond with garbage
595
588
let _: redis:: Value = try!( Parser :: new ( & mut stream) . parse_value ( ) ) ;
@@ -600,7 +593,7 @@ fn test_invalid_protocol() {
600
593
} ) ;
601
594
sleep ( Duration :: from_millis ( 100 ) ) ;
602
595
// some work here
603
- let cli = redis:: Client :: open ( & url [ ..] ) . unwrap ( ) ;
596
+ let cli = redis:: Client :: open ( & format ! ( "redis://127.0.0.1:{}" , port ) [ ..] ) . unwrap ( ) ;
604
597
let con = cli. get_connection ( ) . unwrap ( ) ;
605
598
606
599
let mut result: redis:: RedisResult < u8 > ;
0 commit comments