@@ -8,140 +8,143 @@ use websocket::message::Type;
8
8
use serialize:: json;
9
9
10
10
fn 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) ;
65
67
}
66
68
67
69
fn 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
108
111
}
109
112
110
113
fn 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
+ }
147
150
}
0 commit comments