1
1
use std:: collections:: HashSet ;
2
- use std:: old_io:: net:: tcp:: TcpAcceptor ;
3
- use std:: old_io:: { TcpListener , Listener , Acceptor , BufferedStream } ;
2
+ use std:: io:: BufStream ;
3
+ use std:: io:: prelude:: * ;
4
+ use std:: net:: TcpListener ;
4
5
use std:: thread;
5
6
use git2;
6
7
@@ -11,23 +12,12 @@ use hamcrest::assert_that;
11
12
fn setup ( ) {
12
13
}
13
14
14
- struct Closer { a : TcpAcceptor }
15
-
16
- impl Drop for Closer {
17
- fn drop ( & mut self ) {
18
- let _ = self . a . close_accept ( ) ;
19
- }
20
- }
21
-
22
15
// Test that HTTP auth is offered from `credential.helper`
23
16
test ! ( http_auth_offered {
24
- let mut listener = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
25
- let addr = listener. socket_name( ) . unwrap( ) ;
26
- let mut a = listener. listen( ) . unwrap( ) ;
27
- let a2 = a. clone( ) ;
28
- let _c = Closer { a: a2 } ;
17
+ let a = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
18
+ let addr = a. socket_addr( ) . unwrap( ) ;
29
19
30
- fn headers< R : Buffer > ( rdr: & mut R ) -> HashSet <String > {
20
+ fn headers( rdr: & mut BufRead ) -> HashSet <String > {
31
21
let valid = [ "GET" , "Authorization" , "Accept" , "User-Agent" ] ;
32
22
rdr. lines( ) . map( |s| s. unwrap( ) )
33
23
. take_while( |s| s. len( ) > 2 )
@@ -39,7 +29,7 @@ test!(http_auth_offered {
39
29
}
40
30
41
31
let t = thread:: spawn( move|| {
42
- let mut s = BufferedStream :: new( a. accept( ) . unwrap( ) ) ;
32
+ let mut s = BufStream :: new( a. accept( ) . unwrap( ) . 0 ) ;
43
33
let req = headers( & mut s) ;
44
34
s. write_all( b"\
45
35
HTTP/1.1 401 Unauthorized\r \n \
@@ -53,7 +43,7 @@ test!(http_auth_offered {
53
43
] . into_iter( ) . map( |s| s. to_string( ) ) . collect( ) ) ;
54
44
drop( s) ;
55
45
56
- let mut s = BufferedStream :: new( a. accept( ) . unwrap( ) ) ;
46
+ let mut s = BufStream :: new( a. accept( ) . unwrap( ) . 0 ) ;
57
47
let req = headers( & mut s) ;
58
48
s. write_all( b"\
59
49
HTTP/1.1 401 Unauthorized\r \n \
@@ -91,15 +81,15 @@ test!(http_auth_offered {
91
81
script. display( ) . to_string( ) . as_slice( ) ) . unwrap( ) ;
92
82
93
83
let p = project( "foo" )
94
- . file( "Cargo.toml" , format!( r#"
84
+ . file( "Cargo.toml" , & format!( r#"
95
85
[project]
96
86
name = "foo"
97
87
version = "0.0.1"
98
88
authors = []
99
89
100
90
[dependencies.bar]
101
91
git = "http://127.0.0.1:{}/foo/bar"
102
- "# , addr. port) . as_slice ( ) )
92
+ "# , addr. port( ) ) )
103
93
. file( "src/main.rs" , "" ) ;
104
94
105
95
assert_that( p. cargo_process( "build" ) . arg( "-v" ) ,
@@ -125,25 +115,22 @@ Caused by:
125
115
126
116
// Boy, sure would be nice to have a TLS implementation in rust!
127
117
test ! ( https_something_happens {
128
- let mut listener = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
129
- let addr = listener. socket_name( ) . unwrap( ) ;
130
- let mut a = listener. listen( ) . unwrap( ) ;
131
- let a2 = a. clone( ) ;
132
- let _c = Closer { a: a2 } ;
118
+ let a = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
119
+ let addr = a. socket_addr( ) . unwrap( ) ;
133
120
let t = thread:: spawn( move|| {
134
121
drop( a. accept( ) . unwrap( ) ) ;
135
122
} ) ;
136
123
137
124
let p = project( "foo" )
138
- . file( "Cargo.toml" , format!( r#"
125
+ . file( "Cargo.toml" , & format!( r#"
139
126
[project]
140
127
name = "foo"
141
128
version = "0.0.1"
142
129
authors = []
143
130
144
131
[dependencies.bar]
145
132
git = "https://127.0.0.1:{}/foo/bar"
146
- "# , addr. port) . as_slice ( ) )
133
+ "# , addr. port( ) ) )
147
134
. file( "src/main.rs" , "" ) ;
148
135
149
136
assert_that( p. cargo_process( "build" ) . arg( "-v" ) ,
@@ -175,11 +162,8 @@ Caused by:
175
162
176
163
// Boy, sure would be nice to have an SSH implementation in rust!
177
164
test ! ( ssh_something_happens {
178
- let mut listener = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
179
- let addr = listener. socket_name( ) . unwrap( ) ;
180
- let mut a = listener. listen( ) . unwrap( ) ;
181
- let a2 = a. clone( ) ;
182
- let _c = Closer { a: a2 } ;
165
+ let a = TcpListener :: bind( "127.0.0.1:0" ) . unwrap( ) ;
166
+ let addr = a. socket_addr( ) . unwrap( ) ;
183
167
let t = thread:: spawn( move|| {
184
168
drop( a. accept( ) . unwrap( ) ) ;
185
169
} ) ;
@@ -193,7 +177,7 @@ test!(ssh_something_happens {
193
177
194
178
[dependencies.bar]
195
179
git = "ssh://127.0.0.1:{}/foo/bar"
196
- "# , addr. port) . as_slice( ) )
180
+ "# , addr. port( ) ) . as_slice( ) )
197
181
. file( "src/main.rs" , "" ) ;
198
182
199
183
assert_that( p. cargo_process( "build" ) . arg( "-v" ) ,
0 commit comments