@@ -936,6 +936,35 @@ int fossil_pizza_run_all(fossil_pizza_engine_t* engine) {
936936}
937937
938938// --- Summary Report ---
939+ const char * fossil_test_summary_feedback (const fossil_pizza_score_t * score ) {
940+ if (!score ) return "No results available." ;
941+
942+ static char message [256 ];
943+ int total = score -> passed + score -> failed + score -> skipped +
944+ score -> timeout + score -> unexpected + score -> empty ;
945+
946+ if (total == 0 ) return "No tests were run." ;
947+
948+ double pass_rate = (double )score -> passed / total * 100.0 ;
949+ double fail_ratio = (double )(score -> failed + score -> unexpected ) / total ;
950+
951+ if (pass_rate == 100.0 ) {
952+ snprintf (message , sizeof (message ), "Perfect run! All tests passed. Great job." );
953+ } else if (fail_ratio > 0.5 ) {
954+ snprintf (message , sizeof (message ), "High failure rate detected. Investigate the failing and unexpected tests." );
955+ } else if (score -> timeout > 0 ) {
956+ snprintf (message , sizeof (message ), "Some tests timed out. Check for infinite loops or delays." );
957+ } else if (score -> skipped > 0 ) {
958+ snprintf (message , sizeof (message ), "Some tests were skipped. Make sure all dependencies are in place." );
959+ } else if (score -> empty > 0 && score -> passed == 0 ) {
960+ snprintf (message , sizeof (message ), "All tests are empty or unimplemented." );
961+ } else {
962+ snprintf (message , sizeof (message ), "Test run completed. Review failures and improve reliability." );
963+ }
964+
965+ return message ;
966+ }
967+
939968void fossil_pizza_summary_timestamp (const fossil_pizza_engine_t * engine ) {
940969 if (!engine ) return ;
941970
@@ -1208,6 +1237,8 @@ void fossil_pizza_summary(const fossil_pizza_engine_t* engine) {
12081237 fossil_pizza_summary_heading (engine );
12091238 fossil_pizza_summary_scoreboard (engine );
12101239 fossil_pizza_summary_timestamp (engine );
1240+ const char * msg = fossil_test_summary_feedback (& engine -> score );
1241+ pizza_io_printf ("\n{bold}{blue}Feedback:{reset} %s\n" , msg );
12111242}
12121243
12131244// --- End / Cleanup ---
0 commit comments