@@ -20,7 +20,7 @@ use crate::{
2020 embedded:: EMBEDDED_FILES ,
2121 exercise:: { Exercise , RunnableExercise } ,
2222 info_file:: ExerciseInfo ,
23- term:: { self , ExercisesCheckProgressVisualizer } ,
23+ term:: { self , CheckProgressVisualizer } ,
2424} ;
2525
2626const STATE_FILE_NAME : & str = ".rustlings-state.txt" ;
@@ -42,7 +42,7 @@ pub enum StateFileStatus {
4242}
4343
4444#[ derive( Clone , Copy ) ]
45- pub enum ExerciseCheckProgress {
45+ pub enum CheckProgress {
4646 None ,
4747 Checking ,
4848 Done ,
@@ -412,10 +412,10 @@ impl AppState {
412412 let term_width = terminal:: size ( )
413413 . context ( "Failed to get the terminal size" ) ?
414414 . 0 ;
415- let mut progress_visualizer = ExercisesCheckProgressVisualizer :: build ( stdout, term_width) ?;
415+ let mut progress_visualizer = CheckProgressVisualizer :: build ( stdout, term_width) ?;
416416
417417 let next_exercise_ind = AtomicUsize :: new ( 0 ) ;
418- let mut progresses = vec ! [ ExerciseCheckProgress :: None ; self . exercises. len( ) ] ;
418+ let mut progresses = vec ! [ CheckProgress :: None ; self . exercises. len( ) ] ;
419419
420420 thread:: scope ( |s| {
421421 let ( exercise_progress_sender, exercise_progress_receiver) = mpsc:: channel ( ) ;
@@ -435,17 +435,17 @@ impl AppState {
435435 } ;
436436
437437 if exercise_progress_sender
438- . send ( ( exercise_ind, ExerciseCheckProgress :: Checking ) )
438+ . send ( ( exercise_ind, CheckProgress :: Checking ) )
439439 . is_err ( )
440440 {
441441 break ;
442442 } ;
443443
444444 let success = exercise. run_exercise ( None , & slf. cmd_runner ) ;
445445 let progress = match success {
446- Ok ( true ) => ExerciseCheckProgress :: Done ,
447- Ok ( false ) => ExerciseCheckProgress :: Pending ,
448- Err ( _) => ExerciseCheckProgress :: None ,
446+ Ok ( true ) => CheckProgress :: Done ,
447+ Ok ( false ) => CheckProgress :: Pending ,
448+ Err ( _) => CheckProgress :: None ,
449449 } ;
450450
451451 if exercise_progress_sender
@@ -472,34 +472,33 @@ impl AppState {
472472 let mut first_pending_exercise_ind = None ;
473473 for exercise_ind in 0 ..progresses. len ( ) {
474474 match progresses[ exercise_ind] {
475- ExerciseCheckProgress :: Done => {
475+ CheckProgress :: Done => {
476476 self . set_status ( exercise_ind, true ) ?;
477477 }
478- ExerciseCheckProgress :: Pending => {
478+ CheckProgress :: Pending => {
479479 self . set_status ( exercise_ind, false ) ?;
480480 if first_pending_exercise_ind. is_none ( ) {
481481 first_pending_exercise_ind = Some ( exercise_ind) ;
482482 }
483483 }
484- ExerciseCheckProgress :: None | ExerciseCheckProgress :: Checking => {
484+ CheckProgress :: None | CheckProgress :: Checking => {
485485 // If we got an error while checking all exercises in parallel,
486486 // it could be because we exceeded the limit of open file descriptors.
487487 // Therefore, try running exercises with errors sequentially.
488- progresses[ exercise_ind] = ExerciseCheckProgress :: Checking ;
488+ progresses[ exercise_ind] = CheckProgress :: Checking ;
489489 progress_visualizer. update ( & progresses) ?;
490490
491491 let exercise = & self . exercises [ exercise_ind] ;
492492 let success = exercise. run_exercise ( None , & self . cmd_runner ) ?;
493493 if success {
494- progresses[ exercise_ind] = ExerciseCheckProgress :: Done ;
494+ progresses[ exercise_ind] = CheckProgress :: Done ;
495495 } else {
496+ progresses[ exercise_ind] = CheckProgress :: Pending ;
496497 if first_pending_exercise_ind. is_none ( ) {
497498 first_pending_exercise_ind = Some ( exercise_ind) ;
498499 }
499- progresses[ exercise_ind] = ExerciseCheckProgress :: Pending ;
500500 }
501501 self . set_status ( exercise_ind, success) ?;
502-
503502 progress_visualizer. update ( & progresses) ?;
504503 }
505504 }
0 commit comments