11//! Module providing interface for running tests in the console.
22
33use std:: fs:: File ;
4- use std:: io:: prelude:: * ;
4+ use std:: io:: prelude:: Write ;
55use std:: io;
66
77use term;
@@ -192,7 +192,8 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
192192
193193// A simple console test runner
194194pub fn run_tests_console ( opts : & TestOpts , tests : Vec < TestDescAndFn > ) -> io:: Result < bool > {
195- fn callback (
195+ // A callback handling events that occure during test execution.
196+ fn on_test_event (
196197 event : & TestEvent ,
197198 st : & mut ConsoleTestState ,
198199 out : & mut dyn OutputFormatter ,
@@ -205,9 +206,14 @@ pub fn run_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Resu
205206 TestEvent :: TeFilteredOut ( filtered_out) => Ok ( st. filtered_out = filtered_out) ,
206207 TestEvent :: TeWait ( ref test) => out. write_test_start ( test) ,
207208 TestEvent :: TeTimeout ( ref test) => out. write_timeout ( test) ,
208- TestEvent :: TeResult ( test, result, exec_time, stdout) => {
209- st. write_log_result ( & test, & result, exec_time. as_ref ( ) ) ?;
210- out. write_result ( & test, & result, exec_time. as_ref ( ) , & * stdout, & st) ?;
209+ TestEvent :: TeResult ( completed_test) => {
210+ let test = completed_test. desc ;
211+ let result = & completed_test. result ;
212+ let exec_time = & completed_test. exec_time ;
213+ let stdout = completed_test. stdout ;
214+
215+ st. write_log_result ( & test, result, exec_time. as_ref ( ) ) ?;
216+ out. write_result ( & test, result, exec_time. as_ref ( ) , & * stdout, st) ?;
211217 match result {
212218 TestResult :: TrOk => {
213219 st. passed += 1 ;
@@ -280,7 +286,7 @@ pub fn run_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Resu
280286 }
281287 }
282288
283- run_tests ( opts, tests, |x| callback ( & x, & mut st, & mut * out) ) ?;
289+ run_tests ( opts, tests, |x| on_test_event ( & x, & mut st, & mut * out) ) ?;
284290
285291 assert ! ( st. current_test_count( ) == st. total) ;
286292
0 commit comments