1- use crate :: util:: clean ;
1+ use crate :: util;
22use console:: { style, Emoji } ;
33use indicatif:: ProgressBar ;
44use std:: fs;
5- use std:: process:: Command ;
65use toml:: Value ;
76
87pub fn verify ( start_at : Option < & str > ) -> Result < ( ) , ( ) > {
@@ -34,10 +33,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
3433 let progress_bar = ProgressBar :: new_spinner ( ) ;
3534 progress_bar. set_message ( format ! ( "Compiling {}..." , filename) . as_str ( ) ) ;
3635 progress_bar. enable_steady_tick ( 100 ) ;
37- let compilecmd = Command :: new ( "rustc" )
38- . args ( & [ filename, "-o" , "temp" , "--color" , "always" ] )
39- . output ( )
40- . expect ( "fail" ) ;
36+ let compilecmd = util:: compile_cmd ( filename) ;
4137 progress_bar. finish_and_clear ( ) ;
4238 if compilecmd. status . success ( ) {
4339 let formatstr = format ! (
@@ -46,7 +42,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
4642 filename
4743 ) ;
4844 println ! ( "{}" , style( formatstr) . green( ) ) ;
49- clean ( ) ;
45+ util :: clean ( ) ;
5046 Ok ( ( ) )
5147 } else {
5248 let formatstr = format ! (
@@ -56,7 +52,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
5652 ) ;
5753 println ! ( "{}" , style( formatstr) . red( ) ) ;
5854 println ! ( "{}" , String :: from_utf8_lossy( & compilecmd. stderr) ) ;
59- clean ( ) ;
55+ util :: clean ( ) ;
6056 Err ( ( ) )
6157 }
6258}
@@ -65,19 +61,16 @@ pub fn test(filename: &str) -> Result<(), ()> {
6561 let progress_bar = ProgressBar :: new_spinner ( ) ;
6662 progress_bar. set_message ( format ! ( "Testing {}..." , filename) . as_str ( ) ) ;
6763 progress_bar. enable_steady_tick ( 100 ) ;
68- let testcmd = Command :: new ( "rustc" )
69- . args ( & [ "--test" , filename, "-o" , "temp" , "--color" , "always" ] )
70- . output ( )
71- . expect ( "fail" ) ;
64+ let testcmd = util:: compile_test_cmd ( filename) ;
7265 if testcmd. status . success ( ) {
7366 progress_bar. set_message ( format ! ( "Running {}..." , filename) . as_str ( ) ) ;
74- let runcmd = Command :: new ( "./temp" ) . output ( ) . expect ( "fail" ) ;
67+ let runcmd = util :: run_cmd ( ) ;
7568 progress_bar. finish_and_clear ( ) ;
7669
7770 if runcmd. status . success ( ) {
7871 let formatstr = format ! ( "{} Successfully tested {}!" , Emoji ( "✅" , "✓" ) , filename) ;
7972 println ! ( "{}" , style( formatstr) . green( ) ) ;
80- clean ( ) ;
73+ util :: clean ( ) ;
8174 Ok ( ( ) )
8275 } else {
8376 let formatstr = format ! (
@@ -87,7 +80,7 @@ pub fn test(filename: &str) -> Result<(), ()> {
8780 ) ;
8881 println ! ( "{}" , style( formatstr) . red( ) ) ;
8982 println ! ( "{}" , String :: from_utf8_lossy( & runcmd. stdout) ) ;
90- clean ( ) ;
83+ util :: clean ( ) ;
9184 Err ( ( ) )
9285 }
9386 } else {
@@ -99,7 +92,7 @@ pub fn test(filename: &str) -> Result<(), ()> {
9992 ) ;
10093 println ! ( "{}" , style( formatstr) . red( ) ) ;
10194 println ! ( "{}" , String :: from_utf8_lossy( & testcmd. stderr) ) ;
102- clean ( ) ;
95+ util :: clean ( ) ;
10396 Err ( ( ) )
10497 }
10598}
0 commit comments