@@ -28,6 +28,13 @@ pub fn main() {
28
28
. num_args ( 1 )
29
29
. action ( ArgAction :: Set ) ,
30
30
)
31
+ . arg (
32
+ Arg :: new ( "VERBOSE" )
33
+ . long ( "verbose" )
34
+ . num_args ( 0 )
35
+ . help ( "Prints additional information on stderr" )
36
+ . action ( ArgAction :: SetTrue ) ,
37
+ )
31
38
. arg (
32
39
Arg :: new ( "WASM" )
33
40
. help ( "Wasm file to read and compile" )
@@ -54,7 +61,7 @@ pub fn main() {
54
61
55
62
let ( passes, failures) : ( Vec < _ > , _ ) = paths
56
63
. map ( |p| {
57
- let result = check_contract ( p, & available_capabilities) ;
64
+ let result = check_contract ( p, & available_capabilities, matches . get_flag ( "VERBOSE" ) ) ;
58
65
match & result {
59
66
Ok ( _) => println ! ( "{}: {}" , p, "pass" . green( ) ) ,
60
67
Err ( e) => {
@@ -88,14 +95,15 @@ pub fn main() {
88
95
fn check_contract (
89
96
path : impl AsRef < Path > ,
90
97
available_capabilities : & HashSet < String > ,
98
+ verbose : bool ,
91
99
) -> anyhow:: Result < ( ) > {
92
100
let mut file = File :: open ( path) ?;
93
101
94
102
// Read wasm
95
103
let mut wasm = Vec :: < u8 > :: new ( ) ;
96
104
file. read_to_end ( & mut wasm) ?;
97
105
98
- let mut logs = Logs :: new ( ) ;
106
+ let mut logs = if verbose { Logs :: new ( ) } else { Logs :: Off } ;
99
107
// Check wasm
100
108
let res = check_wasm_with_logs ( & wasm, available_capabilities, & mut logs) ;
101
109
for line in logs {
0 commit comments