1
- use crate :: util:: clean ;
1
+ use crate :: util;
2
2
use console:: { style, Emoji } ;
3
3
use indicatif:: ProgressBar ;
4
4
use std:: fs;
5
- use std:: process:: Command ;
6
5
use toml:: Value ;
7
6
8
7
pub fn verify ( start_at : Option < & str > ) -> Result < ( ) , ( ) > {
@@ -34,10 +33,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
34
33
let progress_bar = ProgressBar :: new_spinner ( ) ;
35
34
progress_bar. set_message ( format ! ( "Compiling {}..." , filename) . as_str ( ) ) ;
36
35
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) ;
41
37
progress_bar. finish_and_clear ( ) ;
42
38
if compilecmd. status . success ( ) {
43
39
let formatstr = format ! (
@@ -46,7 +42,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
46
42
filename
47
43
) ;
48
44
println ! ( "{}" , style( formatstr) . green( ) ) ;
49
- clean ( ) ;
45
+ util :: clean ( ) ;
50
46
Ok ( ( ) )
51
47
} else {
52
48
let formatstr = format ! (
@@ -56,7 +52,7 @@ fn compile_only(filename: &str) -> Result<(), ()> {
56
52
) ;
57
53
println ! ( "{}" , style( formatstr) . red( ) ) ;
58
54
println ! ( "{}" , String :: from_utf8_lossy( & compilecmd. stderr) ) ;
59
- clean ( ) ;
55
+ util :: clean ( ) ;
60
56
Err ( ( ) )
61
57
}
62
58
}
@@ -65,19 +61,16 @@ pub fn test(filename: &str) -> Result<(), ()> {
65
61
let progress_bar = ProgressBar :: new_spinner ( ) ;
66
62
progress_bar. set_message ( format ! ( "Testing {}..." , filename) . as_str ( ) ) ;
67
63
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) ;
72
65
if testcmd. status . success ( ) {
73
66
progress_bar. set_message ( format ! ( "Running {}..." , filename) . as_str ( ) ) ;
74
- let runcmd = Command :: new ( "./temp" ) . output ( ) . expect ( "fail" ) ;
67
+ let runcmd = util :: run_cmd ( ) ;
75
68
progress_bar. finish_and_clear ( ) ;
76
69
77
70
if runcmd. status . success ( ) {
78
71
let formatstr = format ! ( "{} Successfully tested {}!" , Emoji ( "✅" , "✓" ) , filename) ;
79
72
println ! ( "{}" , style( formatstr) . green( ) ) ;
80
- clean ( ) ;
73
+ util :: clean ( ) ;
81
74
Ok ( ( ) )
82
75
} else {
83
76
let formatstr = format ! (
@@ -87,7 +80,7 @@ pub fn test(filename: &str) -> Result<(), ()> {
87
80
) ;
88
81
println ! ( "{}" , style( formatstr) . red( ) ) ;
89
82
println ! ( "{}" , String :: from_utf8_lossy( & runcmd. stdout) ) ;
90
- clean ( ) ;
83
+ util :: clean ( ) ;
91
84
Err ( ( ) )
92
85
}
93
86
} else {
@@ -99,7 +92,7 @@ pub fn test(filename: &str) -> Result<(), ()> {
99
92
) ;
100
93
println ! ( "{}" , style( formatstr) . red( ) ) ;
101
94
println ! ( "{}" , String :: from_utf8_lossy( & testcmd. stderr) ) ;
102
- clean ( ) ;
95
+ util :: clean ( ) ;
103
96
Err ( ( ) )
104
97
}
105
98
}
0 commit comments