@@ -8,140 +8,143 @@ use websocket::message::Type;
88use serialize:: json;
99
1010fn main ( ) {
11- let addr = "ws://127.0.0.1:9001" . to_string ( ) ;
12- let agent = "rust-websocket" ;
13-
14- println ! ( "Using fuzzingserver {}" , addr) ;
15- println ! ( "Using agent {}" , agent) ;
16-
17- println ! ( "Running test suite..." ) ;
18-
19- let mut current_case_id = 1 ;
20- let case_count = get_case_count ( addr. clone ( ) ) ;
21-
22- while current_case_id <= case_count {
23- let case_id = current_case_id;
24- current_case_id += 1 ;
25- let url = addr. clone ( ) + "/runCase?case=" + & case_id. to_string ( ) [ ..] + "&agent=" + agent;
26-
27- let client = ClientBuilder :: new ( & url) . unwrap ( )
28- . connect_insecure ( ) . unwrap ( ) ;
29-
30- let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
31-
32- println ! ( "Executing test case: {}/{}" , case_id, case_count) ;
33-
34- for message in receiver. incoming_messages ( ) {
35- let message: Message = match message {
36- Ok ( message) => message,
37- Err ( e) => {
38- println ! ( "Error: {:?}" , e) ;
39- let _ = sender. send_message ( & Message :: close ( ) ) ;
40- break ;
41- }
42- } ;
43-
44- match message. opcode {
45- Type :: Text => {
46- let response = Message :: text ( from_utf8 ( & * message. payload ) . unwrap ( ) ) ;
47- sender. send_message ( & response) . unwrap ( ) ;
48- }
49- Type :: Binary => {
50- sender. send_message ( & Message :: binary ( message. payload ) ) . unwrap ( ) ;
51- }
52- Type :: Close => {
53- let _ = sender. send_message ( & Message :: close ( ) ) ;
54- break ;
55- }
56- Type :: Ping => {
57- sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
58- }
59- _ => ( ) ,
60- }
61- }
62- }
63-
64- update_reports ( addr. clone ( ) , agent) ;
11+ let addr = "ws://127.0.0.1:9001" . to_string ( ) ;
12+ let agent = "rust-websocket" ;
13+
14+ println ! ( "Using fuzzingserver {}" , addr) ;
15+ println ! ( "Using agent {}" , agent) ;
16+
17+ println ! ( "Running test suite..." ) ;
18+
19+ let mut current_case_id = 1 ;
20+ let case_count = get_case_count ( addr. clone ( ) ) ;
21+
22+ while current_case_id <= case_count {
23+ let case_id = current_case_id;
24+ current_case_id += 1 ;
25+ let url = addr. clone ( ) + "/runCase?case=" + & case_id. to_string ( ) [ ..] + "&agent=" + agent;
26+
27+ let client = ClientBuilder :: new ( & url)
28+ . unwrap ( )
29+ . connect_insecure ( )
30+ . unwrap ( ) ;
31+
32+ let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
33+
34+ println ! ( "Executing test case: {}/{}" , case_id, case_count) ;
35+
36+ for message in receiver. incoming_messages ( ) {
37+ let message: Message = match message {
38+ Ok ( message) => message,
39+ Err ( e) => {
40+ println ! ( "Error: {:?}" , e) ;
41+ let _ = sender. send_message ( & Message :: close ( ) ) ;
42+ break ;
43+ }
44+ } ;
45+
46+ match message. opcode {
47+ Type :: Text => {
48+ let response = Message :: text ( from_utf8 ( & * message. payload ) . unwrap ( ) ) ;
49+ sender. send_message ( & response) . unwrap ( ) ;
50+ }
51+ Type :: Binary => {
52+ sender. send_message ( & Message :: binary ( message. payload ) ) . unwrap ( ) ;
53+ }
54+ Type :: Close => {
55+ let _ = sender. send_message ( & Message :: close ( ) ) ;
56+ break ;
57+ }
58+ Type :: Ping => {
59+ sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
60+ }
61+ _ => ( ) ,
62+ }
63+ }
64+ }
65+
66+ update_reports ( addr. clone ( ) , agent) ;
6567}
6668
6769fn get_case_count ( addr : String ) -> usize {
68- let url = addr + "/getCaseCount" ;
69-
70- let client = match ClientBuilder :: new ( & url) . unwrap ( ) . connect_insecure ( ) {
71- Ok ( c) => c,
72- Err ( e) => {
73- println ! ( "{:?}" , e) ;
74- return 0 ;
75- } ,
76- } ;
77-
78- let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
79-
80- let mut count = 0 ;
81-
82- for message in receiver. incoming_messages ( ) {
83- let message: Message = match message {
84- Ok ( message) => message,
85- Err ( e) => {
86- println ! ( "Error: {:?}" , e) ;
87- let _ = sender. send_message ( & Message :: close_because ( 1002 , "" . to_string ( ) ) ) ;
88- break ;
89- }
90- } ;
91- match message. opcode {
92- Type :: Text => {
93- count = json:: decode ( from_utf8 ( & * message. payload ) . unwrap ( ) ) . unwrap ( ) ;
94- println ! ( "Will run {} cases..." , count) ;
95- }
96- Type :: Close => {
97- let _ = sender. send_message ( & Message :: close ( ) ) ;
98- break ;
99- }
100- Type :: Ping => {
101- sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
102- }
103- _ => ( ) ,
104- }
105- }
106-
107- count
70+ let url = addr + "/getCaseCount" ;
71+
72+ let client = match ClientBuilder :: new ( & url) . unwrap ( ) . connect_insecure ( ) {
73+ Ok ( c) => c,
74+ Err ( e) => {
75+ println ! ( "{:?}" , e) ;
76+ return 0 ;
77+ }
78+ } ;
79+
80+ let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
81+
82+ let mut count = 0 ;
83+
84+ for message in receiver. incoming_messages ( ) {
85+ let message: Message = match message {
86+ Ok ( message) => message,
87+ Err ( e) => {
88+ println ! ( "Error: {:?}" , e) ;
89+ let _ =
90+ sender. send_message ( & Message :: close_because ( 1002 , "" . to_string ( ) ) ) ;
91+ break ;
92+ }
93+ } ;
94+ match message. opcode {
95+ Type :: Text => {
96+ count = json:: decode ( from_utf8 ( & * message. payload ) . unwrap ( ) ) . unwrap ( ) ;
97+ println ! ( "Will run {} cases..." , count) ;
98+ }
99+ Type :: Close => {
100+ let _ = sender. send_message ( & Message :: close ( ) ) ;
101+ break ;
102+ }
103+ Type :: Ping => {
104+ sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
105+ }
106+ _ => ( ) ,
107+ }
108+ }
109+
110+ count
108111}
109112
110113fn update_reports ( addr : String , agent : & str ) {
111- let url = addr + "/updateReports?agent=" + agent;
112-
113- let client = match ClientBuilder :: new ( & url) . unwrap ( ) . connect_insecure ( ) {
114- Ok ( c) => c,
115- Err ( e) => {
116- println ! ( "{:?}" , e) ;
117- return ;
118- } ,
119- } ;
120-
121- let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
122-
123- println ! ( "Updating reports..." ) ;
124-
125- for message in receiver. incoming_messages ( ) {
126- let message: Message = match message {
127- Ok ( message) => message,
128- Err ( e) => {
129- println ! ( "Error: {:?}" , e) ;
130- let _ = sender. send_message ( & Message :: close ( ) ) ;
131- return ;
132- }
133- } ;
134- match message. opcode {
135- Type :: Close => {
136- let _ = sender. send_message ( & Message :: close ( ) ) ;
137- println ! ( "Reports updated." ) ;
138- println ! ( "Test suite finished!" ) ;
139- return ;
140- }
141- Type :: Ping => {
142- sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
143- }
144- _ => ( ) ,
145- }
146- }
114+ let url = addr + "/updateReports?agent=" + agent;
115+
116+ let client = match ClientBuilder :: new ( & url) . unwrap ( ) . connect_insecure ( ) {
117+ Ok ( c) => c,
118+ Err ( e) => {
119+ println ! ( "{:?}" , e) ;
120+ return ;
121+ }
122+ } ;
123+
124+ let ( mut receiver, mut sender) = client. split ( ) . unwrap ( ) ;
125+
126+ println ! ( "Updating reports..." ) ;
127+
128+ for message in receiver. incoming_messages ( ) {
129+ let message: Message = match message {
130+ Ok ( message) => message,
131+ Err ( e) => {
132+ println ! ( "Error: {:?}" , e) ;
133+ let _ = sender. send_message ( & Message :: close ( ) ) ;
134+ return ;
135+ }
136+ } ;
137+ match message. opcode {
138+ Type :: Close => {
139+ let _ = sender. send_message ( & Message :: close ( ) ) ;
140+ println ! ( "Reports updated." ) ;
141+ println ! ( "Test suite finished!" ) ;
142+ return ;
143+ }
144+ Type :: Ping => {
145+ sender. send_message ( & Message :: pong ( message. payload ) ) . unwrap ( ) ;
146+ }
147+ _ => ( ) ,
148+ }
149+ }
147150}
0 commit comments