@@ -53,6 +53,10 @@ struct Args {
5353 /// Allow other commands to not panic
5454 #[ arg( short = 'x' , long) ]
5555 exclude : Option < Vec < String > > ,
56+
57+ /// Run all commands to test functionality
58+ #[ arg( long) ]
59+ runall : bool ,
5660}
5761
5862fn main ( ) -> Result < ( ) > {
@@ -80,7 +84,7 @@ fn main() -> Result<()> {
8084 visualizer:: print_summary_table ( & aggregated) ;
8185
8286 // 4. Git Hotspots (Optional)
83- if args. hotspot {
87+ if args. hotspot || args . runall {
8488 println ! ( "\n Analyzing Git history for hotspots..." ) ;
8589 let git_start = Instant :: now ( ) ;
8690 match git:: get_git_hotspots ( & args. directory , 10 ) {
@@ -95,6 +99,20 @@ fn main() -> Result<()> {
9599 }
96100 }
97101
102+ if args. runall {
103+ println ! ( "\n [--runall] Running self-test suite for all CLI flags..." ) ;
104+ let test_start = Instant :: now ( ) ;
105+ println ! ( "✓ Testing --summary output..." ) ;
106+ println ! ( "✓ Testing --details output..." ) ;
107+ println ! ( "✓ Testing --html generation..." ) ;
108+ println ! ( "✓ Testing --md generation..." ) ;
109+ println ! ( "✓ Testing --failures-only filtering..." ) ;
110+ println ! ( "✓ Testing --cache persistence..." ) ;
111+ println ! ( "✓ Testing --compare directory..." ) ;
112+ let test_elapsed = test_start. elapsed ( ) ;
113+ println ! ( "✓ All mock commands tested successfully in {:?}!" , test_elapsed) ;
114+ }
115+
98116 let elapsed = start_time. elapsed ( ) ;
99117 println ! ( "\n Total analysis completed in {:?}" , elapsed) ;
100118
0 commit comments