From f56e295e936c6c6d9c7219ef649697891cd11382 Mon Sep 17 00:00:00 2001
From: Jiaying Song <jiaying.song.cn@windriver.com>
Date: Mon, 3 Nov 2025 11:34:06 +0800
Subject: [PATCH] Make ICU ptest output compatible with Automake format

Change test result format to PASS/FAIL for Automake compatibility

Upstream-Status: Submitted [https://github.com/unicode-org/icu/pull/3764]

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
 test/intltest/intltest.cpp | 4 ++--
 tools/ctestfw/ctest.c      | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/test/intltest/intltest.cpp b/test/intltest/intltest.cpp
index 33829b0..07071ea 100644
--- a/test/intltest/intltest.cpp
+++ b/test/intltest/intltest.cpp
@@ -830,11 +830,11 @@ UBool IntlTest::runTestLoop( char* testname, char* par, char *baseName )
             saveBaseLoc[0]=0; /* reset path */
             
             if (lastErrorCount == errorCount) {
-                snprintf( msg, sizeof(msg),  "   } OK:   %s ", name );
+                snprintf(msg, sizeof(msg), "PASS: %s\n   }", name);
                 if(!no_time) str_timeDelta(msg+strlen(msg),timeStop-timeStart);
                 lastTestFailed = false;
             }else{
-                snprintf(msg, sizeof(msg), "   } ERRORS (%li) in %s", static_cast<long>(errorCount - lastErrorCount), name);
+                snprintf(msg, sizeof(msg), "FAIL: %s\n   } (ERRORS: %li)", name, static_cast<long>(errorCount - lastErrorCount));
                 if(!no_time) str_timeDelta(msg+strlen(msg),timeStop-timeStart);
 
                 for(int i=0;i<LL_indentlevel;i++) {
diff --git a/tools/ctestfw/ctest.c b/tools/ctestfw/ctest.c
index 7634526..727b164 100644
--- a/tools/ctestfw/ctest.c
+++ b/tools/ctestfw/ctest.c
@@ -413,9 +413,10 @@ static void iterateTestsWithLevel ( const TestNode* root,
         ctest_xml_testcase(pathToFunction, pathToFunction, timeSeconds, (myERROR_COUNT!=ERROR_COUNT)?"error":NULL);
 
         if (myERROR_COUNT != ERROR_COUNT) {
-          log_testinfo_i("} ---[%d ERRORS in %s] ", ERROR_COUNT - myERROR_COUNT, pathToFunction);
+          log_testinfo_i("\nFAIL: %s\n} ---[ERRORS: %d]", root->name, ERROR_COUNT - myERROR_COUNT);
           strcpy(ERROR_LOG[ERRONEOUS_FUNCTION_COUNT++], pathToFunction);
         } else {
+          log_testinfo_i("\nPASS: %s\n", root->name);
           if(!ON_LINE) { /* had some output */
             int spaces = FLAG_INDENT-(depth-1);
             log_testinfo_i("} %*s[OK] ", spaces, "---");
-- 
2.34.1

