diff --git a/icu4c/source/test/intltest/allcoll.cpp b/icu4c/source/test/intltest/allcoll.cpp index f7518f03078..ff95d87d4bf 100644 --- a/icu4c/source/test/intltest/allcoll.cpp +++ b/icu4c/source/test/intltest/allcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2004, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -35,7 +35,7 @@ CollationDummyTest::CollationDummyTest() } myCollation = new RuleBasedCollator(ruleset, status); if(U_FAILURE(status)){ - errln("ERROR: in creation of rule based collator from ruleset"); + errcheckln(status, "ERROR: in creation of rule based collator from ruleset - %s", u_errorName(status)); delete myCollation; myCollation = 0; } @@ -204,7 +204,7 @@ void CollationDummyTest::runIndexedTest( int32_t index, UBool exec, const char* default: name = ""; break; } } else { - errln("Collator couldn't be instantiated!"); + dataerrln("Collator couldn't be instantiated!"); name = ""; } } diff --git a/icu4c/source/test/intltest/apicoll.cpp b/icu4c/source/test/intltest/apicoll.cpp index f54564490a8..4527705349c 100644 --- a/icu4c/source/test/intltest/apicoll.cpp +++ b/icu4c/source/test/intltest/apicoll.cpp @@ -114,7 +114,7 @@ CollationAPITest::TestProperty(/* char* par */) if (U_FAILURE(success)) { - errln("Default Collator creation failed."); + errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success)); return; } @@ -286,7 +286,7 @@ CollationAPITest::TestRuleBasedColl() col1 = new RuleBasedCollator(ruleset1, status); if (U_FAILURE(status)) { - errln("RuleBased Collator creation failed.\n"); + errcheckln(status, "RuleBased Collator creation failed. - %s", u_errorName(status)); return; } else { @@ -367,7 +367,7 @@ CollationAPITest::TestRules() coll = (RuleBasedCollator *)Collator::createInstance(Locale::getEnglish(), status); if (U_FAILURE(status)) { - errln("English Collator creation failed.\n"); + errcheckln(status, "English Collator creation failed. - %s", u_errorName(status)); return; } else { @@ -394,7 +394,7 @@ CollationAPITest::TestDecomposition() { *vi_VN = Collator::createInstance("vi_VN", status); if (U_FAILURE(status)) { - errln("ERROR: collation creation failed.\n"); + errcheckln(status, "ERROR: collation creation failed. - %s", u_errorName(status)); return; } @@ -435,7 +435,7 @@ CollationAPITest::TestSafeClone() { someCollators[1] = Collator::createInstance("ko", err); someCollators[2] = Collator::createInstance("ja_JP", err); if(U_FAILURE(err)) { - errln("Couldn't instantiate collators. Error: %s", u_errorName(err)); + errcheckln(err, "Couldn't instantiate collators. Error: %s", u_errorName(err)); delete someCollators[0]; delete someCollators[1]; delete someCollators[2]; @@ -472,7 +472,7 @@ CollationAPITest::TestHashCode(/* char* par */) col1 = Collator::createInstance(Locale::getEnglish(), success); if (U_FAILURE(success)) { - errln("Default collation creation failed."); + errcheckln(success, "Default collation creation failed. - %s", u_errorName(success)); return; } @@ -531,7 +531,7 @@ CollationAPITest::TestCollationKey(/* char* par */) col = Collator::createInstance(Locale::getEnglish(), success); if (U_FAILURE(success)) { - errln("Default collation creation failed."); + errcheckln(success, "Default collation creation failed. - %s", u_errorName(success)); return; } col->setStrength(Collator::TERTIARY); @@ -654,7 +654,7 @@ CollationAPITest::TestElemIter(/* char* par */) col = Collator::createInstance(Locale::getEnglish(), success); if (U_FAILURE(success)) { - errln("Default collation creation failed."); + errcheckln(success, "Default collation creation failed. - %s", u_errorName(success)); return; } @@ -847,7 +847,7 @@ CollationAPITest::TestOperators(/* char* par */) UnicodeString ruleset2("< a, A < b, B < c, C < d, D, e, E"); RuleBasedCollator *col1 = new RuleBasedCollator(ruleset1, success); if (U_FAILURE(success)) { - errln("RuleBasedCollator creation failed."); + errcheckln(success, "RuleBasedCollator creation failed. - %s", u_errorName(success)); return; } success = U_ZERO_ERROR; @@ -979,7 +979,7 @@ CollationAPITest::TestCompare(/* char* par */) UErrorCode success = U_ZERO_ERROR; col = Collator::createInstance(Locale::getEnglish(), success); if (U_FAILURE(success)) { - errln("Default collation creation failed."); + errcheckln(success, "Default collation creation failed. - %s", u_errorName(success)); return; } UnicodeString test1("Abcda"), test2("abcda"); @@ -1048,7 +1048,7 @@ CollationAPITest::TestGetAll(/* char* par */) } if (count1 == 0 || list == NULL) { - errln("getAvailableLocales(int&) returned an empty list"); + dataerrln("getAvailableLocales(int&) returned an empty list"); } logln("Trying Collator::getAvailableLocales()"); @@ -1058,7 +1058,7 @@ CollationAPITest::TestGetAll(/* char* par */) count2 = 0; if (localeEnum == NULL) { - errln("getAvailableLocales() returned NULL"); + dataerrln("getAvailableLocales() returned NULL"); return; } @@ -1101,7 +1101,7 @@ void CollationAPITest::TestSortKey() */ Collator *col = Collator::createInstance(Locale::getEnglish(), status); if (U_FAILURE(status)) { - errln("ERROR: Default collation creation failed.: %s\n", u_errorName(status)); + errcheckln(status, "ERROR: Default collation creation failed.: %s\n", u_errorName(status)); return; } @@ -1309,7 +1309,7 @@ void CollationAPITest::TestMaxExpansion() UnicodeString rule("&a < ab < c/aba < d < z < ch"); RuleBasedCollator coll(rule, status); if(U_FAILURE(status)) { - errln("Collator creation failed with error %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with error %s", u_errorName(status)); return; } UnicodeString str(ch); @@ -1418,7 +1418,7 @@ void CollationAPITest::TestDisplayName() UErrorCode error = U_ZERO_ERROR; Collator *coll = Collator::createInstance("en_US", error); if (U_FAILURE(error)) { - errln("Failure creating english collator"); + errcheckln(error, "Failure creating english collator - %s", u_errorName(error)); return; } UnicodeString name; @@ -1443,7 +1443,7 @@ void CollationAPITest::TestAttribute() Collator *coll = Collator::createInstance(error); if (U_FAILURE(error)) { - errln("Creation of default collator failed"); + errcheckln(error, "Creation of default collator failed - %s", u_errorName(error)); return; } @@ -1548,7 +1548,7 @@ void CollationAPITest::TestVariableTopSetting() { Collator *coll = Collator::createInstance(status); if(U_FAILURE(status)) { delete coll; - errln("Collator creation failed with error %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with error %s", u_errorName(status)); return; } @@ -1688,7 +1688,7 @@ void CollationAPITest::TestBounds(void) { Collator *coll = Collator::createInstance(Locale("sh"), status); if(U_FAILURE(status)) { delete coll; - errln("Collator creation failed with %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with %s", u_errorName(status)); return; } @@ -1849,7 +1849,7 @@ void CollationAPITest::TestGetTailoredSet() } delete set; } else { - errln("Couldn't open collator with rules %s\n", setTest[i].rules); + errcheckln(status, "Couldn't open collator with rules %s - %s", setTest[i].rules, u_errorName(status)); } delete coll; } @@ -1866,7 +1866,7 @@ void CollationAPITest::TestUClassID() = (RuleBasedCollator *)Collator::createInstance(status); if(U_FAILURE(status)) { delete coll; - errln("Collator creation failed with %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with %s", u_errorName(status)); return; } id = *((char *)coll->getDynamicClassID()); @@ -2242,7 +2242,9 @@ void CollationAPITest::TestNULLCharTailoring() UnicodeString second((UChar)0); RuleBasedCollator *coll = new RuleBasedCollator(UnicodeString(buf, len), status); if(U_FAILURE(status)) { - errln("Failed to open collator"); + delete coll; + errcheckln(status, "Failed to open collator - %s", u_errorName(status)); + return; } UCollationResult res = coll->compare(first, second, status); if(res != UCOL_LESS) { @@ -2257,7 +2259,7 @@ void CollationAPITest::TestClone() { RuleBasedCollator* c0 = (RuleBasedCollator*)Collator::createInstance(status); if (U_FAILURE(status)) { - errln("Collator::CreateInstance(status) failed with %s", u_errorName(status)); + errcheckln(status, "Collator::CreateInstance(status) failed with %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/astrotst.cpp b/icu4c/source/test/intltest/astrotst.cpp index 594eec5420b..630019be579 100644 --- a/icu4c/source/test/intltest/astrotst.cpp +++ b/icu4c/source/test/intltest/astrotst.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1996-2008, International Business Machines Corporation and + * Copyright (c) 1996-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -50,7 +50,7 @@ void AstroTest::initAstro(UErrorCode &status) { if(U_FAILURE(status)) return; if((astro != NULL) || (gc != NULL)) { - errln("Err: initAstro() called twice!"); + dataerrln("Err: initAstro() called twice!"); closeAstro(status); if(U_SUCCESS(status)) { status = U_INTERNAL_PROGRAM_ERROR; @@ -279,7 +279,7 @@ void AstroTest::TestSunriseTimes(void) { DateFormat *df_d = DateFormat::createDateInstance(DateFormat::MEDIUM,Locale::getUS()); DateFormat *df_dt = DateFormat::createDateTimeInstance(DateFormat::MEDIUM, DateFormat::MEDIUM, Locale::getUS()); if(!df_t || !df_d || !df_dt) { - errln("couldn't create dateformats."); + dataerrln("couldn't create dateformats."); return; } df_t->adoptTimeZone(tz->clone()); @@ -373,7 +373,10 @@ void AstroTest::TestSunriseTimes(void) { void AstroTest::TestBasics(void) { UErrorCode status = U_ZERO_ERROR; initAstro(status); - ASSERT_OK(status); + if (U_FAILURE(status)) { + dataerrln("Got error: %s", u_errorName(status)); + return; + } // Check that our JD computation is the same as the book's (p. 88) GregorianCalendar *cal3 = new GregorianCalendar(TimeZone::getGMT()->clone(), Locale::getUS(), status); diff --git a/icu4c/source/test/intltest/calregts.cpp b/icu4c/source/test/intltest/calregts.cpp index c4630b74358..108a8043fd5 100644 --- a/icu4c/source/test/intltest/calregts.cpp +++ b/icu4c/source/test/intltest/calregts.cpp @@ -113,7 +113,7 @@ UBool CalendarRegressionTest::failure(UErrorCode status, const char* msg) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + errcheckln(status, UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); return TRUE; } @@ -435,7 +435,7 @@ void CalendarRegressionTest::test4061476() Calendar *cal = Calendar::createInstance(TimeZone::createTimeZone("GMT"), Locale::getUK(),status); if(U_FAILURE(status)) { - errln("Error creating Calendar: %s", u_errorName(status)); + errcheckln(status, "Error creating Calendar: %s", u_errorName(status)); delete cal; delete fmt; return; @@ -466,7 +466,7 @@ void CalendarRegressionTest::test4070502() UErrorCode status = U_ZERO_ERROR; Calendar *cal = new GregorianCalendar(status); if(status == U_USING_FALLBACK_WARNING) { - errln("Error creating Calendar: %s", u_errorName(status)); + dataerrln("Error creating Calendar: %s", u_errorName(status)); delete cal; return; } @@ -706,7 +706,7 @@ void CalendarRegressionTest::test4086724() date = new SimpleDateFormat(UnicodeString("dd MMM yyy (zzzz) 'is in week' ww"),status); Calendar *cal = Calendar::createInstance(status); if(U_FAILURE(status)) { - errln("Error creating Calendar: %s", u_errorName(status)); + errcheckln(status, "Error creating Calendar: %s", u_errorName(status)); delete cal; delete newZone; delete date; @@ -910,7 +910,7 @@ void CalendarRegressionTest::test4103271() UnicodeString output, testDesc, str, str2; GregorianCalendar *testCal = (GregorianCalendar*)Calendar::createInstance(status); if(U_FAILURE(status)) { - errln("Error creating calendar: %s", u_errorName(status)); + errcheckln(status, "Error creating calendar: %s", u_errorName(status)); delete testCal; return; } @@ -1171,7 +1171,7 @@ void CalendarRegressionTest::test4106136() for (int32_t j=0; j<3; ++j) { UnicodeString temp; if (n[j] == 0) - errln(UnicodeString("Fail: No locales for ") + locales[i].getName()); + dataerrln(UnicodeString("Fail: No locales for ") + locales[i].getName()); } } //} @@ -1488,7 +1488,7 @@ void CalendarRegressionTest::test4145158() UErrorCode status = U_ZERO_ERROR; GregorianCalendar *calendar = new GregorianCalendar(status); if(status == U_USING_FALLBACK_WARNING || U_FAILURE(status)) { - errln("Error creating calendar %s", u_errorName(status)); + dataerrln("Error creating calendar %s", u_errorName(status)); delete calendar; return; } @@ -1558,7 +1558,7 @@ void CalendarRegressionTest::test4147269() UErrorCode status = U_ZERO_ERROR; GregorianCalendar *calendar = new GregorianCalendar(status); if(status == U_USING_FALLBACK_WARNING || U_FAILURE(status)) { - errln("Error creating calendar %s", u_errorName(status)); + dataerrln("Error creating calendar %s", u_errorName(status)); delete calendar; return; } @@ -1815,7 +1815,7 @@ CalendarRegressionTest::Test4167060() DateFormat *format = new SimpleDateFormat(UnicodeString("EEE MMM dd HH:mm:ss zzz yyyy G"), Locale::getUS(), status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat"); + errcheckln(status, "Couldn't create SimpleDateFormat - %s", u_errorName(status)); return; } @@ -1906,7 +1906,7 @@ void CalendarRegressionTest::Test4197699() { Locale::getUS(), status); fmt.setCalendar(cal); if (U_FAILURE(status)) { - errln("Couldn't initialize test"); + errcheckln(status, "Couldn't initialize test - %s", u_errorName(status)); return; } @@ -1968,7 +1968,7 @@ void CalendarRegressionTest::TestJ81() { GregorianCalendar cal(TimeZone::createTimeZone("GMT"), Locale::getUS(), status); SimpleDateFormat fmt("HH:mm 'w'w 'd'D E d MMM yyyy", Locale::getUS(), status); if (U_FAILURE(status)) { - errln("Error: Cannot create calendar or format"); + errcheckln(status, "Error: Cannot create calendar or format - %s", u_errorName(status)); return; } fmt.setCalendar(cal); @@ -2184,7 +2184,7 @@ void CalendarRegressionTest::TestJ438(void) { int32_t DATA_length = (int32_t)(sizeof(DATA)/sizeof(DATA[0])); Calendar* pcal = Calendar::createInstance(Locale::getUS(), ec); if(U_FAILURE(ec)) { - errln("Error creating calendar %s", u_errorName(ec)); + errcheckln(ec, "Error creating calendar %s", u_errorName(ec)); delete pcal; return; } @@ -2605,7 +2605,7 @@ void CalendarRegressionTest::TestTimeZoneTransitionAdd() { } if (U_FAILURE(ec)) { - errln("FAIL: %s", u_errorName(ec)); + errcheckln(ec, "FAIL: %s", u_errorName(ec)); } delete tz; diff --git a/icu4c/source/test/intltest/caltest.cpp b/icu4c/source/test/intltest/caltest.cpp index 51f67b9f4c6..29ffae5e5da 100644 --- a/icu4c/source/test/intltest/caltest.cpp +++ b/icu4c/source/test/intltest/caltest.cpp @@ -408,7 +408,7 @@ CalendarTest::TestGenericAPI() const Locale* loc = Calendar::getAvailableLocales(count); if (count < 1 || loc == 0) { - errln("FAIL: getAvailableLocales failed"); + dataerrln("FAIL: getAvailableLocales failed"); } else { @@ -1112,7 +1112,11 @@ CalendarTest::TestSecondsZero121() if (U_FAILURE(status)) { errln("Calendar::getTime failed"); return; } UnicodeString s; dateToString(d, s); - if (s.indexOf(":00 ") < 0) errln("Expected to see :00 in " + s); + if (s.indexOf("DATE_FORMAT_FAILURE") >= 0) { + dataerrln("Got: \"DATE_FORMAT_FAILURE\"."); + } else if (s.indexOf(":00 ") < 0) { + errln("Expected to see :00 in " + s); + } delete cal; } @@ -1309,7 +1313,7 @@ CalendarTest::TestDOW_LOCALandYEAR_WOY() Calendar *cal=Calendar::createInstance(Locale::getGermany(), status); if (U_FAILURE(status)) { errln("Couldn't create GregorianCalendar"); return; } SimpleDateFormat *sdf=new SimpleDateFormat(UnicodeString("YYYY'-W'ww-ee"), Locale::getGermany(), status); - if (U_FAILURE(status)) { errln("Couldn't create SimpleDateFormat"); return; } + if (U_FAILURE(status)) { errcheckln(status, "Couldn't create SimpleDateFormat - %s", u_errorName(status)); return; } // ICU no longer use localized date-time pattern characters by default. // So we set pattern chars using 'J' instead of 'Y'. @@ -1548,7 +1552,7 @@ CalendarTest::marchByDelta(Calendar* cal, int32_t delta) #define CHECK(status, msg) \ if (U_FAILURE(status)) { \ - errln(msg); \ + errcheckln(status, msg); \ return; \ } diff --git a/icu4c/source/test/intltest/caltztst.cpp b/icu4c/source/test/intltest/caltztst.cpp index 3d50ce954c2..0c4e23439c5 100644 --- a/icu4c/source/test/intltest/caltztst.cpp +++ b/icu4c/source/test/intltest/caltztst.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ /* @@ -24,11 +24,15 @@ DateFormat* CalendarTimeZoneTest::fgDateFormat = 0; Calendar* CalendarTimeZoneTest::fgCalendar = 0; -UBool CalendarTimeZoneTest::failure(UErrorCode status, const char* msg) +UBool CalendarTimeZoneTest::failure(UErrorCode status, const char* msg, UBool possibleDataError) { if (U_FAILURE(status)) { - errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } else { + errcheckln(status, UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } return TRUE; } return FALSE; @@ -57,7 +61,7 @@ DateFormat* CalendarTimeZoneTest::getDateFormat() { delete theFormat; theFormat = 0; - errln("FAIL: Could not create SimpleDateFormat"); + errcheckln(status, "FAIL: Could not create SimpleDateFormat - %s", u_errorName(status)); } } diff --git a/icu4c/source/test/intltest/caltztst.h b/icu4c/source/test/intltest/caltztst.h index 60e8447d184..0c5a2b8ddb6 100644 --- a/icu4c/source/test/intltest/caltztst.h +++ b/icu4c/source/test/intltest/caltztst.h @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -27,7 +27,7 @@ public: protected: // Return true if the given status indicates failure. Also has the side effect // of calling errln(). Msg should be of the form "Class::Method" in general. - UBool failure(UErrorCode status, const char* msg); + UBool failure(UErrorCode status, const char* msg, UBool possibleDataError=FALSE); // Utility method for formatting dates for printing; useful for Java->C++ conversion. // Tries to mimic the Java Date.toString() format. diff --git a/icu4c/source/test/intltest/convtest.cpp b/icu4c/source/test/intltest/convtest.cpp index bc2c8cf1e4c..2dbc2524643 100644 --- a/icu4c/source/test/intltest/convtest.cpp +++ b/icu4c/source/test/intltest/convtest.cpp @@ -1,7 +1,7 @@ /* ******************************************************************************* * -* Copyright (C) 2003-2008, International Business Machines +* Copyright (C) 2003-2009, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -185,7 +185,7 @@ ConversionTest::TestToUnicode() { delete dataModule; } else { - dataerrln("[DATA] Could not load test conversion data"); + dataerrln("Could not load test conversion data"); } } @@ -338,7 +338,7 @@ ConversionTest::TestFromUnicode() { delete dataModule; } else { - dataerrln("[DATA] Could not load test conversion data"); + dataerrln("Could not load test conversion data"); } } @@ -417,7 +417,7 @@ ConversionTest::TestGetUnicodeSet() { cnv=cnv_open(charset, errorCode); if(U_FAILURE(errorCode)) { - errln("error opening \"%s\" for conversion/getUnicodeSet test case %d - %s", + errcheckln(errorCode, "error opening \"%s\" for conversion/getUnicodeSet test case %d - %s", charset, i, u_errorName(errorCode)); errorCode=U_ZERO_ERROR; continue; @@ -462,7 +462,7 @@ ConversionTest::TestGetUnicodeSet() { delete dataModule; } else { - dataerrln("[DATA] Could not load test conversion data"); + dataerrln("Could not load test conversion data"); } } @@ -551,7 +551,7 @@ ConversionTest::TestGetUnicodeSet2() { UErrorCode errorCode=U_ZERO_ERROR; UConverter *cnv=cnv_open(cnvNames[i], errorCode); if(U_FAILURE(errorCode)) { - errln("failed to open converter %s - %s", cnvNames[i], u_errorName(errorCode)); + errcheckln(errorCode, "failed to open converter %s - %s", cnvNames[i], u_errorName(errorCode)); continue; } UnicodeSet expected; @@ -945,7 +945,7 @@ ConversionTest::ToUnicodeCase(ConversionCase &cc, UConverterToUCallback callback errorCode=U_ZERO_ERROR; cnv=cnv_open(cc.charset, errorCode); if(U_FAILURE(errorCode)) { - errln("toUnicode[%d](%s cb=\"%s\" fb=%d flush=%d) ucnv_open() failed - %s", + errcheckln(errorCode, "toUnicode[%d](%s cb=\"%s\" fb=%d flush=%d) ucnv_open() failed - %s", cc.caseNr, cc.charset, cc.cbopt, cc.fallbacks, cc.finalFlush, u_errorName(errorCode)); return FALSE; } @@ -1352,7 +1352,7 @@ ConversionTest::FromUnicodeCase(ConversionCase &cc, UConverterFromUCallback call errorCode=U_ZERO_ERROR; cnv=cnv_open(cc.charset, errorCode); if(U_FAILURE(errorCode)) { - errln("fromUnicode[%d](%s cb=\"%s\" fb=%d flush=%d) ucnv_open() failed - %s", + errcheckln(errorCode, "fromUnicode[%d](%s cb=\"%s\" fb=%d flush=%d) ucnv_open() failed - %s", cc.caseNr, cc.charset, cc.cbopt, cc.fallbacks, cc.finalFlush, u_errorName(errorCode)); return FALSE; } diff --git a/icu4c/source/test/intltest/cpdtrtst.cpp b/icu4c/source/test/intltest/cpdtrtst.cpp index d02ceed97be..d6341d7f3e1 100644 --- a/icu4c/source/test/intltest/cpdtrtst.cpp +++ b/icu4c/source/test/intltest/cpdtrtst.cpp @@ -1,6 +1,6 @@ /*************************************************************************** * -* Copyright (C) 2000-2005, International Business Machines +* Copyright (C) 2000-2009, International Business Machines * Corporation and others. All Rights Reserved. * ************************************************************************ @@ -46,7 +46,7 @@ void CompoundTransliteratorTest::TestConstruction(){ Transliterator* t3=Transliterator::createInstance(names[2], UTRANS_FORWARD, parseError, status); Transliterator* t4=Transliterator::createInstance(names[3], UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)){ - errln("Transliterator construction failed"); + dataerrln("Transliterator construction failed - %s", u_errorName(status)); return; } @@ -117,7 +117,7 @@ void CompoundTransliteratorTest::TestCloneEqual(){ UParseError parseError; CompoundTransliterator *ct1=new CompoundTransliterator("Greek-Latin;Latin-Devanagari",parseError,status); if(U_FAILURE(status)){ - errln("construction failed"); + dataerrln("construction failed - %s", u_errorName(status)); delete ct1; return; } @@ -194,7 +194,7 @@ void CompoundTransliteratorTest::TestGetCount(){ CompoundTransliterator *ct2=new CompoundTransliterator("Any-Hex;Hex-Any;Cyrillic-Latin;Latin-Cyrillic", parseError, status); CompoundTransliterator *ct3=(CompoundTransliterator*)ct1; if (U_FAILURE(status)) { - errln("FAILED: CompoundTransliterator constructor failed"); + dataerrln("FAILED: CompoundTransliterator constructor failed - %s", u_errorName(status)); return; } CompoundTransliterator *ct4=new CompoundTransliterator("Latin-Devanagari", parseError, status); @@ -241,7 +241,7 @@ void CompoundTransliteratorTest::TestGetSetAdoptTransliterator(){ UParseError parseError; CompoundTransliterator *ct1=new CompoundTransliterator(ID, parseError, status); if(U_FAILURE(status)){ - errln("CompoundTransliterator construction failed"); + dataerrln("CompoundTransliterator construction failed - %s", u_errorName(status)); return; } int32_t count=ct1->getCount(); @@ -390,7 +390,7 @@ void CompoundTransliteratorTest::TestTransliterate(){ CompoundTransliterator *ct2=new CompoundTransliterator(Data[i+0], parseError, status); if(U_FAILURE(status)){ - errln("CompoundTransliterator construction failed for " + Data[i+0]); + dataerrln("CompoundTransliterator construction failed for " + Data[i+0] + " - " + u_errorName(status)); } else { expect(*ct2, Data[i+1], Data[i+2]); } diff --git a/icu4c/source/test/intltest/csdetest.cpp b/icu4c/source/test/intltest/csdetest.cpp index a16e9a6fbfc..57060f5971b 100644 --- a/icu4c/source/test/intltest/csdetest.cpp +++ b/icu4c/source/test/intltest/csdetest.cpp @@ -452,7 +452,7 @@ void CharsetDetectionTest::C1BytesTest() match = ucsdet_detect(csd, &status); if (match == NULL) { - errln("English test with C1 bytes got no matches."); + errcheckln(status, "English test with C1 bytes got no matches. - %s", u_errorName(status)); goto bail; } @@ -496,7 +496,11 @@ void CharsetDetectionTest::DetectionTest() } UXMLParser *parser = UXMLParser::createParser(status); - if (!assertSuccess("UXMLParser::createParser",status)) return; + if (U_FAILURE(status)) { + dataerrln("FAIL: UXMLParser::createParser (%s)", u_errorName(status)); + return; + } + UXMLElement *root = parser->parseFile(testFilePath, status); if (!assertSuccess( "parseFile",status)) return; @@ -582,6 +586,9 @@ void CharsetDetectionTest::IBM424Test() char *bytes_r = extractBytes(s2, "IBM424", brLength); UCharsetDetector *csd = ucsdet_open(&status); + if (U_FAILURE(status)) { + errln("Error opening charset detector. - %s", u_errorName(status)); + } const UCharsetMatch *match; const char *name; @@ -589,26 +596,26 @@ void CharsetDetectionTest::IBM424Test() match = ucsdet_detect(csd, &status); if (match == NULL) { - errln("Encoding detection failure for IBM424_rtl: got no matches.\n"); + errcheckln(status, "Encoding detection failure for IBM424_rtl: got no matches. - %s", u_errorName(status)); goto bail; } name = ucsdet_getName(match, &status); if (strcmp(name, "IBM424_rtl") != 0) { - errln("Encoding detection failure for IBM424_rtl: got %s\n", name); + errln("Encoding detection failure for IBM424_rtl: got %s", name); } ucsdet_setText(csd, bytes_r, brLength, &status); match = ucsdet_detect(csd, &status); if (match == NULL) { - errln("Encoding detection failure for IBM424_ltr: got no matches.\n"); + errln("Encoding detection failure for IBM424_ltr: got no matches."); goto bail; } name = ucsdet_getName(match, &status); if (strcmp(name, "IBM424_ltr") != 0) { - errln("Encoding detection failure for IBM424_ltr: got %s\n", name); + errln("Encoding detection failure for IBM424_ltr: got %s", name); } bail: @@ -663,6 +670,9 @@ void CharsetDetectionTest::IBM420Test() char *bytes_r = extractBytes(s2, "IBM420", brLength); UCharsetDetector *csd = ucsdet_open(&status); + if (U_FAILURE(status)) { + errln("Error opening charset detector. - %s", u_errorName(status)); + } const UCharsetMatch *match; const char *name; @@ -670,7 +680,7 @@ void CharsetDetectionTest::IBM420Test() match = ucsdet_detect(csd, &status); if (match == NULL) { - errln("Encoding detection failure for IBM420_rtl: got no matches.\n"); + errcheckln(status, "Encoding detection failure for IBM420_rtl: got no matches. - %s", u_errorName(status)); goto bail; } diff --git a/icu4c/source/test/intltest/currcoll.cpp b/icu4c/source/test/intltest/currcoll.cpp index df5a15f8fda..1a9a3eb91d0 100644 --- a/icu4c/source/test/intltest/currcoll.cpp +++ b/icu4c/source/test/intltest/currcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -85,7 +85,7 @@ void CollationCurrencyTest::currencyTest(/*char *par*/) if (U_FAILURE(status)) { - errln ("Collator::createInstance() failed!"); + errcheckln (status, "Collator::createInstance() failed! - %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/dadrcal.cpp b/icu4c/source/test/intltest/dadrcal.cpp index 612c4b77e3a..e096d929320 100644 --- a/icu4c/source/test/intltest/dadrcal.cpp +++ b/icu4c/source/test/intltest/dadrcal.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -62,7 +62,7 @@ void DataDrivenCalendarTest::runIndexedTest(int32_t index, UBool exec, name = ""; } } else { - dataerrln("[DATA] format/DataDriven*Test data (calendar.res) not initialized!"); + dataerrln("format/DataDriven*Test data (calendar.res) not initialized!"); name = ""; } @@ -88,7 +88,7 @@ void DataDrivenCalendarTest::testOps(TestData *testData, SimpleDateFormat fmt(UnicodeString("EEE MMM dd yyyy / YYYY'-W'ww-ee"), status); if (U_FAILURE(status)) { - errln("FAIL: Couldn't create SimpleDateFormat: %s\n", + errcheckln(status, "FAIL: Couldn't create SimpleDateFormat: %s", u_errorName(status)); return; } @@ -383,7 +383,7 @@ void DataDrivenCalendarTest::testConvert(TestData *testData, SimpleDateFormat fmt(UnicodeString("EEE MMM dd yyyy / YYYY'-W'ww-ee"), status); if (U_FAILURE(status)) { - errln("FAIL: Couldn't create SimpleDateFormat: %s\n", + errcheckln(status, "FAIL: Couldn't create SimpleDateFormat: %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/dadrcoll.cpp b/icu4c/source/test/intltest/dadrcoll.cpp index f37abedd4f4..390e0ff9d78 100644 --- a/icu4c/source/test/intltest/dadrcoll.cpp +++ b/icu4c/source/test/intltest/dadrcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -73,7 +73,7 @@ void DataDrivenCollatorTest::runIndexedTest( int32_t index, UBool exec, const ch name = ""; } } else { - dataerrln("[DATA] collate/DataDrivenTest data not initialized!"); + dataerrln("collate/DataDrivenTest data not initialized!"); name = ""; } diff --git a/icu4c/source/test/intltest/dadrfmt.cpp b/icu4c/source/test/intltest/dadrfmt.cpp index 191057ea133..355d1e95967 100644 --- a/icu4c/source/test/intltest/dadrfmt.cpp +++ b/icu4c/source/test/intltest/dadrfmt.cpp @@ -64,7 +64,7 @@ void DataDrivenFormatTest::runIndexedTest(int32_t index, UBool exec, name = ""; } } else { - dataerrln("[DATA] format/DataDriven*Test data (format.res) not initialized!"); + dataerrln("format/DataDriven*Test data (format.res) not initialized!"); name = ""; } @@ -99,7 +99,7 @@ void DataDrivenFormatTest::testConvertDate(TestData *testData, SimpleDateFormat basicFmt(UnicodeString("EEE MMM dd yyyy / YYYY'-W'ww-ee"), status); if (U_FAILURE(status)) { - errln("FAIL: Couldn't create basic SimpleDateFormat: %s\n", + errcheckln(status, "FAIL: Couldn't create basic SimpleDateFormat: %s\n", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/dcfmapts.cpp b/icu4c/source/test/intltest/dcfmapts.cpp index a045239f673..c0aaec7b8a4 100644 --- a/icu4c/source/test/intltest/dcfmapts.cpp +++ b/icu4c/source/test/intltest/dcfmapts.cpp @@ -65,7 +65,7 @@ void IntlTestDecimalFormatAPI::testAPI(/*char *par*/) DecimalFormat def(status); if(U_FAILURE(status)) { - errln((UnicodeString)"ERROR: Could not create DecimalFormat (default)"); + errcheckln(status, "ERROR: Could not create DecimalFormat (default) - %s", u_errorName(status)); return; } @@ -381,7 +381,7 @@ void IntlTestDecimalFormatAPI::testRounding(/*char *par*/) }; DecimalFormat pat(status); if(U_FAILURE(status)) { - errln((UnicodeString)"ERROR: Could not create DecimalFormat (default)"); + errcheckln(status, "ERROR: Could not create DecimalFormat (default) - %s", u_errorName(status)); return; } uint16_t mode; @@ -426,7 +426,7 @@ void IntlTestDecimalFormatAPI::testRoundingInc(/*char *par*/) UErrorCode status = U_ZERO_ERROR; DecimalFormat pat(UnicodeString("#,##0.00"),status); if(U_FAILURE(status)) { - errln((UnicodeString)"ERROR: Could not create DecimalFormat (default)"); + errcheckln(status, "ERROR: Could not create DecimalFormat (default) - %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/decoll.cpp b/icu4c/source/test/intltest/decoll.cpp index 0b84d2576aa..d3dee5bc74e 100644 --- a/icu4c/source/test/intltest/decoll.cpp +++ b/icu4c/source/test/intltest/decoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -38,7 +38,7 @@ CollationGermanTest::CollationGermanTest() UErrorCode status = U_ZERO_ERROR; myCollation = Collator::createInstance(Locale::getGermany(), status); if(!myCollation || U_FAILURE(status)) { - errln(__FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); + errcheckln(status, __FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); /* if it wasn't already: */ delete myCollation; myCollation = NULL; @@ -103,7 +103,7 @@ const Collator::EComparisonResult CollationGermanTest::results[][2] = void CollationGermanTest::TestTertiary(/* char* par */) { if(myCollation == NULL ) { - errln("decoll: cannot start test, collator is null\n"); + dataerrln("decoll: cannot start test, collator is null\n"); return; } @@ -119,7 +119,7 @@ void CollationGermanTest::TestTertiary(/* char* par */) void CollationGermanTest::TestPrimary(/* char* par */) { if(myCollation == NULL ) { - errln("decoll: cannot start test, collator is null\n"); + dataerrln("decoll: cannot start test, collator is null\n"); return; } int32_t i; diff --git a/icu4c/source/test/intltest/dtfmapts.cpp b/icu4c/source/test/intltest/dtfmapts.cpp index db443f1e446..cb4bf0b5816 100644 --- a/icu4c/source/test/intltest/dtfmapts.cpp +++ b/icu4c/source/test/intltest/dtfmapts.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2005, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -225,7 +225,7 @@ if (fr != NULL && it != NULL && de != NULL) status = U_ZERO_ERROR; DateFormat *test = new SimpleDateFormat(status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create a DateFormat"); + errcheckln(status, "ERROR: Couldn't create a DateFormat - %s", u_errorName(status)); } if(test->getDynamicClassID() != SimpleDateFormat::getStaticClassID()) { @@ -267,7 +267,7 @@ IntlTestDateFormatAPI::TestNameHiding(void) { dateFmt->format(dateObj, str, fpos, status); delete dateFmt; } else { - errln("FAIL: Can't create DateFormat"); + dataerrln("FAIL: Can't create DateFormat"); } } @@ -296,7 +296,7 @@ IntlTestDateFormatAPI::TestNameHiding(void) { fmt->format(numObj, str, fpos, status); delete fmt; } else { - errln("FAIL: Can't create NumberFormat()"); + dataerrln("FAIL: Can't create NumberFormat()"); } } @@ -317,7 +317,7 @@ IntlTestDateFormatAPI::TestNameHiding(void) { fmt.parse(str, obj, ppos); fmt.parse(str, obj, status); } else { - errln("FAIL: Couldn't instantiate DecimalFormat, error %s. Quitting test", u_errorName(status)); + errcheckln(status, "FAIL: Couldn't instantiate DecimalFormat, error %s. Quitting test", u_errorName(status)); } } diff --git a/icu4c/source/test/intltest/dtfmrgts.cpp b/icu4c/source/test/intltest/dtfmrgts.cpp index 96385f40176..777e4751435 100644 --- a/icu4c/source/test/intltest/dtfmrgts.cpp +++ b/icu4c/source/test/intltest/dtfmrgts.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2007, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -224,7 +224,10 @@ void DateFormatRegressionTest::Test4056591(void) //try { SimpleDateFormat *fmt = new SimpleDateFormat(UnicodeString("yyMMdd"), Locale::getUS(), status); - failure(status, "new SimpleDateFormat"); + if (failure(status, "new SimpleDateFormat")) { + delete fmt; + return; + } UDate start = date(1809-1900, UCAL_DECEMBER, 25); fmt->set2DigitYearStart(start, status); failure(status, "fmt->setTwoDigitStartDate"); @@ -388,7 +391,7 @@ void DateFormatRegressionTest::Test4061287(void) SimpleDateFormat *df = new SimpleDateFormat(UnicodeString("dd/MM/yyyy"), status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error: %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error: %s", u_errorName(status)); delete df; return; } @@ -566,7 +569,7 @@ void DateFormatRegressionTest::Test4073003(void) UErrorCode ec = U_ZERO_ERROR; SimpleDateFormat fmt("dd/MM/yy", Locale::getUK(), ec); if (U_FAILURE(ec)) { - errln("FAIL: SimpleDateFormat constructor"); + errcheckln(ec, "FAIL: SimpleDateFormat constructor - %s", u_errorName(ec)); return; } UnicodeString tests [] = { @@ -605,7 +608,7 @@ void DateFormatRegressionTest::Test4089106(void) UErrorCode status = U_ZERO_ERROR; SimpleDateFormat *f = new SimpleDateFormat(status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error %s", u_errorName(status)); delete f; delete def; delete z; @@ -767,7 +770,7 @@ void DateFormatRegressionTest::Test4103341(void) UErrorCode status = U_ZERO_ERROR; SimpleDateFormat *simple = new SimpleDateFormat(UnicodeString("MM/dd/yyyy HH:mm"), status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error %s", u_errorName(status)); delete simple; return; } @@ -792,7 +795,7 @@ void DateFormatRegressionTest::Test4104136(void) UErrorCode status = U_ZERO_ERROR; SimpleDateFormat *sdf = new SimpleDateFormat(status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error %s", u_errorName(status)); delete sdf; return; } @@ -857,7 +860,7 @@ void DateFormatRegressionTest::Test4104522(void) SimpleDateFormat *sdf = new SimpleDateFormat(status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error %s", u_errorName(status)); delete sdf; return; } @@ -900,7 +903,7 @@ void DateFormatRegressionTest::Test4106807(void) new SimpleDateFormat(UnicodeString("yyyyMMddHHmmss %"), status) }; if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status)); + errcheckln(status, "Couldn't create SimpleDateFormat, error %s", u_errorName(status)); delete sdfs[0]; delete sdfs[1]; delete sdfs[2]; @@ -1077,7 +1080,7 @@ DateFormatRegressionTest::Test4162071(void) UErrorCode status = U_ZERO_ERROR; SimpleDateFormat df(format, Locale::getUS(), status); if(U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat"); + errcheckln(status, "Couldn't create SimpleDateFormat - %s", u_errorName(status)); return; } @@ -1103,7 +1106,7 @@ void DateFormatRegressionTest::Test4182066(void) { SimpleDateFormat fmt("MM/dd/yy", Locale::getUS(), status); SimpleDateFormat dispFmt("MMM dd yyyy GG", Locale::getUS(), status); if (U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat"); + errcheckln(status, "Couldn't create SimpleDateFormat - %s", u_errorName(status)); return; } @@ -1188,7 +1191,7 @@ DateFormatRegressionTest::Test4210209(void) { DateFormat& fmt = *(DateFormat*)&sfmt; // Yuck: See j25 DateFormat& disp = *(DateFormat*)&sdisp; // Yuck: See j25 if (U_FAILURE(status)) { - errln("Couldn't create SimpleDateFormat"); + errcheckln(status, "Couldn't create SimpleDateFormat - %s", u_errorName(status)); return; } Calendar* calx = (Calendar*)fmt.getCalendar(); // cast away const! diff --git a/icu4c/source/test/intltest/dtfmtrtts.cpp b/icu4c/source/test/intltest/dtfmtrtts.cpp index dc18cc5796d..b313e718c35 100644 --- a/icu4c/source/test/intltest/dtfmtrtts.cpp +++ b/icu4c/source/test/intltest/dtfmtrtts.cpp @@ -258,7 +258,7 @@ void DateFormatRoundTripTest::test(const Locale& loc) logln("Testing dstyle" + UnicodeString(styleName((DateFormat::EStyle)dstyle)) + ", tstyle" + UnicodeString(styleName((DateFormat::EStyle)tstyle)) ); DateFormat *df = DateFormat::createDateTimeInstance((DateFormat::EStyle)dstyle, (DateFormat::EStyle)tstyle, loc); if(df == NULL) { - errln(UnicodeString("Could not DF::createDateTimeInstance ") + UnicodeString(styleName((DateFormat::EStyle)dstyle)) + ", tstyle" + UnicodeString(styleName((DateFormat::EStyle)tstyle)) + "Locale: " + loc.getDisplayName(temp)); + dataerrln(UnicodeString("Could not DF::createDateTimeInstance ") + UnicodeString(styleName((DateFormat::EStyle)dstyle)) + ", tstyle" + UnicodeString(styleName((DateFormat::EStyle)tstyle)) + "Locale: " + loc.getDisplayName(temp)); } else { test(df, loc); delete df; diff --git a/icu4c/source/test/intltest/dtfmttst.cpp b/icu4c/source/test/intltest/dtfmttst.cpp index dbc996ecb45..beada605887 100644 --- a/icu4c/source/test/intltest/dtfmttst.cpp +++ b/icu4c/source/test/intltest/dtfmttst.cpp @@ -27,7 +27,7 @@ #define ARRAY_SIZE(array) (sizeof array / sizeof array[0]) -#define ASSERT_OK(status) if(U_FAILURE(status)) {errln(#status " = %s @ %s:%d", u_errorName(status), __FILE__, __LINE__); return; } +#define ASSERT_OK(status) if(U_FAILURE(status)) {errcheckln(status, #status " = %s @ %s:%d", u_errorName(status), __FILE__, __LINE__); return; } // ***************************************************************************** // class DateFormatTest @@ -237,7 +237,7 @@ DateFormatTest::TestTwoDigitYearDSTParse(void) UnicodeString str; if(U_FAILURE(status)) { - errln("Could not set up test. exitting"); + errcheckln(status, "Could not set up test. exitting - %s", u_errorName(status)); return; } @@ -341,6 +341,9 @@ void DateFormatTest::TestFieldPosition() { // Verify data DateFormatSymbols rootSyms(Locale(""), ec); assertSuccess("DateFormatSymbols", ec); + if (U_FAILURE(ec)) { + return; + } // local pattern chars data is not longer loaded // from icu locale bundle @@ -452,6 +455,10 @@ DateFormatTest::TestPartialParse994() UErrorCode status = U_ZERO_ERROR; SimpleDateFormat* f = new SimpleDateFormat(status); ASSERT_OK(status); + if (U_FAILURE(status)) { + delete f; + return; + } UDate null = 0; tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 10:11:42", date(97, 1 - 1, 17, 10, 11, 42)); tryPat994(f, "yy/MM/dd HH:mm:ss", "97/01/17 10:", null); @@ -740,7 +747,7 @@ DateFormatTest::TestBadInput135() int32_t strings_length = (int32_t)(sizeof(strings) / sizeof(strings[0])); DateFormat *full = DateFormat::createDateTimeInstance(DateFormat::LONG, DateFormat::LONG); if(full==NULL) { - errln("could not create date time instance"); + dataerrln("could not create date time instance"); return; } UnicodeString expected("March 1, 2000 1:23:45 AM "); @@ -826,7 +833,7 @@ DateFormatTest::TestBadInput135a() UErrorCode status = U_ZERO_ERROR; SimpleDateFormat* dateParse = new SimpleDateFormat(status); if(U_FAILURE(status)) { - errln("Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status)); + errcheckln(status, "Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status)); delete dateParse; return; } @@ -907,7 +914,7 @@ DateFormatTest::TestTwoDigitYear() UErrorCode ec = U_ZERO_ERROR; SimpleDateFormat fmt("dd/MM/yy", Locale::getUK(), ec); if (U_FAILURE(ec)) { - errln("FAIL: SimpleDateFormat constructor"); + errcheckln(ec, "FAIL: SimpleDateFormat constructor - %s", u_errorName(ec)); return; } parse2DigitYear(fmt, "5/6/17", date(117, UCAL_JUNE, 5)); @@ -948,7 +955,7 @@ DateFormatTest::TestDateFormatZone061() logln((UnicodeString)"Date 1997/3/25 00:00 GMT: " + date); formatter = new SimpleDateFormat((UnicodeString)"dd-MMM-yyyyy HH:mm", Locale::getUK(), status); if(U_FAILURE(status)) { - errln("Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status)); + errcheckln(status, "Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status)); delete formatter; return; } @@ -1092,7 +1099,7 @@ void DateFormatTest::TestDateFormatCalendar() { /* Create a formatter for date fields. */ date = DateFormat::createDateInstance(DateFormat::kShort, Locale::getUS()); if (date == NULL) { - errln("FAIL: createDateInstance failed"); + dataerrln("FAIL: createDateInstance failed"); goto FAIL; } @@ -1540,7 +1547,7 @@ void DateFormatTest::expectParse(const char** data, int32_t data_length, SimpleDateFormat ref(data[i++], loc, ec); SimpleDateFormat gotfmt("G yyyy MM dd HH:mm:ss z", loc, ec); if (U_FAILURE(ec)) { - errln("FAIL: SimpleDateFormat constructor"); + errcheckln(ec, "FAIL: SimpleDateFormat constructor - %s", u_errorName(ec)); return; } @@ -1939,7 +1946,7 @@ void DateFormatTest::TestRelative(int daysdelta, DateFormat *fullrelative = DateFormat::createDateInstance(DateFormat::kFullRelative, loc); if (fullrelative == NULL) { - errln("DateFormat::createDateInstance(DateFormat::kFullRelative, %s) returned NULL", loc.getName()); + dataerrln("DateFormat::createDateInstance(DateFormat::kFullRelative, %s) returned NULL", loc.getName()); return; } @@ -2044,7 +2051,7 @@ void DateFormatTest::TestRelativeClone(void) UDate now = Calendar::getNow(); DateFormat *full = DateFormat::createDateInstance(DateFormat::kFullRelative, loc); if (full == NULL) { - errln("FAIL: Can't create Relative date instance"); + dataerrln("FAIL: Can't create Relative date instance"); return; } UnicodeString result1; @@ -2074,7 +2081,7 @@ void DateFormatTest::TestHostClone(void) UDate now = Calendar::getNow(); DateFormat *full = DateFormat::createDateInstance(DateFormat::kFull, loc); if (full == NULL) { - errln("FAIL: Can't create Relative date instance"); + dataerrln("FAIL: Can't create Relative date instance"); return; } UnicodeString result1; @@ -3159,6 +3166,16 @@ void DateFormatTest::Test6726(void) DateFormat* fmtl = DateFormat::createDateTimeInstance(DateFormat::LONG, DateFormat::FULL, loc); DateFormat* fmtm = DateFormat::createDateTimeInstance(DateFormat::MEDIUM, DateFormat::FULL, loc); DateFormat* fmts = DateFormat::createDateTimeInstance(DateFormat::SHORT, DateFormat::FULL, loc); + if (fmtf == NULL || fmtl == NULL || fmtm == NULL || fmts == NULL) { + dataerrln("Unable to create DateFormat. got NULL."); + /* It may not be true that if one is NULL all is NULL. Just to be safe. */ + delete fmtf; + delete fmtl; + delete fmtm; + delete fmts; + + return; + } strf = fmtf->format(dt, strf); strl = fmtl->format(dt, strl); strm = fmtm->format(dt, strm); @@ -3237,6 +3254,10 @@ void DateFormatTest::Test6880() { } DateFormat *fmt = DateFormat::createTimeInstance(DateFormat::kFull, Locale("zh")); + if (fmt == NULL) { + dataerrln("Unable to create DateFormat. Got NULL."); + return; + } fmt->adoptTimeZone(tz); fmt->format(d1, s1); diff --git a/icu4c/source/test/intltest/encoll.cpp b/icu4c/source/test/intltest/encoll.cpp index abaeb561573..a65968992f0 100644 --- a/icu4c/source/test/intltest/encoll.cpp +++ b/icu4c/source/test/intltest/encoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -326,7 +326,7 @@ void CollationEnglishTest::runIndexedTest( int32_t index, UBool exec, const char default: name = ""; break; } } else { - errln("Collator couldn't be instantiated!"); + dataerrln("Collator couldn't be instantiated!"); name = ""; } } diff --git a/icu4c/source/test/intltest/escoll.cpp b/icu4c/source/test/intltest/escoll.cpp index 152453bdaf0..b01c00d0503 100644 --- a/icu4c/source/test/intltest/escoll.cpp +++ b/icu4c/source/test/intltest/escoll.cpp @@ -1,7 +1,7 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -102,7 +102,7 @@ void CollationSpanishTest::runIndexedTest( int32_t index, UBool exec, const char if (exec) logln("TestSuite CollationSpanishTest: "); if((!myCollation) && exec) { - errln(__FILE__ " cannot test - failed to create collator."); + dataerrln(__FILE__ " cannot test - failed to create collator."); name = "some test"; return; } diff --git a/icu4c/source/test/intltest/ficoll.cpp b/icu4c/source/test/intltest/ficoll.cpp index b67f6348e57..957174a1602 100644 --- a/icu4c/source/test/intltest/ficoll.cpp +++ b/icu4c/source/test/intltest/ficoll.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 1997-2007, International Business Machines + * Copyright (c) 1997-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************/ @@ -88,7 +88,7 @@ void CollationFinnishTest::runIndexedTest( int32_t index, UBool exec, const char if (exec) logln("TestSuite CollationFinnishTest: "); if((!myCollation) && exec) { - errln(__FILE__ " cannot test - failed to create collator."); + dataerrln(__FILE__ " cannot test - failed to create collator."); name = "some test"; return; } diff --git a/icu4c/source/test/intltest/frcoll.cpp b/icu4c/source/test/intltest/frcoll.cpp index fd8702c6112..a7b7fbd2478 100644 --- a/icu4c/source/test/intltest/frcoll.cpp +++ b/icu4c/source/test/intltest/frcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -29,7 +29,7 @@ CollationFrenchTest::CollationFrenchTest() UErrorCode status = U_ZERO_ERROR; myCollation = Collator::createInstance(Locale::getFrance(), status); if(!myCollation || U_FAILURE(status)) { - errln(__FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); + errcheckln(status, __FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); /* if it wasn't already: */ delete myCollation; myCollation = NULL; @@ -201,7 +201,7 @@ void CollationFrenchTest::runIndexedTest( int32_t index, UBool exec, const char* if (exec) logln("TestSuite CollationFrenchTest: "); if((!myCollation) && exec) { - errln(__FILE__ " cannot test - failed to create collator."); + dataerrln(__FILE__ " cannot test - failed to create collator."); name = "some test"; return; } diff --git a/icu4c/source/test/intltest/g7coll.cpp b/icu4c/source/test/intltest/g7coll.cpp index cb8f5f8563c..36b0e79f558 100644 --- a/icu4c/source/test/intltest/g7coll.cpp +++ b/icu4c/source/test/intltest/g7coll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -102,7 +102,7 @@ void G7CollationTest::TestG7Locales(/* char* par */) myCollation = Collator::createInstance(locales[i], status); if(U_FAILURE(status)) { delete myCollation; - errln("Couldn't instantiate collator. Error: %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate collator. Error: %s", u_errorName(status)); return; } myCollation->setStrength(Collator::QUATERNARY); @@ -162,7 +162,7 @@ void G7CollationTest::TestDemo1(/* char* par */) Collator *col = Collator::createInstance("en_US", status); if(U_FAILURE(status)) { delete col; - errln("Couldn't instantiate collator. Error: %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate collator. Error: %s", u_errorName(status)); return; } const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules(); @@ -196,7 +196,7 @@ void G7CollationTest::TestDemo2(/* char* par */) Collator *col = Collator::createInstance("en_US", status); if(U_FAILURE(status)) { delete col; - errln("Couldn't instantiate collator. Error: %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate collator. Error: %s", u_errorName(status)); return; } const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules(); @@ -229,7 +229,7 @@ void G7CollationTest::TestDemo3(/* char* par */) UErrorCode status = U_ZERO_ERROR; Collator *col = Collator::createInstance("en_US", status); if(U_FAILURE(status)) { - errln("Couldn't instantiate collator. Error: %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate collator. Error: %s", u_errorName(status)); delete col; return; } @@ -264,7 +264,7 @@ void G7CollationTest::TestDemo4(/* char* par */) Collator *col = Collator::createInstance("en_US", status); if(U_FAILURE(status)) { delete col; - errln("Couldn't instantiate collator. Error: %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate collator. Error: %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/icusvtst.cpp b/icu4c/source/test/intltest/icusvtst.cpp index c2e97f292db..0b8a29b7fd0 100644 --- a/icu4c/source/test/intltest/icusvtst.cpp +++ b/icu4c/source/test/intltest/icusvtst.cpp @@ -1,6 +1,6 @@ /** ******************************************************************************* - * Copyright (C) 2001-2008, International Business Machines Corporation and * + * Copyright (C) 2001-2009, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* * @@ -278,7 +278,7 @@ ICUServiceTest::confirmStringsEqual(const UnicodeString& message, const UnicodeS if (equ) { logln(temp); } else { - errln(temp); + dataerrln(temp); } } diff --git a/icu4c/source/test/intltest/idnaconf.cpp b/icu4c/source/test/intltest/idnaconf.cpp index bfee104a5bc..5bf2f34303b 100644 --- a/icu4c/source/test/intltest/idnaconf.cpp +++ b/icu4c/source/test/intltest/idnaconf.cpp @@ -1,7 +1,7 @@ /* ******************************************************************************* * - * Copyright (C) 2005-2008, International Business Machines + * Copyright (C) 2005-2009, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -80,7 +80,7 @@ UBool IdnaConfTest::ReadAndConvertFile(){ delete [] absolute_name; if (f == NULL){ - dataerrln("[DATA] fopen error on %s", name); + dataerrln("fopen error on %s", name); return FALSE; } @@ -241,8 +241,9 @@ void IdnaConfTest::Call(){ } if (passfail == 0){ if (U_FAILURE(status)){ - id.append(" should pass, but failed."); - errln(id); + id.append(" should pass, but failed. - "); + id.append(u_errorName(status)); + errcheckln(status, id); } else{ if (namezone.compare(result, -1) == 0){ // expected diff --git a/icu4c/source/test/intltest/incaltst.cpp b/icu4c/source/test/intltest/incaltst.cpp index 74b2c4ce0ac..56b64a75fd0 100644 --- a/icu4c/source/test/intltest/incaltst.cpp +++ b/icu4c/source/test/intltest/incaltst.cpp @@ -18,7 +18,7 @@ #define CHECK(status, msg) \ if (U_FAILURE(status)) { \ - errln((UnicodeString(u_errorName(status)) + UnicodeString(" : " ) )+ msg); \ + errcheckln(status, (UnicodeString(u_errorName(status)) + UnicodeString(" : " ) )+ msg); \ return; \ } @@ -131,7 +131,7 @@ IntlCalendarTest::TestTypes() if(U_SUCCESS(status)) { logln(UnicodeString(" type is ") + c->getType()); if(strcmp(c->getType(), types[j])) { - errln(UnicodeString(locs[j]) + UnicodeString("Calendar type ") + c->getType() + " instead of " + types[j]); + dataerrln(UnicodeString(locs[j]) + UnicodeString("Calendar type ") + c->getType() + " instead of " + types[j]); } } delete c; diff --git a/icu4c/source/test/intltest/intltest.cpp b/icu4c/source/test/intltest/intltest.cpp index 2c23e88c209..c592e73d5ec 100644 --- a/icu4c/source/test/intltest/intltest.cpp +++ b/icu4c/source/test/intltest/intltest.cpp @@ -785,12 +785,23 @@ void IntlTest::dataerr( const UnicodeString &message ) void IntlTest::dataerrln( const UnicodeString &message ) { IncDataErrorCount(); - + UnicodeString msg; if (!warn_on_missing_data) { IncErrorCount(); + msg = message; + } else { + msg = UnicodeString("[DATA] " + message); } - if (!no_err_msg) LL_message( message, TRUE ); + if (!no_err_msg) LL_message( msg + " - (Are you missing data?)", TRUE ); +} + +void IntlTest::errcheckln(UErrorCode status, const UnicodeString &message ) { + if (status == U_FILE_ACCESS_ERROR || status == U_MISSING_RESOURCE_ERROR) { + dataerrln(message); + } else { + errln(message); + } } /* convenience functions that include sprintf formatting */ @@ -880,6 +891,22 @@ void IntlTest::dataerrln(const char *fmt, ...) dataerrln(UnicodeString(buffer, "")); } +void IntlTest::errcheckln(UErrorCode status, const char *fmt, ...) +{ + char buffer[4000]; + va_list ap; + + va_start(ap, fmt); + vsprintf(buffer, fmt, ap); + va_end(ap); + + if (status == U_FILE_ACCESS_ERROR || status == U_MISSING_RESOURCE_ERROR) { + dataerrln(UnicodeString(buffer, "")); + } else { + errln(UnicodeString(buffer, "")); + } +} + void IntlTest::printErrors() { IntlTest::LL_message(errorList, TRUE); @@ -1303,7 +1330,7 @@ const char* IntlTest::loadTestData(UErrorCode& err){ if(U_FAILURE(err)){ err = U_FILE_ACCESS_ERROR; - it_dataerrln((UnicodeString)"[DATA] Could not load testtypes.res in testdata bundle with path " + tdpath + (UnicodeString)" - " + u_errorName(err)); + it_dataerrln((UnicodeString)"Could not load testtypes.res in testdata bundle with path " + tdpath + (UnicodeString)" - " + u_errorName(err)); return ""; } ures_close(test); @@ -1487,9 +1514,13 @@ static UnicodeString& escape(const UnicodeString& s, UnicodeString& result) { #define VERBOSE_ASSERTIONS -UBool IntlTest::assertTrue(const char* message, UBool condition, UBool quiet) { +UBool IntlTest::assertTrue(const char* message, UBool condition, UBool quiet, UBool possibleDataError) { if (!condition) { - errln("FAIL: assertTrue() failed: %s", message); + if (possibleDataError) { + dataerrln("FAIL: assertTrue() failed: %s", message); + } else { + errln("FAIL: assertTrue() failed: %s", message); + } } else if (!quiet) { logln("Ok: %s", message); } @@ -1505,13 +1536,14 @@ UBool IntlTest::assertFalse(const char* message, UBool condition, UBool quiet) { return !condition; } -UBool IntlTest::assertSuccess(const char* message, UErrorCode ec) { +UBool IntlTest::assertSuccess(const char* message, UErrorCode ec, UBool possibleDataError) { if (U_FAILURE(ec)) { - if (ec == U_FILE_ACCESS_ERROR) { - dataerrln("[DATA] Fail: %s.", message); + if (possibleDataError) { + dataerrln("FAIL: %s (%s)", message, u_errorName(ec)); } else { - errln("FAIL: %s (%s)", message, u_errorName(ec)); + errcheckln(ec, "FAIL: %s (%s)", message, u_errorName(ec)); } + return FALSE; } return TRUE; @@ -1519,11 +1551,18 @@ UBool IntlTest::assertSuccess(const char* message, UErrorCode ec) { UBool IntlTest::assertEquals(const char* message, const UnicodeString& expected, - const UnicodeString& actual) { + const UnicodeString& actual, + UBool possibleDataError) { if (expected != actual) { - errln((UnicodeString)"FAIL: " + message + "; got " + - prettify(actual) + - "; expected " + prettify(expected)); + if (possibleDataError) { + dataerrln((UnicodeString)"FAIL: " + message + "; got " + + prettify(actual) + + "; expected " + prettify(expected)); + } else { + errln((UnicodeString)"FAIL: " + message + "; got " + + prettify(actual) + + "; expected " + prettify(expected)); + } return FALSE; } #ifdef VERBOSE_ASSERTIONS diff --git a/icu4c/source/test/intltest/intltest.h b/icu4c/source/test/intltest/intltest.h index d0beb8ef17e..3debef6659c 100644 --- a/icu4c/source/test/intltest/intltest.h +++ b/icu4c/source/test/intltest/intltest.h @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -107,6 +107,8 @@ public: virtual void dataerr( const UnicodeString &message ); virtual void dataerrln( const UnicodeString &message ); + + void errcheckln(UErrorCode status, const UnicodeString &message ); // convenience functions: sprintf() + errln() etc. void log(const char *fmt, ...); @@ -117,6 +119,7 @@ public: void errln(const char *fmt, ...); void dataerr(const char *fmt, ...); void dataerrln(const char *fmt, ...); + void errcheckln(UErrorCode status, const char *fmt, ...); // Print ALL named errors encountered so far void printErrors(); @@ -152,11 +155,11 @@ public: protected: /* JUnit-like assertions. Each returns TRUE if it succeeds. */ - UBool assertTrue(const char* message, UBool condition, UBool quiet=FALSE); + UBool assertTrue(const char* message, UBool condition, UBool quiet=FALSE, UBool possibleDataError=FALSE); UBool assertFalse(const char* message, UBool condition, UBool quiet=FALSE); - UBool assertSuccess(const char* message, UErrorCode ec); + UBool assertSuccess(const char* message, UErrorCode ec, UBool possibleDataError=FALSE); UBool assertEquals(const char* message, const UnicodeString& expected, - const UnicodeString& actual); + const UnicodeString& actual, UBool possibleDataError=FALSE); UBool assertEquals(const char* message, const char* expected, const char* actual); #if !UCONFIG_NO_FORMATTING diff --git a/icu4c/source/test/intltest/itercoll.cpp b/icu4c/source/test/intltest/itercoll.cpp index 75db1125e37..3040c4566d6 100644 --- a/icu4c/source/test/intltest/itercoll.cpp +++ b/icu4c/source/test/intltest/itercoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -30,7 +30,7 @@ CollationIteratorTest::CollationIteratorTest() if(U_FAILURE(status)) { delete en_us; en_us = 0; - errln("Collator creation failed with %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with %s", u_errorName(status)); return; } @@ -639,7 +639,7 @@ void CollationIteratorTest::runIndexedTest(int32_t index, UBool exec, const char default: name = ""; break; } } else { - errln("Class iterator not instantiated"); + dataerrln("Class iterator not instantiated"); name = ""; } } diff --git a/icu4c/source/test/intltest/itrbnf.cpp b/icu4c/source/test/intltest/itrbnf.cpp index 4b5f85f2f9d..ef1c6437fbc 100644 --- a/icu4c/source/test/intltest/itrbnf.cpp +++ b/icu4c/source/test/intltest/itrbnf.cpp @@ -100,6 +100,11 @@ void IntlTestRBNF::TestHebrewFraction() { }; UErrorCode status = U_ZERO_ERROR; RuleBasedNumberFormat* formatter = new RuleBasedNumberFormat(URBNF_SPELLOUT, "he_IL", status); + if (status == U_MISSING_RESOURCE_ERROR || status == U_FILE_ACCESS_ERROR) { + errcheckln(status, "Failed in constructing RuleBasedNumberFormat - %s", u_errorName(status)); + delete formatter; + return; + } UnicodeString result; Formattable parseResult; ParsePosition pp(0); @@ -140,6 +145,11 @@ IntlTestRBNF::TestAPI() { UErrorCode status = U_ZERO_ERROR; RuleBasedNumberFormat* formatter = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getUS(), status); + if (status == U_MISSING_RESOURCE_ERROR || status == U_FILE_ACCESS_ERROR) { + dataerrln("Unable to create formatter. - %s", u_errorName(status)); + delete formatter; + return; + } logln("RBNF API test starting"); // test clone @@ -391,7 +401,7 @@ void IntlTestRBNF::TestFractionalRuleSet() UParseError perror; RuleBasedNumberFormat formatter(fracRules, Locale::getEnglish(), perror, status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "0", "0" }, @@ -1058,9 +1068,8 @@ IntlTestRBNF::TestEnglishSpellout() UErrorCode status = U_ZERO_ERROR; RuleBasedNumberFormat* formatter = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getUS(), status); - if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "one" }, @@ -1113,7 +1122,7 @@ IntlTestRBNF::TestOrdinalAbbreviations() = new RuleBasedNumberFormat(URBNF_ORDINAL, Locale::getUS(), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "1\\u02e2\\u1d57" }, @@ -1149,7 +1158,7 @@ IntlTestRBNF::TestDurations() = new RuleBasedNumberFormat(URBNF_DURATION, Locale::getUS(), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "3,600", "1:00:00" }, //move me and I fail @@ -1188,7 +1197,7 @@ IntlTestRBNF::TestSpanishSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("es", "ES", ""), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "uno" }, @@ -1228,7 +1237,7 @@ IntlTestRBNF::TestFrenchSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getFrance(), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "un" }, @@ -1313,7 +1322,7 @@ IntlTestRBNF::TestSwissFrenchSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("fr", "CH", ""), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { doTest(formatter, swissFrenchTestData, TRUE); } @@ -1362,8 +1371,8 @@ IntlTestRBNF::TestBelgianFrenchSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("fr", "BE", ""), status); if (U_FAILURE(status)) { - errln("rbnf status: 0x%x (%s)\n", status, u_errorName(status)); - errln("FAIL: could not construct formatter"); + errcheckln(status, "rbnf status: 0x%x (%s)\n", status, u_errorName(status)); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { // Belgian french should match Swiss french. doTest(formatter, belgianFrenchTestData, TRUE); @@ -1379,7 +1388,7 @@ IntlTestRBNF::TestItalianSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getItalian(), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "uno" }, @@ -1420,7 +1429,7 @@ IntlTestRBNF::TestPortugueseSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("pt","BR",""), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "um" }, @@ -1458,7 +1467,7 @@ IntlTestRBNF::TestGermanSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getGermany(), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "1", "eins" }, @@ -1503,7 +1512,7 @@ IntlTestRBNF::TestThaiSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("th"), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testData[][2] = { { "0", "\\u0e28\\u0e39\\u0e19\\u0e22\\u0e4c" }, @@ -1529,7 +1538,7 @@ IntlTestRBNF::TestSwedishSpellout() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("sv"), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* testDataDefault[][2] = { { "101", "ett\\u00adhundra\\u00adett" }, @@ -1606,7 +1615,7 @@ IntlTestRBNF::TestSmallValues() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("en_US"), status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { static const char* const testDataDefault[][2] = { { "0.001", "zero point zero zero one" }, @@ -1660,7 +1669,7 @@ IntlTestRBNF::TestLocalizations(void) UParseError perror; RuleBasedNumberFormat formatter(rules, perror, status); if (U_FAILURE(status)) { - errln("FAIL: could not construct formatter"); + errcheckln(status, "FAIL: could not construct formatter - %s", u_errorName(status)); } else { { static const char* const testData[][2] = { @@ -1907,7 +1916,7 @@ IntlTestRBNF::doTest(RuleBasedNumberFormat* formatter, const char* const testDat // NumberFormat* decFmt = NumberFormat::createInstance(Locale::getUS(), status); DecimalFormat decFmt("#,###.################", dfs, status); if (U_FAILURE(status)) { - errln("FAIL: could not create NumberFormat"); + errcheckln(status, "FAIL: could not create NumberFormat - %s", u_errorName(status)); } else { for (int i = 0; testData[i][0]; ++i) { const char* numString = testData[i][0]; @@ -1977,7 +1986,7 @@ IntlTestRBNF::doLenientParseTest(RuleBasedNumberFormat* formatter, const char* t UErrorCode status = U_ZERO_ERROR; NumberFormat* decFmt = NumberFormat::createInstance(Locale::getUS(), status); if (U_FAILURE(status)) { - errln("FAIL: could not create NumberFormat"); + errcheckln(status, "FAIL: could not create NumberFormat - %s", u_errorName(status)); } else { for (int i = 0; testData[i][0]; ++i) { const char* spelledNumber = testData[i][0]; // spelled-out number diff --git a/icu4c/source/test/intltest/itrbnfrt.cpp b/icu4c/source/test/intltest/itrbnfrt.cpp index 515b351d945..6b92032812a 100644 --- a/icu4c/source/test/intltest/itrbnfrt.cpp +++ b/icu4c/source/test/intltest/itrbnfrt.cpp @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 1996-2006, International Business Machines Corporation and * + * Copyright (C) 1996-2009, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -65,7 +65,7 @@ RbnfRoundTripTest::TestEnglishSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getUS(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } @@ -83,7 +83,7 @@ RbnfRoundTripTest::TestDurationsRT() = new RuleBasedNumberFormat(URBNF_DURATION, Locale::getUS(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, 0, 12345678); } @@ -101,7 +101,7 @@ RbnfRoundTripTest::TestSpanishSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("es", "es"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } @@ -119,7 +119,7 @@ RbnfRoundTripTest::TestFrenchSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getFrance(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } @@ -137,7 +137,7 @@ RbnfRoundTripTest::TestSwissFrenchSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("fr", "CH"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } @@ -155,7 +155,7 @@ RbnfRoundTripTest::TestItalianSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getItalian(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -999999, 999999); } @@ -173,7 +173,7 @@ RbnfRoundTripTest::TestGermanSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getGermany(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, 0, 12345678); } @@ -191,7 +191,7 @@ RbnfRoundTripTest::TestSwedishSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("sv", "SE"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, 0, 12345678); } @@ -209,7 +209,7 @@ RbnfRoundTripTest::TestDutchSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("nl", "NL"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } @@ -227,7 +227,7 @@ RbnfRoundTripTest::TestJapaneseSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale::getJapan(), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, 0, 12345678); } @@ -245,7 +245,7 @@ RbnfRoundTripTest::TestRussianSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("ru", "RU"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, 0, 12345678); } @@ -263,7 +263,7 @@ RbnfRoundTripTest::TestPortugueseSpelloutRT() = new RuleBasedNumberFormat(URBNF_SPELLOUT, Locale("pt", "BR"), status); if (U_FAILURE(status)) { - errln("failed to construct formatter"); + errcheckln(status, "failed to construct formatter - %s", u_errorName(status)); } else { doTest(formatter, -12345678, 12345678); } diff --git a/icu4c/source/test/intltest/itspoof.cpp b/icu4c/source/test/intltest/itspoof.cpp index 79c834853ab..a3890f47ada 100644 --- a/icu4c/source/test/intltest/itspoof.cpp +++ b/icu4c/source/test/intltest/itspoof.cpp @@ -16,7 +16,7 @@ #include "unicode/uspoof.h" #define TEST_ASSERT_SUCCESS(status) {if (U_FAILURE(status)) { \ - errln("Failure at file %s, line %d, error = %s\n", __FILE__, __LINE__, u_errorName(status));}} + errcheckln(status, "Failure at file %s, line %d, error = %s", __FILE__, __LINE__, u_errorName(status));}} #define TEST_ASSERT(expr) {if ((expr)==FALSE) { \ errln("Test Failure at file %s, line %d: \"%s\" is false.\n", __FILE__, __LINE__, #expr);};} diff --git a/icu4c/source/test/intltest/jacoll.cpp b/icu4c/source/test/intltest/jacoll.cpp index 8c8c3d67d58..e991e503d8d 100644 --- a/icu4c/source/test/intltest/jacoll.cpp +++ b/icu4c/source/test/intltest/jacoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -22,7 +22,7 @@ CollationKanaTest::CollationKanaTest() UErrorCode status = U_ZERO_ERROR; myCollation = Collator::createInstance(Locale::getJapan(), status); if(!myCollation || U_FAILURE(status)) { - errln(__FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); + errcheckln(status, __FILE__ "failed to create! err " + UnicodeString(u_errorName(status))); /* if it wasn't already: */ delete myCollation; myCollation = NULL; @@ -191,7 +191,7 @@ void CollationKanaTest::runIndexedTest( int32_t index, UBool exec, const char* & default: name = ""; break; } } else { - errln("Collator couldn't be instantiated!"); + dataerrln("Collator couldn't be instantiated!"); name = ""; } } diff --git a/icu4c/source/test/intltest/jamotest.cpp b/icu4c/source/test/intltest/jamotest.cpp index 154d0857b44..cb74804114b 100644 --- a/icu4c/source/test/intltest/jamotest.cpp +++ b/icu4c/source/test/intltest/jamotest.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ******************************************************************** ************************************************************************ @@ -67,7 +67,7 @@ JamoTest::TestJamo() { Transliterator* latinJamo = Transliterator::createInstance("Latin-Jamo", UTRANS_FORWARD, parseError, status); if (latinJamo == 0 || U_FAILURE(status)) { - errln("FAIL: createInstance() returned 0"); + dataerrln("FAIL: createInstance() returned 0 - %s", u_errorName(status)); return; } @@ -177,7 +177,7 @@ void JamoTest::TestPiecemeal(void) { t = Transliterator::createInstance("Latin-Jamo", UTRANS_FORWARD, status); if (U_FAILURE(status) || t == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); return; } expect(*t, latin, jamo); @@ -376,7 +376,7 @@ JamoTest::TestRealText() { if (latinJamo == 0 || jamoHangul == 0 || U_FAILURE(status)) { delete latinJamo; delete jamoHangul; - errln("FAIL: createInstance returned NULL"); + dataerrln("FAIL: createInstance returned NULL - %s", u_errorName(status)); return; } Transliterator* jamoLatin = latinJamo->createInverse(status); diff --git a/icu4c/source/test/intltest/lcukocol.cpp b/icu4c/source/test/intltest/lcukocol.cpp index f48ebd957f6..6116a71208d 100644 --- a/icu4c/source/test/intltest/lcukocol.cpp +++ b/icu4c/source/test/intltest/lcukocol.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -36,7 +36,7 @@ LotusCollationKoreanTest::LotusCollationKoreanTest() if(U_SUCCESS(status)) { myCollation->setAttribute(UCOL_NORMALIZATION_MODE, UCOL_ON, status); } else { - errln("Couldn't instantiate the collator with %s", u_errorName(status)); + errcheckln(status, "Couldn't instantiate the collator with %s", u_errorName(status)); delete myCollation; myCollation = 0; } @@ -80,7 +80,7 @@ void LotusCollationKoreanTest::runIndexedTest( int32_t index, UBool exec, const default: name = ""; break; } } else { - errln("Class collator not instantiated"); + dataerrln("Class collator not instantiated"); name = ""; } } diff --git a/icu4c/source/test/intltest/loctest.cpp b/icu4c/source/test/intltest/loctest.cpp index 82969682dbf..8e2a324b7b4 100644 --- a/icu4c/source/test/intltest/loctest.cpp +++ b/icu4c/source/test/intltest/loctest.cpp @@ -481,7 +481,7 @@ LocaleTest::TestDisplayNames() Locale().getDisplayLanguage(Locale(), s); if(s.length()<=3 && s.charAt(0)<=0x7f) { /* check <=3 to reject getting the language code as a display name */ - errln("unable to get a display string for the language of the default locale\n"); + dataerrln("unable to get a display string for the language of the default locale.\n"); } /* @@ -492,7 +492,7 @@ LocaleTest::TestDisplayNames() s.remove(); Locale().getDisplayLanguage(s); if(s.length()<=3 && s.charAt(0)<=0x7f) { - errln("unable to get a display string for the language of the default locale [2]\n"); + dataerrln("unable to get a display string for the language of the default locale [2].\n"); } } else { @@ -673,7 +673,7 @@ void LocaleTest::TestGetAvailableLocales() const Locale* locList = Locale::getAvailableLocales(locCount); if (locCount == 0) - errln("getAvailableLocales() returned an empty list!"); + dataerrln("getAvailableLocales() returned an empty list!"); else { logln(UnicodeString("Number of locales returned = ") + locCount); UnicodeString temp; @@ -776,15 +776,15 @@ void LocaleTest::doTestDisplayNames(Locale& displayLocale, int32_t compareIndex) expectedName = dataTable[DNAME_EN][i]; if (testLang != expectedLang) - errln("Display language (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testLang + " expected " + expectedLang); + dataerrln("Display language (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testLang + " expected " + expectedLang); if (testScript != expectedScript) - errln("Display script (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testScript + " expected " + expectedScript); + dataerrln("Display script (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testScript + " expected " + expectedScript); if (testCtry != expectedCtry) - errln("Display country (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testCtry + " expected " + expectedCtry); + dataerrln("Display country (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testCtry + " expected " + expectedCtry); if (testVar != expectedVar) - errln("Display variant (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testVar + " expected " + expectedVar); + dataerrln("Display variant (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testVar + " expected " + expectedVar); if (testName != expectedName) - errln("Display name (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testName + " expected " + expectedName); + dataerrln("Display name (" + UnicodeString(displayLocale.getName()) + ") of (" + UnicodeString(testLocale.getName()) + ") got " + testName + " expected " + expectedName); } } @@ -939,7 +939,7 @@ LocaleTest::TestSimpleDisplayNames() Locale l(languageCodes[i], "", ""); l.getDisplayLanguage(Locale::getUS(), test); if (test != languageNames[i]) - errln("Got wrong display name for " + UnicodeString(languageCodes[i]) + ": Expected \"" + + dataerrln("Got wrong display name for " + UnicodeString(languageCodes[i]) + ": Expected \"" + languageNames[i] + "\", got \"" + test + "\"."); } } @@ -1054,7 +1054,7 @@ LocaleTest::TestAtypicalLocales() logln(name); if (name != englishDisplayNames[i]) { - errln("Lookup in English failed: expected \"" + englishDisplayNames[i] + dataerrln("Lookup in English failed: expected \"" + englishDisplayNames[i] + "\", got \"" + name + "\""); logln("Locale name was-> " + (name=localesToTest[i].getName())); } @@ -1065,7 +1065,7 @@ LocaleTest::TestAtypicalLocales() localesToTest[i].getDisplayName(Locale("es", "ES"), name); logln(name); if (name != spanishDisplayNames[i]) - errln("Lookup in Spanish failed: expected \"" + spanishDisplayNames[i] + dataerrln("Lookup in Spanish failed: expected \"" + spanishDisplayNames[i] + "\", got \"" + name + "\""); } @@ -1074,7 +1074,7 @@ LocaleTest::TestAtypicalLocales() localesToTest[i].getDisplayName(Locale::getFrance(), name); logln(name); if (name != frenchDisplayNames[i]) - errln("Lookup in French failed: expected \"" + frenchDisplayNames[i] + dataerrln("Lookup in French failed: expected \"" + frenchDisplayNames[i] + "\", got \"" + name + "\""); } @@ -1083,12 +1083,12 @@ LocaleTest::TestAtypicalLocales() localesToTest[i].getDisplayName(Locale("inv", "IN"), name); logln(name + " Locale fallback to be, and data fallback to root"); if (name != invDisplayNames[i]) - errln("Lookup in INV failed: expected \"" + prettify(invDisplayNames[i]) + dataerrln("Lookup in INV failed: expected \"" + prettify(invDisplayNames[i]) + "\", got \"" + prettify(name) + "\""); localesToTest[i].getDisplayName(Locale("inv", "BD"), name); logln(name + " Data fallback to root"); if (name != invDisplayNames[i]) - errln("Lookup in INV failed: expected \"" + prettify(invDisplayNames[i]) + dataerrln("Lookup in INV failed: expected \"" + prettify(invDisplayNames[i]) + "\", got \"" + prettify(name )+ "\""); } Locale::setDefault(saveLocale, status); @@ -1112,7 +1112,7 @@ LocaleTest::TestThaiCurrencyFormat() if(U_FAILURE(status) || !thaiCurrency) { - errln("Couldn't get th_TH currency -> " + UnicodeString(u_errorName(status))); + dataerrln("Couldn't get th_TH currency -> " + UnicodeString(u_errorName(status))); return; } if (thaiCurrency->getPositivePrefix(temp) != UnicodeString(&posPrefix, 1, 1)) @@ -1207,27 +1207,27 @@ LocaleTest::TestEuroSupport() ucurr_forLocale("en_US", tmp, 4, &status); resultStr.setTo(tmp); if (dollarStr != resultStr) { - errln("Fail: en_US didn't return USD"); + errcheckln(status, "Fail: en_US didn't return USD - %s", u_errorName(status)); } ucurr_forLocale("en_US_EURO", tmp, 4, &status); resultStr.setTo(tmp); if (euroStr != resultStr) { - errln("Fail: en_US_EURO didn't return EUR"); + errcheckln(status, "Fail: en_US_EURO didn't return EUR - %s", u_errorName(status)); } ucurr_forLocale("en_GB_EURO", tmp, 4, &status); resultStr.setTo(tmp); if (euroStr != resultStr) { - errln("Fail: en_GB_EURO didn't return EUR"); + errcheckln(status, "Fail: en_GB_EURO didn't return EUR - %s", u_errorName(status)); } ucurr_forLocale("en_US_PREEURO", tmp, 4, &status); resultStr.setTo(tmp); if (dollarStr != resultStr) { - errln("Fail: en_US_PREEURO didn't fallback to en_US"); + errcheckln(status, "Fail: en_US_PREEURO didn't fallback to en_US - %s", u_errorName(status)); } ucurr_forLocale("en_US_Q", tmp, 4, &status); resultStr.setTo(tmp); if (dollarStr != resultStr) { - errln("Fail: en_US_Q didn't fallback to en_US"); + errcheckln(status, "Fail: en_US_Q didn't fallback to en_US - %s", u_errorName(status)); } int32_t invalidLen = ucurr_forLocale("en_QQ", tmp, 4, &status); if (invalidLen || U_SUCCESS(status)) { @@ -1302,7 +1302,7 @@ LocaleTest::Test4139940() UErrorCode status = U_ZERO_ERROR; SimpleDateFormat df_full("EEEE", mylocale, status); if(U_FAILURE(status)){ - errln(UnicodeString("Could not create SimpleDateFormat object for locale hu. Error: " )+ UnicodeString(u_errorName(status))); + errcheckln(status, UnicodeString("Could not create SimpleDateFormat object for locale hu. Error: " )+ UnicodeString(u_errorName(status))); return; } UnicodeString str; @@ -1347,7 +1347,7 @@ LocaleTest::Test4143951() Calendar *cal = Calendar::createInstance(Locale("ru", "", ""), status); if(U_SUCCESS(status)) { if (cal->getFirstDayOfWeek(status) != UCAL_MONDAY) { - errln("Fail: First day of week in Russia should be Monday"); + dataerrln("Fail: First day of week in Russia should be Monday"); } } delete cal; @@ -1432,10 +1432,10 @@ LocaleTest::Test4147552() Locale loc = locales[i]; UnicodeString temp; if (loc.getDisplayName(temp) != englishDisplayNames[i]) - errln("English display-name mismatch: expected " + + dataerrln("English display-name mismatch: expected " + englishDisplayNames[i] + ", got " + loc.getDisplayName(temp)); if (loc.getDisplayName(loc, temp) != norwegianDisplayNames[i]) - errln("Norwegian display-name mismatch: expected " + + dataerrln("Norwegian display-name mismatch: expected " + norwegianDisplayNames[i] + ", got " + loc.getDisplayName(loc, temp)); } @@ -1461,9 +1461,9 @@ LocaleTest::TestVariantParsing() en_US_custom.getDisplayName(Locale::getUS(), got); if(got != dispName) { - errln("FAIL: getDisplayName()"); - errln("Wanted: " + dispName); - errln("Got : " + got); + dataerrln("FAIL: getDisplayName()"); + dataerrln("Wanted: " + dispName); + dataerrln("Got : " + got); } Locale shortVariant("fr", "FR", "foo"); @@ -1519,7 +1519,7 @@ LocaleTest::Test4105828() for (int32_t i = 0; i < 4; ++i) { NumberFormat *fmt = NumberFormat::createPercentInstance(LOC[i], status); if(U_FAILURE(status)) { - errln("Couldn't create NumberFormat"); + dataerrln("Couldn't create NumberFormat - %s", u_errorName(status)); return; } UnicodeString result; @@ -1758,7 +1758,7 @@ void LocaleTest::_checklocs(const char* label, logln("%s; req=%s, valid=%s, actual=%s", label, req, valid, actual); } else { - errln("FAIL: %s; req=%s, valid=%s, actual=%s. Require (R %s V) and (V %s A)", + dataerrln("FAIL: %s; req=%s, valid=%s, actual=%s. Require (R %s V) and (V %s A)", label, req, valid, actual, expReqValid, expValidActual); } @@ -1775,7 +1775,7 @@ void LocaleTest::TestGetLocale(void) { req = "en_US_BROOKLYN"; Calendar* cal = Calendar::createInstance(Locale::createFromName(req), ec); if (U_FAILURE(ec)) { - errln("FAIL: Calendar::createInstance failed"); + errln("FAIL: Calendar::createInstance failed - %s", u_errorName(ec)); } else { valid = cal->getLocale(ULOC_VALID_LOCALE, ec); actual = cal->getLocale(ULOC_ACTUAL_LOCALE, ec); @@ -1800,7 +1800,7 @@ void LocaleTest::TestGetLocale(void) { DecimalFormat* dec = (DecimalFormat*) NumberFormat::createInstance(Locale::createFromName(req), ec); if (U_FAILURE(ec)) { - errln("FAIL: NumberFormat::createInstance failed"); + dataerrln("FAIL: NumberFormat::createInstance failed - %s", u_errorName(ec)); } else { if (dec->getDynamicClassID() != DecimalFormat::getStaticClassID()) { errln("FAIL: NumberFormat::createInstance does not return a DecimalFormat"); @@ -1873,7 +1873,7 @@ void LocaleTest::TestGetLocale(void) { reqLoc = Locale::createFromName(req); BreakIterator* brk = BreakIterator::createWordInstance(reqLoc, ec); if (U_FAILURE(ec)) { - errln("FAIL: BreakIterator::createWordInstance failed"); + dataerrln("FAIL: BreakIterator::createWordInstance failed - %s", u_errorName(ec)); } else { valid = brk->getLocale(ULOC_VALID_LOCALE, ec); actual = brk->getLocale(ULOC_ACTUAL_LOCALE, ec); @@ -1935,7 +1935,7 @@ void LocaleTest::TestGetLocale(void) { reqLoc = Locale::createFromName(req); Collator* coll = Collator::createInstance(reqLoc, ec); if (U_FAILURE(ec)) { - errln("FAIL: Collator::createInstance failed"); + dataerrln("FAIL: Collator::createInstance failed - %s", u_errorName(ec)); } else { valid = coll->getLocale(ULOC_VALID_LOCALE, ec); actual = coll->getLocale(ULOC_ACTUAL_LOCALE, ec); @@ -2150,54 +2150,54 @@ void LocaleTest::TestCurrencyByDate(void) // Cycle through historical currencies date = (UDate)-630720000000.0; // pre 1961 - no currency defined - index = ucurr_countCurrencies("eo_AM", date, &status); + index = ucurr_countCurrencies("eo_AM", date, &status); if (index != 0) { - errln("FAIL: didn't return 0 for eo_AM"); + errcheckln(status, "FAIL: didn't return 0 for eo_AM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AM", date, index, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_AM didn't return NULL"); + errcheckln(status, "FAIL: eo_AM didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; date = (UDate)0.0; // 1970 - one currency defined - index = ucurr_countCurrencies("eo_AM", date, &status); + index = ucurr_countCurrencies("eo_AM", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AM"); + errcheckln(status, "FAIL: didn't return 1 for eo_AM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AM", date, index, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("SUR"); if (resultStr != tempStr) { - errln("FAIL: didn't return SUR for eo_AM"); + errcheckln(status, "FAIL: didn't return SUR for eo_AM - %s", u_errorName(status)); } date = (UDate)693792000000.0; // 1992 - one currency defined index = ucurr_countCurrencies("eo_AM", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AM"); + errcheckln(status, "FAIL: didn't return 1 for eo_AM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AM", date, index, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("RUR"); if (resultStr != tempStr) { - errln("FAIL: didn't return RUR for eo_AM"); + errcheckln(status, "FAIL: didn't return RUR for eo_AM - %s", u_errorName(status)); } date = (UDate)977616000000.0; // post 1993 - one currency defined index = ucurr_countCurrencies("eo_AM", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AM"); + errcheckln(status, "FAIL: didn't return 1 for eo_AM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AM", date, index, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AMD"); if (resultStr != tempStr) { - errln("FAIL: didn't return AMD for eo_AM"); + errcheckln(status, "FAIL: didn't return AMD for eo_AM - %s", u_errorName(status)); } // Locale AD has multiple currencies at once @@ -2205,88 +2205,88 @@ void LocaleTest::TestCurrencyByDate(void) index = ucurr_countCurrencies("eo_AD", date, &status); if (index != 4) { - errln("FAIL: didn't return 4 for eo_AD"); + errcheckln(status, "FAIL: didn't return 4 for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("EUR"); if (resultStr != tempStr) { - errln("FAIL: didn't return EUR for eo_AD"); + errcheckln(status, "FAIL: didn't return EUR for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ESP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ESP for eo_AD"); + errcheckln(status, "FAIL: didn't return ESP for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 3, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("FRF"); if (resultStr != tempStr) { - errln("FAIL: didn't return FRF for eo_AD"); + errcheckln(status, "FAIL: didn't return FRF for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 4, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ADP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ADP for eo_AD"); + errcheckln(status, "FAIL: didn't return ADP for eo_AD - %s", u_errorName(status)); } date = (UDate)0.0; // year 1970 index = ucurr_countCurrencies("eo_AD", date, &status); if (index != 3) { - errln("FAIL: didn't return 3 for eo_AD"); + errcheckln(status, "FAIL: didn't return 3 for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ESP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ESP for eo_AD"); + errcheckln(status, "FAIL: didn't return ESP for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("FRF"); if (resultStr != tempStr) { - errln("FAIL: didn't return FRF for eo_AD"); + errcheckln(status, "FAIL: didn't return FRF for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 3, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ADP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ADP for eo_AD"); + errcheckln(status, "FAIL: didn't return ADP for eo_AD - %s", u_errorName(status)); } date = (UDate)-630720000000.0; // year 1950 index = ucurr_countCurrencies("eo_AD", date, &status); if (index != 2) { - errln("FAIL: didn't return 2 for eo_AD"); + errcheckln(status, "FAIL: didn't return 2 for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ESP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ESP for eo_AD"); + errcheckln(status, "FAIL: didn't return ESP for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ADP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ADP for eo_AD"); + errcheckln(status, "FAIL: didn't return ADP for eo_AD - %s", u_errorName(status)); } date = (UDate)-2207520000000.0; // year 1900 index = ucurr_countCurrencies("eo_AD", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AD"); + errcheckln(status, "FAIL: didn't return 1 for eo_AD - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AD", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("ESP"); if (resultStr != tempStr) { - errln("FAIL: didn't return ESP for eo_AD"); + errcheckln(status, "FAIL: didn't return ESP for eo_AD - %s", u_errorName(status)); } // Locale UA has gap between years 1994 - 1996 @@ -2294,24 +2294,24 @@ void LocaleTest::TestCurrencyByDate(void) index = ucurr_countCurrencies("eo_UA", date, &status); if (index != 0) { - errln("FAIL: didn't return 0 for eo_UA"); + errcheckln(status, "FAIL: didn't return 0 for eo_UA - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_UA", date, index, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_UA didn't return NULL"); + errcheckln(status, "FAIL: eo_UA didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; // Test index bounds resLen = ucurr_forLocaleAndDate("eo_UA", date, 100, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_UA didn't return NULL"); + errcheckln(status, "FAIL: eo_UA didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; resLen = ucurr_forLocaleAndDate("eo_UA", date, 0, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_UA didn't return NULL"); + errcheckln(status, "FAIL: eo_UA didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; @@ -2319,17 +2319,17 @@ void LocaleTest::TestCurrencyByDate(void) index = ucurr_countCurrencies("eo_QQ", date, &status); if (index != 0) { - errln("FAIL: didn't return 0 for eo_QQ"); + errcheckln(status, "FAIL: didn't return 0 for eo_QQ - %s", u_errorName(status)); } status = U_ZERO_ERROR; resLen = ucurr_forLocaleAndDate("eo_QQ", date, 1, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_QQ didn't return NULL"); + errcheckln(status, "FAIL: eo_QQ didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; resLen = ucurr_forLocaleAndDate("eo_QQ", date, 0, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_QQ didn't return NULL"); + errcheckln(status, "FAIL: eo_QQ didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; @@ -2338,75 +2338,75 @@ void LocaleTest::TestCurrencyByDate(void) index = ucurr_countCurrencies("eo_AO", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AO"); + errcheckln(status, "FAIL: didn't return 1 for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AOA"); if (resultStr != tempStr) { - errln("FAIL: didn't return AOA for eo_AO"); + errcheckln(status, "FAIL: didn't return AOA for eo_AO - %s", u_errorName(status)); } date = (UDate)819936000000.0; // 1996 - 2 currencies index = ucurr_countCurrencies("eo_AO", date, &status); if (index != 2) { - errln("FAIL: didn't return 1 for eo_AO"); + errcheckln(status, "FAIL: didn't return 1 for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AOR"); if (resultStr != tempStr) { - errln("FAIL: didn't return AOR for eo_AO"); + errcheckln(status, "FAIL: didn't return AOR for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AON"); if (resultStr != tempStr) { - errln("FAIL: didn't return AON for eo_AO"); + errcheckln(status, "FAIL: didn't return AON for eo_AO - %s", u_errorName(status)); } date = (UDate)662256000000.0; // 1991 - 2 currencies index = ucurr_countCurrencies("eo_AO", date, &status); if (index != 2) { - errln("FAIL: didn't return 1 for eo_AO"); + errcheckln(status, "FAIL: didn't return 1 for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AON"); if (resultStr != tempStr) { - errln("FAIL: didn't return AON for eo_AO"); + errcheckln(status, "FAIL: didn't return AON for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AOK"); if (resultStr != tempStr) { - errln("FAIL: didn't return AOK for eo_AO"); + errcheckln(status, "FAIL: didn't return AOK for eo_AO - %s", u_errorName(status)); } date = (UDate)315360000000.0; // 1980 - one currency index = ucurr_countCurrencies("eo_AO", date, &status); if (index != 1) { - errln("FAIL: didn't return 1 for eo_AO"); + errcheckln(status, "FAIL: didn't return 1 for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("AOK"); if (resultStr != tempStr) { - errln("FAIL: didn't return AOK for eo_AO"); + errcheckln(status, "FAIL: didn't return AOK for eo_AO - %s", u_errorName(status)); } date = (UDate)0.0; // 1970 - no currencies index = ucurr_countCurrencies("eo_AO", date, &status); if (index != 0) { - errln("FAIL: didn't return 1 for eo_AO"); + errcheckln(status, "FAIL: didn't return 1 for eo_AO - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_AO", date, 1, TMP, 4, &status); if (resLen != 0) { - errln("FAIL: eo_AO didn't return NULL"); + errcheckln(status, "FAIL: eo_AO didn't return NULL - %s", u_errorName(status)); } status = U_ZERO_ERROR; @@ -2415,19 +2415,19 @@ void LocaleTest::TestCurrencyByDate(void) index = ucurr_countCurrencies("eo_DE@currency=DEM", date, &status); if (index != 2) { - errln("FAIL: didn't return 2 for eo_DE@currency=DEM"); + errcheckln(status, "FAIL: didn't return 2 for eo_DE@currency=DEM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_DE@currency=DEM", date, 1, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("EUR"); if (resultStr != tempStr) { - errln("FAIL: didn't return EUR for eo_DE@currency=DEM"); + errcheckln(status, "FAIL: didn't return EUR for eo_DE@currency=DEM - %s", u_errorName(status)); } resLen = ucurr_forLocaleAndDate("eo_DE@currency=DEM", date, 2, TMP, 4, &status); tempStr.setTo(TMP); resultStr.setTo("DEM"); if (resultStr != tempStr) { - errln("FAIL: didn't return DEM for eo_DE@currency=DEM"); + errcheckln(status, "FAIL: didn't return DEM for eo_DE@currency=DEM - %s", u_errorName(status)); } // Test Euro Support @@ -2442,15 +2442,15 @@ void LocaleTest::TestCurrencyByDate(void) ucurr_forLocaleAndDate("en_US", date, 1, TMP, 4, &status); if (u_strcmp(USD, TMP) != 0) { - errln("Fail: en_US didn't return USD"); + errcheckln(status, "Fail: en_US didn't return USD - %s", u_errorName(status)); } ucurr_forLocaleAndDate("en_US_PREEURO", date, 1, TMP, 4, &status); if (u_strcmp(USD, TMP) != 0) { - errln("Fail: en_US_PREEURO didn't fallback to en_US"); + errcheckln(status, "Fail: en_US_PREEURO didn't fallback to en_US - %s", u_errorName(status)); } ucurr_forLocaleAndDate("en_US_Q", date, 1, TMP, 4, &status); if (u_strcmp(USD, TMP) != 0) { - errln("Fail: en_US_Q didn't fallback to en_US"); + errcheckln(status, "Fail: en_US_Q didn't fallback to en_US - %s", u_errorName(status)); } status = U_ZERO_ERROR; // reset #endif diff --git a/icu4c/source/test/intltest/miscdtfm.cpp b/icu4c/source/test/intltest/miscdtfm.cpp index 36b9357a96b..38940c7d87c 100644 --- a/icu4c/source/test/intltest/miscdtfm.cpp +++ b/icu4c/source/test/intltest/miscdtfm.cpp @@ -1,5 +1,5 @@ /*********************************************************************** - * Copyright (c) 1997-2007, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -43,7 +43,7 @@ UBool DateFormatMiscTests::failure(UErrorCode status, const char* msg) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + errcheckln(status, UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); return TRUE; } @@ -321,7 +321,7 @@ DateFormatMiscTests::test4117335() UErrorCode status = U_ZERO_ERROR; DateFormatSymbols *symbols = new DateFormatSymbols(Locale::getJapan(), status); if(U_FAILURE(status)) { - errln("Failure creating DateFormatSymbols, %s", u_errorName(status)); + errcheckln(status, "Failure creating DateFormatSymbols, %s", u_errorName(status)); delete symbols; return; } diff --git a/icu4c/source/test/intltest/mnkytst.cpp b/icu4c/source/test/intltest/mnkytst.cpp index ce26669a91a..51aa8113c54 100644 --- a/icu4c/source/test/intltest/mnkytst.cpp +++ b/icu4c/source/test/intltest/mnkytst.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -261,7 +261,7 @@ void CollationMonkeyTest::runIndexedTest( int32_t index, UBool exec, const char* default: name = ""; break; } } else { - errln("Class collator not instantiated"); + dataerrln("Class collator not instantiated"); name = ""; } } diff --git a/icu4c/source/test/intltest/msfmrgts.cpp b/icu4c/source/test/intltest/msfmrgts.cpp index 03357bfee45..bbd855fcb72 100644 --- a/icu4c/source/test/intltest/msfmrgts.cpp +++ b/icu4c/source/test/intltest/msfmrgts.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -57,10 +57,14 @@ MessageFormatRegressionTest::runIndexedTest( int32_t index, UBool exec, const ch } UBool -MessageFormatRegressionTest::failure(UErrorCode status, const char* msg) +MessageFormatRegressionTest::failure(UErrorCode status, const char* msg, UBool possibleDataError) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } else { + errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } return TRUE; } @@ -174,6 +178,8 @@ void MessageFormatRegressionTest::Test4031438() MessageFormat *messageFormatter = new MessageFormat("", status); failure(status, "new MessageFormat"); + + const UBool possibleDataError = TRUE; //try { logln("Apply with pattern : " + pattern1); @@ -187,7 +193,7 @@ void MessageFormatRegressionTest::Test4031438() FieldPosition pos(FieldPosition::DONT_CARE); tempBuffer = messageFormatter->format(params, 1, tempBuffer, pos, status); if(tempBuffer != "Impossible {1} has occurred -- status code is 7 and message is {2}." || failure(status, "MessageFormat::format")) - errln("Tests arguments < substitution failed"); + dataerrln("Tests arguments < substitution failed"); logln("Formatted with 7 : " + tempBuffer); ParsePosition pp(0); int32_t count = 0; @@ -248,11 +254,11 @@ void MessageFormatRegressionTest::Test4031438() logln("Formatted with null : " + tempBuffer);*/ logln("Apply with pattern : " + pattern2); messageFormatter->applyPattern(pattern2, status); - failure(status, "messageFormatter->applyPattern"); + failure(status, "messageFormatter->applyPattern", possibleDataError); tempBuffer.remove(); tempBuffer = messageFormatter->format(params, 1, tempBuffer, pos, status); if (tempBuffer != "Double ' Quotes 7 test and quoted {1} test plus other {2} stuff.") - errln("quote format test (w/ params) failed."); + dataerrln("quote format test (w/ params) failed. - %s", u_errorName(status)); logln("Formatted with params : " + tempBuffer); /*tempBuffer = messageFormatter->format(null); @@ -475,7 +481,7 @@ void MessageFormatRegressionTest::Test4116444() for (int i = 0; i < 3; i++) { UnicodeString pattern = patterns[i]; mf->applyPattern(pattern, status); - failure(status, "mf->applyPattern"); + failure(status, "mf->applyPattern", TRUE); //try { int32_t count = 0; @@ -725,6 +731,7 @@ void MessageFormatRegressionTest::Test4118592() void MessageFormatRegressionTest::Test4118594() { UErrorCode status = U_ZERO_ERROR; + const UBool possibleDataError = TRUE; MessageFormat *mf = new MessageFormat("{0}, {0}, {0}", status); failure(status, "new MessageFormat"); UnicodeString forParsing("x, y, z"); @@ -739,19 +746,19 @@ void MessageFormatRegressionTest::Test4118594() if (objs[0].getString(str) != "z") errln("argument0: \"" + objs[0].getString(str) + "\""); mf->applyPattern("{0,number,#.##}, {0,number,#.#}", status); - failure(status, "mf->applyPattern"); + failure(status, "mf->applyPattern", possibleDataError); //Object[] oldobjs = {new Double(3.1415)}; Formattable oldobjs [] = {Formattable(3.1415)}; UnicodeString result; FieldPosition pos(FieldPosition::DONT_CARE); result = mf->format( oldobjs, 1, result, pos, status ); - failure(status, "mf->format"); + failure(status, "mf->format", possibleDataError); pat.remove(); logln("pattern: \"" + mf->toPattern(pat) + "\""); logln("text for parsing: \"" + result + "\""); // result now equals "3.14, 3.1" if (result != "3.14, 3.1") - errln("result = " + result); + dataerrln("result = " + result + " - " + u_errorName(status)); //Object[] newobjs = mf.parse(result, new ParsePosition(0)); int32_t count1 = 0; pp.setIndex(0); @@ -776,6 +783,7 @@ void MessageFormatRegressionTest::Test4105380() UnicodeString patternText1("The disk \"{1}\" contains {0}."); UnicodeString patternText2("There are {0} on the disk \"{1}\""); UErrorCode status = U_ZERO_ERROR; + const UBool possibleDataError = TRUE; MessageFormat *form1 = new MessageFormat(patternText1, status); failure(status, "new MessageFormat"); MessageFormat *form2 = new MessageFormat(patternText2, status); @@ -799,10 +807,10 @@ void MessageFormatRegressionTest::Test4105380() UnicodeString result; logln(form1->format(testArgs, 2, result, bogus, status)); - failure(status, "form1->format"); + failure(status, "form1->format", possibleDataError); result.remove(); logln(form2->format(testArgs, 2, result, bogus, status)); - failure(status, "form1->format"); + failure(status, "form1->format", possibleDataError); delete form1; delete form2; @@ -875,16 +883,17 @@ void MessageFormatRegressionTest::Test4142938() }; FieldPosition pos(FieldPosition::DONT_CARE); out = mf->format(objs, 1, out, pos, status); - failure(status, "mf->format"); - if (SUFFIX[i] == "") { - if (out != PREFIX[i]) - errln((UnicodeString)"" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\""); - } - else { - if (!out.startsWith(PREFIX[i]) || - !out.endsWith(SUFFIX[i])) - errln((UnicodeString)"" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\"...\"" + - SUFFIX[i] + "\""); + if (!failure(status, "mf->format", TRUE)) { + if (SUFFIX[i] == "") { + if (out != PREFIX[i]) + errln((UnicodeString)"" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\""); + } + else { + if (!out.startsWith(PREFIX[i]) || + !out.endsWith(SUFFIX[i])) + errln((UnicodeString)"" + i + ": Got \"" + out + "\"; Want \"" + PREFIX[i] + "\"...\"" + + SUFFIX[i] + "\""); + } } } diff --git a/icu4c/source/test/intltest/msfmrgts.h b/icu4c/source/test/intltest/msfmrgts.h index e9e45218a70..7cfca39102e 100644 --- a/icu4c/source/test/intltest/msfmrgts.h +++ b/icu4c/source/test/intltest/msfmrgts.h @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2001, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -45,7 +45,7 @@ public: void Test4112104(void); protected: - UBool failure(UErrorCode status, const char* msg); + UBool failure(UErrorCode status, const char* msg, UBool possibleDataError=FALSE); }; diff --git a/icu4c/source/test/intltest/nmfmapts.cpp b/icu4c/source/test/intltest/nmfmapts.cpp index 117b2ed3159..fe9c0ff120f 100644 --- a/icu4c/source/test/intltest/nmfmapts.cpp +++ b/icu4c/source/test/intltest/nmfmapts.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2005, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -68,35 +68,35 @@ void IntlTestNumberFormatAPI::testAPI(/* char* par */) NumberFormat *def = NumberFormat::createInstance(status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (default)"); + dataerrln("ERROR: Could not create NumberFormat (default) - %s", u_errorName(status)); } status = U_ZERO_ERROR; NumberFormat *fr = NumberFormat::createInstance(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (French)"); + dataerrln("ERROR: Could not create NumberFormat (French) - %s", u_errorName(status)); } NumberFormat *cur = NumberFormat::createCurrencyInstance(status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (currency, default)"); + dataerrln("ERROR: Could not create NumberFormat (currency, default) - %s", u_errorName(status)); } status = U_ZERO_ERROR; NumberFormat *cur_fr = NumberFormat::createCurrencyInstance(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (currency, French)"); + dataerrln("ERROR: Could not create NumberFormat (currency, French) - %s", u_errorName(status)); } NumberFormat *per = NumberFormat::createPercentInstance(status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (percent, default)"); + dataerrln("ERROR: Could not create NumberFormat (percent, default) - %s", u_errorName(status)); } status = U_ZERO_ERROR; NumberFormat *per_fr = NumberFormat::createPercentInstance(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Could not create NumberFormat (percent, French)"); + dataerrln("ERROR: Could not create NumberFormat (percent, French) - %s", u_errorName(status)); } // ======= Test equality @@ -232,7 +232,7 @@ if (fr != NULL && def != NULL) status = U_ZERO_ERROR; NumberFormat *test = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create a NumberFormat"); + errcheckln(status, "ERROR: Couldn't create a NumberFormat - %s", u_errorName(status)); } if(test->getDynamicClassID() != DecimalFormat::getStaticClassID()) { diff --git a/icu4c/source/test/intltest/nmfmtrt.cpp b/icu4c/source/test/intltest/nmfmtrt.cpp index 580918aec8e..f2be561f799 100644 --- a/icu4c/source/test/intltest/nmfmtrt.cpp +++ b/icu4c/source/test/intltest/nmfmtrt.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2007, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -43,10 +43,14 @@ void NumberFormatRoundTripTest::runIndexedTest( int32_t index, UBool exec, const } UBool -NumberFormatRoundTripTest::failure(UErrorCode status, const char* msg) +NumberFormatRoundTripTest::failure(UErrorCode status, const char* msg, UBool possibleDataError) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } else { + errln(UnicodeString("FAIL: ") + msg + " failed, error " + u_errorName(status)); + } return TRUE; } @@ -90,19 +94,19 @@ NumberFormatRoundTripTest::start() logln("Default Locale"); fmt = NumberFormat::createInstance(status); - if (!failure(status, "NumberFormat::createInstance")){ + if (!failure(status, "NumberFormat::createInstance", TRUE)){ test(fmt); } delete fmt; fmt = NumberFormat::createCurrencyInstance(status); - if (!failure(status, "NumberFormat::createCurrencyInstance")){ + if (!failure(status, "NumberFormat::createCurrencyInstance", TRUE)){ test(fmt); } delete fmt; fmt = NumberFormat::createPercentInstance(status); - if (!failure(status, "NumberFormat::createPercentInstance")){ + if (!failure(status, "NumberFormat::createPercentInstance", TRUE)){ test(fmt); } delete fmt; diff --git a/icu4c/source/test/intltest/nmfmtrt.h b/icu4c/source/test/intltest/nmfmtrt.h index 12eff9a29d8..a61c5a47e10 100644 --- a/icu4c/source/test/intltest/nmfmtrt.h +++ b/icu4c/source/test/intltest/nmfmtrt.h @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2003, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -67,7 +67,7 @@ public: } protected: - UBool failure(UErrorCode status, const char* msg); + UBool failure(UErrorCode status, const char* msg, UBool possibleDataError=FALSE); }; diff --git a/icu4c/source/test/intltest/normconf.cpp b/icu4c/source/test/intltest/normconf.cpp index 10e7ae89cee..4b498cd4018 100644 --- a/icu4c/source/test/intltest/normconf.cpp +++ b/icu4c/source/test/intltest/normconf.cpp @@ -1,6 +1,6 @@ /* ************************************************************************ -* Copyright (c) 1997-2008, International Business Machines +* Copyright (c) 1997-2009, International Business Machines * Corporation and others. All Rights Reserved. ************************************************************************ */ @@ -141,7 +141,7 @@ NormalizerConformanceTest::openNormalizationTestFile(const char *filename) { } #endif - dataerrln("[DATA] Failed to open %s", filename); + dataerrln("Failed to open %s", filename); return NULL; } diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp index 9e14a7caf47..0e9391a2d0e 100644 --- a/icu4c/source/test/intltest/numfmtst.cpp +++ b/icu4c/source/test/intltest/numfmtst.cpp @@ -50,7 +50,7 @@ static const UChar ISO_CURRENCY_USD[] = {0x55, 0x53, 0x44, 0}; // "USD" #define CASE(id,test) case id: name = #test; if (exec) { logln(#test "---"); logln((UnicodeString)""); test(); } break -#define CHECK(status,str) if (U_FAILURE(status)) { errln(UnicodeString("FAIL: ") + str); return; } +#define CHECK(status,str) if (U_FAILURE(status)) { errcheckln(status, UnicodeString("FAIL: ") + str + " - " + u_errorName(status)); return; } void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) { @@ -122,7 +122,7 @@ NumberFormatTest::TestAPI(void) UErrorCode status = U_ZERO_ERROR; NumberFormat *test = NumberFormat::createInstance("root", status); if(U_FAILURE(status)) { - errln("unable to create format object"); + dataerrln("unable to create format object - %s", u_errorName(status)); } if(test != NULL) { test->setMinimumIntegerDigits(10); @@ -197,7 +197,7 @@ NumberFormatTest::TestPatterns(void) { UErrorCode status = U_ZERO_ERROR; DecimalFormatSymbols sym(Locale::getUS(), status); - if (U_FAILURE(status)) { errln("FAIL: Could not construct DecimalFormatSymbols"); return; } + if (U_FAILURE(status)) { errcheckln(status, "FAIL: Could not construct DecimalFormatSymbols - %s", u_errorName(status)); return; } const char* pat[] = { "#.#", "#.", ".#", "#" }; int32_t pat_length = (int32_t)(sizeof(pat) / sizeof(pat[0])); @@ -255,7 +255,7 @@ NumberFormatTest::TestExponential(void) { UErrorCode status = U_ZERO_ERROR; DecimalFormatSymbols sym(Locale::getUS(), status); - if (U_FAILURE(status)) { errln("FAIL: Bad status returned by DecimalFormatSymbols ct"); return; } + if (U_FAILURE(status)) { errcheckln(status, "FAIL: Bad status returned by DecimalFormatSymbols ct - %s", u_errorName(status)); return; } const char* pat[] = { "0.####E0", "00.000E00", "##0.######E000", "0.###E0;[0.###E0]" }; int32_t pat_length = (int32_t)(sizeof(pat) / sizeof(pat[0])); @@ -569,6 +569,11 @@ NumberFormatTest::TestQuotes(void) UErrorCode status = U_ZERO_ERROR; UnicodeString *pat; DecimalFormatSymbols *sym = new DecimalFormatSymbols(Locale::getUS(), status); + if (U_FAILURE(status)) { + errcheckln(status, "Fail to create DecimalFormatSymbols - %s", u_errorName(status)); + delete sym; + return; + } pat = new UnicodeString("a'fo''o'b#"); DecimalFormat *fmt = new DecimalFormat(*pat, *sym, status); UnicodeString s; @@ -604,6 +609,11 @@ NumberFormatTest::TestCurrencySign(void) DecimalFormatSymbols* sym = new DecimalFormatSymbols(Locale::getUS(), status); UnicodeString pat; UChar currency = 0x00A4; + if (U_FAILURE(status)) { + errcheckln(status, "Fail to create DecimalFormatSymbols - %s", u_errorName(status)); + delete sym; + return; + } // "\xA4#,##0.00;-\xA4#,##0.00" pat.append(currency).append("#,##0.00;-"). append(currency).append("#,##0.00"); @@ -636,7 +646,7 @@ NumberFormatTest::TestCurrencySign(void) if (s != "USD -1,234.56") errln((UnicodeString)"FAIL: Expected USD -1,234.56"); delete fmt; delete sym; - if (U_FAILURE(status)) errln((UnicodeString)"FAIL: Status " + (int32_t)status); + if (U_FAILURE(status)) errln((UnicodeString)"FAIL: Status " + u_errorName(status)); } // ------------------------------------- @@ -752,7 +762,7 @@ void NumberFormatTest::TestCurrencyObject() { NumberFormat::createCurrencyInstance(Locale::getUS(), ec); if (U_FAILURE(ec)) { - errln("FAIL: getCurrencyInstance(US)"); + dataerrln("FAIL: getCurrencyInstance(US) - %s", u_errorName(ec)); delete fmt; return; } @@ -816,7 +826,7 @@ NumberFormatTest::TestParse(void) if (n.getType() != Formattable::kLong || n.getLong() != 0) errln((UnicodeString)"FAIL: Expected 0"); delete format; - if (U_FAILURE(status)) errln((UnicodeString)"FAIL: Status " + (int32_t)status); + if (U_FAILURE(status)) errcheckln(status, (UnicodeString)"FAIL: Status " + u_errorName(status)); //} //catch(Exception e) { // errln((UnicodeString)"Exception caught: " + e); @@ -916,7 +926,7 @@ void NumberFormatTest::TestWhiteSpaceParsing(void) { DecimalFormatSymbols US(Locale::getUS(), ec); DecimalFormat fmt("a b#0c ", US, ec); if (U_FAILURE(ec)) { - errln("FAIL: Constructor"); + errcheckln(ec, "FAIL: Constructor - %s", u_errorName(ec)); return; } int32_t n = 1234; @@ -1450,7 +1460,7 @@ void NumberFormatTest::TestRegCurrency(void) { UChar TMP[4]; static const UChar QQQ[] = {0x51, 0x51, 0x51, 0}; if(U_FAILURE(status)) { - errln("Unable to get currency for locale, error %s", u_errorName(status)); + errcheckln(status, "Unable to get currency for locale, error %s", u_errorName(status)); return; } @@ -1516,43 +1526,51 @@ void NumberFormatTest::TestCurrencyNames(void) { static const UChar ITL[] = {0x49, 0x54, 0x4C, 0}; /*ITL*/ UBool isChoiceFormat; int32_t len; + const UBool possibleDataError = TRUE; // Warning: HARD-CODED LOCALE DATA in this test. If it fails, CHECK - // THE LOCALE DATA before diving into the code. + // THE LOCALE DATA before diving into the code. assertEquals("USD.getName(SYMBOL_NAME)", UnicodeString("$"), UnicodeString(ucurr_getName(USD, "en", UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("USD.getName(LONG_NAME)", UnicodeString("US Dollar"), UnicodeString(ucurr_getName(USD, "en", UCURR_LONG_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("CAD.getName(SYMBOL_NAME)", UnicodeString("CA$"), UnicodeString(ucurr_getName(CAD, "en", UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("CAD.getName(SYMBOL_NAME)", UnicodeString("$"), UnicodeString(ucurr_getName(CAD, "en_CA", UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("USD.getName(SYMBOL_NAME)", UnicodeString("US$"), UnicodeString(ucurr_getName(USD, "en_AU", UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("CAD.getName(SYMBOL_NAME)", UnicodeString("CA$"), UnicodeString(ucurr_getName(CAD, "en_AU", UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertEquals("USX.getName(LONG_NAME)", UnicodeString("USX"), UnicodeString(ucurr_getName(USX, "en_US", UCURR_LONG_NAME, - &isChoiceFormat, &len, &ec))); + &isChoiceFormat, &len, &ec)), + possibleDataError); assertSuccess("ucurr_getName", ec); ec = U_ZERO_ERROR; @@ -1561,12 +1579,12 @@ void NumberFormatTest::TestCurrencyNames(void) { ucurr_getName(CAD, "es_ES", UCURR_LONG_NAME, &isChoiceFormat, &len, &ec); assertTrue("ucurr_getName (fallback)", - U_USING_FALLBACK_WARNING == ec, TRUE); + U_USING_FALLBACK_WARNING == ec, TRUE, possibleDataError); ucurr_getName(CAD, "zh_TW", UCURR_LONG_NAME, &isChoiceFormat, &len, &ec); assertTrue("ucurr_getName (fallback)", - U_USING_FALLBACK_WARNING == ec, TRUE); + U_USING_FALLBACK_WARNING == ec, TRUE, possibleDataError); ucurr_getName(CAD, "en_US", UCURR_LONG_NAME, &isChoiceFormat, &len, &ec); @@ -1675,7 +1693,7 @@ void NumberFormatTest::TestAdoptDecimalFormatSymbols(void) { UErrorCode ec = U_ZERO_ERROR; DecimalFormatSymbols *sym = new DecimalFormatSymbols(Locale::getUS(), ec); if (U_FAILURE(ec)) { - errln("Fail: DecimalFormatSymbols constructor"); + errcheckln(ec, "Fail: DecimalFormatSymbols constructor - %s", u_errorName(ec)); delete sym; return; } @@ -1782,7 +1800,7 @@ void NumberFormatTest::TestIllegalPatterns() { logln("Ok: pattern \"%s\": %s", pat, u_errorName(ec)); } else { - errln("FAIL: pattern \"%s\" should have %s; got %s", + errcheckln(ec, "FAIL: pattern \"%s\" should have %s; got %s", pat, (valid?"succeeded":"failed"), u_errorName(ec)); } @@ -1841,7 +1859,7 @@ void NumberFormatTest::TestCases() { UErrorCode ec = U_ZERO_ERROR; TextFile reader("NumberFormatTestCases.txt", "UTF8", ec); if (U_FAILURE(ec)) { - dataerrln("[DATA] Couldn't open NumberFormatTestCases.txt"); + dataerrln("Couldn't open NumberFormatTestCases.txt"); return; } TokenIterator tokens(&reader); @@ -2033,7 +2051,7 @@ void NumberFormatTest::TestCases() { if (U_SUCCESS(ec)) { errln("FAIL: Unexpected EOF"); } else { - errln("FAIL: " + where + "Unexpected " + u_errorName(ec)); + errcheckln(ec, "FAIL: " + where + "Unexpected " + u_errorName(ec)); } done: @@ -2314,7 +2332,7 @@ void NumberFormatTest::TestJB3832(){ UnicodeString s; NumberFormat* currencyFmt = NumberFormat::createCurrencyInstance(loc, status); if(U_FAILURE(status)){ - errln("Could not create currency formatter for locale %s", localeID); + dataerrln("Could not create currency formatter for locale %s - %s", localeID, u_errorName(status)); return; } currencyFmt->format(1150.50, s); @@ -2340,7 +2358,7 @@ void NumberFormatTest::TestHost() Locale loc("en_US@compat=host"); NumberFormat *full = NumberFormat::createInstance(loc, status); if (full == NULL || U_FAILURE(status)) { - errln("FAIL: Can't create number instance for host"); + dataerrln("FAIL: Can't create number instance for host - %s", u_errorName(status)); return; } UnicodeString result1; @@ -2372,7 +2390,7 @@ void NumberFormatTest::TestHostClone() UDate now = Calendar::getNow(); NumberFormat *full = NumberFormat::createInstance(loc, status); if (full == NULL || U_FAILURE(status)) { - errln("FAIL: Can't create Relative date instance"); + dataerrln("FAIL: Can't create Relative date instance - %s", u_errorName(status)); return; } UnicodeString result1; @@ -2411,7 +2429,7 @@ void NumberFormatTest::TestCurrencyFormat() MeasureFormat *measureObj = MeasureFormat::createCurrencyFormat(status); Locale::setDefault( saveDefaultLocale, status ); if (U_FAILURE(status)){ - errln("FAIL: Status %s", u_errorName(status)); + dataerrln("FAIL: Status %s", u_errorName(status)); return; } cloneObj = (MeasureFormat *)measureObj->clone(); @@ -2456,7 +2474,7 @@ void NumberFormatTest::TestRounding() { DecimalFormat *df = (DecimalFormat*)NumberFormat::createCurrencyInstance(Locale::getEnglish(), status); if (U_FAILURE(status)) { - errln("Unable to create decimal formatter."); + dataerrln("Unable to create decimal formatter. - %s", u_errorName(status)); return; } @@ -2641,20 +2659,22 @@ void NumberFormatTest::TestNumberingSystems() { NumberFormat* fmt1= NumberFormat::createInstance(loc1, ec); if (U_FAILURE(ec)) { - errln("FAIL: getInstance(en_US@numbers=thai)"); + dataerrln("FAIL: getInstance(en_US@numbers=thai) - %s", u_errorName(ec)); } NumberFormat* fmt2= NumberFormat::createInstance(loc2, ec); if (U_FAILURE(ec)) { - errln("FAIL: getInstance(en_US@numbers=hebr)"); + dataerrln("FAIL: getInstance(en_US@numbers=hebr) - %s", u_errorName(ec)); } NumberFormat* fmt3= NumberFormat::createInstance(loc3, ec); if (U_FAILURE(ec)) { - errln("FAIL: getInstance(en_US@numbers=arabext)"); + dataerrln("FAIL: getInstance(en_US@numbers=arabext) - %s", u_errorName(ec)); + } + + if (U_SUCCESS(ec) && fmt1 != NULL && fmt2 != NULL && fmt3 != NULL) { + expect2(*fmt1, 1234.567, CharsToUnicodeString("\\u0E51,\\u0E52\\u0E53\\u0E54.\\u0E55\\u0E56\\u0E57")); + expect3(*fmt2, 5678.0, CharsToUnicodeString("\\u05D4\\u05F3\\u05EA\\u05E8\\u05E2\\u05F4\\u05D7")); + expect2(*fmt3, 1234.567, CharsToUnicodeString("\\u06F1,\\u06F2\\u06F3\\u06F4.\\u06F5\\u06F6\\u06F7")); } - - expect2(*fmt1, 1234.567, CharsToUnicodeString("\\u0E51,\\u0E52\\u0E53\\u0E54.\\u0E55\\u0E56\\u0E57")); - expect3(*fmt2, 5678.0, CharsToUnicodeString("\\u05D4\\u05F3\\u05EA\\u05E8\\u05E2\\u05F4\\u05D7")); - expect2(*fmt3, 1234.567, CharsToUnicodeString("\\u06F1,\\u06F2\\u06F3\\u06F4.\\u06F5\\u06F6\\u06F7")); // Test bogus keyword value NumberFormat* fmt4= NumberFormat::createInstance(loc4, ec); @@ -2892,7 +2912,7 @@ NumberFormatTest::TestCurrencyIsoPluralFormat() { NumberFormat* numFmt = NumberFormat::createInstance(locale, k, status); if (U_FAILURE(status)) { delete numFmt; - errln((UnicodeString)"can not create instance, locale:" + localeString + ", style: " + k); + dataerrln((UnicodeString)"can not create instance, locale:" + localeString + ", style: " + k + " - " + u_errorName(status)); continue; } // TODO: need to be UChar* @@ -3000,7 +3020,7 @@ for (;;) { NumberFormat* numFmt = NumberFormat::createInstance(locale, k, status); if (U_FAILURE(status)) { delete numFmt; - errln((UnicodeString)"can not create instance, locale:" + localeString + ", style: " + k); + dataerrln((UnicodeString)"can not create instance, locale:" + localeString + ", style: " + k + " - " + u_errorName(status)); continue; } // TODO: need to be UChar* @@ -5699,12 +5719,18 @@ NumberFormatTest::TestParseCurrencyInUCurr() { UErrorCode status = U_ZERO_ERROR; NumberFormat* numFmt = NumberFormat::createInstance(locale, NumberFormat::kCurrencyStyle, status); Formattable parseResult; - numFmt->parse(formatted, parseResult, status); - if (U_FAILURE(status) || - (parseResult.getType() == Formattable::kDouble && - parseResult.getDouble() != 1.0)) { - errln("wrong parsing, " + formatted); - errln("data: " + formatted); + if (numFmt != NULL && U_SUCCESS(status)) { + numFmt->parse(formatted, parseResult, status); + if (U_FAILURE(status) || + (parseResult.getType() == Formattable::kDouble && + parseResult.getDouble() != 1.0)) { + errln("wrong parsing, " + formatted); + errln("data: " + formatted); + } + } else { + dataerrln("Unable to create NumberFormat. - %s", u_errorName(status)); + delete numFmt; + break; } delete numFmt; } @@ -5714,12 +5740,18 @@ NumberFormatTest::TestParseCurrencyInUCurr() { UErrorCode status = U_ZERO_ERROR; NumberFormat* numFmt = NumberFormat::createInstance(locale, NumberFormat::kCurrencyStyle, status); Formattable parseResult; - numFmt->parse(formatted, parseResult, status); - if (!U_FAILURE(status) || - (parseResult.getType() == Formattable::kDouble && - parseResult.getDouble() == 1.0)) { - errln("parsed but should not be: " + formatted); - errln("data: " + formatted); + if (numFmt != NULL && U_SUCCESS(status)) { + numFmt->parse(formatted, parseResult, status); + if (!U_FAILURE(status) || + (parseResult.getType() == Formattable::kDouble && + parseResult.getDouble() == 1.0)) { + errln("parsed but should not be: " + formatted); + errln("data: " + formatted); + } + } else { + dataerrln("Unable to create NumberFormat. - %s", u_errorName(status)); + delete numFmt; + break; } delete numFmt; } diff --git a/icu4c/source/test/intltest/numrgts.cpp b/icu4c/source/test/intltest/numrgts.cpp index ec15948aa99..8f30438bd1b 100644 --- a/icu4c/source/test/intltest/numrgts.cpp +++ b/icu4c/source/test/intltest/numrgts.cpp @@ -1,5 +1,5 @@ /*********************************************************************** - * Copyright (c) 1997-2008, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -174,11 +174,16 @@ NumberFormatRegressionTest::runIndexedTest( int32_t index, UBool exec, const cha } UBool -NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, const Locale& l) +NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, const Locale& l, UBool possibleDataError) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ", "") + msg - + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l.getName(),"")); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l.getName(),"")); + } else { + errcheckln(status, UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l.getName(),"")); + } return TRUE; } @@ -186,11 +191,16 @@ NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, } UBool -NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, const char *l) +NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, const char *l, UBool possibleDataError) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ", "") + msg - + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l, "")); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l, "")); + } else { + errcheckln(status, UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "") + UnicodeString(l, "")); + } return TRUE; } @@ -198,11 +208,16 @@ NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, } UBool -NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg) +NumberFormatRegressionTest::failure(UErrorCode status, const UnicodeString& msg, UBool possibleDataError) { if(U_FAILURE(status)) { - errln(UnicodeString("FAIL: ", "") + msg - + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "")); + if (possibleDataError) { + dataerrln(UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "")); + } else { + errcheckln(status, UnicodeString("FAIL: ", "") + msg + + UnicodeString(" failed, error ", "") + UnicodeString(u_errorName(status), "")); + } return TRUE; } @@ -265,23 +280,24 @@ void NumberFormatRegressionTest::Test4088161 (void) { UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); - failure(status, "new DecimalFormat", ""); - double d = 100; - df->setMinimumFractionDigits(0); - df->setMaximumFractionDigits(16); - UnicodeString sBuf1; - FieldPosition fp1(0); - logln(UnicodeString("d = ") + d); - logln("maxFractionDigits = " + df->getMaximumFractionDigits()); - - logln(" format(d) = '" + df->format(d, sBuf1, fp1) + "'"); - df->setMaximumFractionDigits(17); - UnicodeString sBuf2; - FieldPosition fp2(0); - logln("maxFractionDigits = " + df->getMaximumFractionDigits()); - sBuf2 = df->format(d, sBuf2, fp2); - if(sBuf2 != "100") - errln(" format(d) = '" + sBuf2 + "'"); + if (!failure(status, "new DecimalFormat", "")) { + double d = 100; + df->setMinimumFractionDigits(0); + df->setMaximumFractionDigits(16); + UnicodeString sBuf1; + FieldPosition fp1(0); + logln(UnicodeString("d = ") + d); + logln("maxFractionDigits = " + df->getMaximumFractionDigits()); + + logln(" format(d) = '" + df->format(d, sBuf1, fp1) + "'"); + df->setMaximumFractionDigits(17); + UnicodeString sBuf2; + FieldPosition fp2(0); + logln("maxFractionDigits = " + df->getMaximumFractionDigits()); + sBuf2 = df->format(d, sBuf2, fp2); + if(sBuf2 != "100") + errln(" format(d) = '" + sBuf2 + "'"); + } delete df; } @@ -380,7 +396,7 @@ NumberFormatRegressionTest::assignFloatValue(float returnfloat) logln(UnicodeString(" VALUE ") + returnfloat); UErrorCode status = U_ZERO_ERROR; NumberFormat *nfcommon = NumberFormat::createCurrencyInstance(Locale::getUS(), status); - if (failure(status, "NumberFormat::createCurrencyInstance", Locale::getUS())){ + if (failure(status, "NumberFormat::createCurrencyInstance", Locale::getUS(), TRUE)){ delete nfcommon; return returnfloat; } @@ -454,7 +470,7 @@ void NumberFormatRegressionTest::Test4071492 (void) double x = 0.00159999; UErrorCode status = U_ZERO_ERROR; NumberFormat *nf = NumberFormat::createInstance(status); - if (failure(status, "NumberFormat::createInstance", Locale::getUS())) { + if (failure(status, "NumberFormat::createInstance", Locale::getUS(), TRUE)) { delete nf; return; } @@ -482,7 +498,7 @@ void NumberFormatRegressionTest::Test4086575(void) // TODO: There is not a good way to find out that the creation of this number format has // failed. Major rewiring of format construction proposed. if(U_FAILURE(status)) { - errln("Something is wrong with French number format - it should not fallback. Exitting"); + dataerrln("Something is wrong with French number format - it should not fallback. Exitting - %s", u_errorName(status)); delete nf1; return; } @@ -562,7 +578,7 @@ void NumberFormatRegressionTest::Test4068693(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -618,7 +634,7 @@ void NumberFormatRegressionTest::Test4087251 (void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -684,7 +700,7 @@ void NumberFormatRegressionTest::Test4090504 (void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -713,7 +729,7 @@ void NumberFormatRegressionTest::Test4095713 (void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -740,7 +756,7 @@ void NumberFormatRegressionTest::Test4092561 (void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -766,7 +782,7 @@ void NumberFormatRegressionTest::Test4092480 (void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *dfFoo = new DecimalFormat(UnicodeString("000"), status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete dfFoo; return; } @@ -822,7 +838,7 @@ void NumberFormatRegressionTest::Test4087244 (void) { Locale *de = new Locale(loc); NumberFormat *nf = NumberFormat::createCurrencyInstance(*de, status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + dataerrln("Error creating DecimalFormat: %s", u_errorName(status)); delete nf; return; } @@ -889,7 +905,7 @@ void NumberFormatRegressionTest::Test4070798 (void) int len = uloc_canonicalize("fr_FR_PREEURO", loc, 256, &status); formatter = NumberFormat::createInstance(Locale(loc), status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + dataerrln("Error creating DecimalFormat: %s", u_errorName(status)); delete formatter; return; } @@ -962,7 +978,7 @@ void NumberFormatRegressionTest::Test4071005 (void) UErrorCode status = U_ZERO_ERROR; formatter = NumberFormat::createInstance(Locale::getCanadaFrench(), status); - if (failure(status, "NumberFormat::createNumberInstance", Locale::getCanadaFrench())){ + if (failure(status, "NumberFormat::createNumberInstance", Locale::getCanadaFrench(), TRUE)){ delete formatter; return; }; @@ -1030,7 +1046,7 @@ void NumberFormatRegressionTest::Test4071014 (void) char loc[256]={0}; uloc_canonicalize("de_DE_PREEURO", loc, 256, &status); formatter = NumberFormat::createInstance(Locale(loc), status); - if (failure(status, "NumberFormat::createNumberInstance", loc)){ + if (failure(status, "NumberFormat::createNumberInstance", loc, TRUE)){ delete formatter; return; } @@ -1096,7 +1112,7 @@ void NumberFormatRegressionTest::Test4071859 (void) char loc[256]={0}; uloc_canonicalize("it_IT_PREEURO", loc, 256, &status); formatter = NumberFormat::createInstance(Locale(loc), status); - if (failure(status, "NumberFormat::createNumberInstance")){ + if (failure(status, "NumberFormat::createNumberInstance", TRUE)){ delete formatter; return; }; @@ -1147,26 +1163,27 @@ void NumberFormatRegressionTest::Test4093610(void) { UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat("#0.#", status); - failure(status, "new DecimalFormat"); - UnicodeString s("12.4"); - roundingTest(df, 12.35, s); - roundingTest(df, 12.45, s); - s = "12.5"; - roundingTest(df, 12.452,s); - s = "12.6"; - roundingTest(df, 12.55, s); - roundingTest(df, 12.65, s); - s = "12.7"; - roundingTest(df, 12.652,s); - s = "12.8"; - roundingTest(df, 12.75, s); - roundingTest(df, 12.752,s); - roundingTest(df, 12.85, s); - s = "12.9"; - roundingTest(df, 12.852,s); - s = "13"; - roundingTest(df, 12.95, s); - roundingTest(df, 12.952,s); + if (!failure(status, "new DecimalFormat")) { + UnicodeString s("12.4"); + roundingTest(df, 12.35, s); + roundingTest(df, 12.45, s); + s = "12.5"; + roundingTest(df, 12.452,s); + s = "12.6"; + roundingTest(df, 12.55, s); + roundingTest(df, 12.65, s); + s = "12.7"; + roundingTest(df, 12.652,s); + s = "12.8"; + roundingTest(df, 12.75, s); + roundingTest(df, 12.752,s); + roundingTest(df, 12.85, s); + s = "12.9"; + roundingTest(df, 12.852,s); + s = "13"; + roundingTest(df, 12.95, s); + roundingTest(df, 12.952,s); + } delete df; } @@ -1213,7 +1230,7 @@ void NumberFormatRegressionTest::Test4074454(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *fmt = new DecimalFormat("#,#00.00;-#.#", status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete fmt; return; } @@ -1282,7 +1299,7 @@ void NumberFormatRegressionTest::Test4101481(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *sdf = new DecimalFormat(UnicodeString("#,##0"), status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete sdf; return; } @@ -1300,7 +1317,7 @@ void NumberFormatRegressionTest::Test4052223(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *fmt = new DecimalFormat(UnicodeString("#,#00.00"), status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete fmt; return; } @@ -1384,7 +1401,7 @@ void NumberFormatRegressionTest::Test4108738(void) failure(status, "new DecimalFormatSymbols"); DecimalFormat *df = new DecimalFormat("#,##0.###", syms, status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -1423,7 +1440,7 @@ void NumberFormatRegressionTest::Test4106658(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); // Corrected; see 4147706 if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -1459,7 +1476,7 @@ void NumberFormatRegressionTest::Test4106662(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -1493,7 +1510,7 @@ void NumberFormatRegressionTest::Test4114639(void) UErrorCode status = U_ZERO_ERROR; NumberFormat *format = NumberFormat::createInstance(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + dataerrln("Error creating DecimalFormat: %s", u_errorName(status)); delete format; return; } @@ -1518,7 +1535,7 @@ void NumberFormatRegressionTest::Test4106664(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -1552,7 +1569,7 @@ void NumberFormatRegressionTest::Test4106667(void) UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete df; return; } @@ -1592,7 +1609,7 @@ void NumberFormatRegressionTest::Test4110936(void) UErrorCode status = U_ZERO_ERROR; NumberFormat *nf = NumberFormat::createInstance(status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + dataerrln("Error creating DecimalFormat: %s", u_errorName(status)); delete nf; return; } @@ -1727,7 +1744,7 @@ void NumberFormatRegressionTest::Test4125885(void) double rate = 12.34; DecimalFormat *formatDec = new DecimalFormat ("000.00", status); if(U_FAILURE(status)) { - errln("Error creating DecimalFormat: %s", u_errorName(status)); + errcheckln(status, "Error creating DecimalFormat: %s", u_errorName(status)); delete formatDec; return; } @@ -1760,22 +1777,22 @@ void NumberFormatRegressionTest::Test4134034(void) { UErrorCode status = U_ZERO_ERROR; DecimalFormat *nf = new DecimalFormat("##,###,###.00", status); - failure(status, "new DecimalFormat"); - - UnicodeString f; - FieldPosition pos(FieldPosition::DONT_CARE); - f = nf->format(9.02, f, pos); - if (f == UnicodeString("9.02")) - logln(f + " ok"); - else - errln("9.02 -> " + f + "; want 9.02"); + if (!failure(status, "new DecimalFormat")) { + UnicodeString f; + FieldPosition pos(FieldPosition::DONT_CARE); + f = nf->format(9.02, f, pos); + if (f == UnicodeString("9.02")) + logln(f + " ok"); + else + errln("9.02 -> " + f + "; want 9.02"); - f.remove(); - f = nf->format((int32_t)0, f, pos); - if (f == UnicodeString(".00")) - logln(f + " ok"); - else - errln("0 -> " + f + "; want .00"); + f.remove(); + f = nf->format((int32_t)0, f, pos); + if (f == UnicodeString(".00")) + logln(f + " ok"); + else + errln("0 -> " + f + "; want .00"); + } delete nf; } @@ -1819,15 +1836,16 @@ void NumberFormatRegressionTest::Test4134300(void) { UnicodeString result; UErrorCode status = U_ZERO_ERROR; DecimalFormat *df = new DecimalFormat(DATA[i], status); - failure(status, "new DecimalFormat"); - FieldPosition pos(FieldPosition::DONT_CARE); - result = df->format(1.2, result, pos); - if (result != DATA[i+1]) { - errln("Fail: 1.2 x " + DATA[i] + " = " + result + - "; want " + DATA[i+1]); - } - else { - logln("Ok: 1.2 x " + DATA[i] + " = " + result); + if (!failure(status, "new DecimalFormat")) { + FieldPosition pos(FieldPosition::DONT_CARE); + result = df->format(1.2, result, pos); + if (result != DATA[i+1]) { + errln("Fail: 1.2 x " + DATA[i] + " = " + result + + "; want " + DATA[i+1]); + } + else { + logln("Ok: 1.2 x " + DATA[i] + " = " + result); + } } delete df; @@ -1844,16 +1862,17 @@ void NumberFormatRegressionTest::Test4140009(void) DecimalFormatSymbols *syms = new DecimalFormatSymbols(Locale::getEnglish(), status); failure(status, "new DecimalFormatSymbols"); DecimalFormat *f = new DecimalFormat(UnicodeString(""), syms, status); - failure(status, "new DecimalFormat"); - UnicodeString s; - FieldPosition pos(FieldPosition::DONT_CARE); - s = f->format(123.456, s, pos); - if (s != UnicodeString("123.456")) - errln("Fail: Format empty pattern x 123.456 => " + s); - s.remove(); - s = f->format(-123.456, s, pos); - if (s != UnicodeString("-123.456")) - errln("Fail: Format empty pattern x -123.456 => " + s); + if (!failure(status, "new DecimalFormat")) { + UnicodeString s; + FieldPosition pos(FieldPosition::DONT_CARE); + s = f->format(123.456, s, pos); + if (s != UnicodeString("123.456")) + errln("Fail: Format empty pattern x 123.456 => " + s); + s.remove(); + s = f->format(-123.456, s, pos); + if (s != UnicodeString("-123.456")) + errln("Fail: Format empty pattern x -123.456 => " + s); + } delete f; } @@ -1884,7 +1903,7 @@ void NumberFormatRegressionTest::Test4145457() { //try { UErrorCode status = U_ZERO_ERROR; NumberFormat *nff = NumberFormat::createInstance(status); - if (failure(status, "NumberFormat::createInstance")){ + if (failure(status, "NumberFormat::createInstance", TRUE)){ delete nff; return; }; @@ -1964,16 +1983,17 @@ void NumberFormatRegressionTest::Test4147295(void) UnicodeString pattern("#,###"); logln("Applying pattern \"" + pattern + "\""); sdf->applyPattern(pattern, status); - failure(status, "sdf->applyPattern"); - int minIntDig = sdf->getMinimumIntegerDigits(); - if (minIntDig != 0) { - errln("Test failed"); - errln(" Minimum integer digits : " + minIntDig); - UnicodeString temp; - errln(" new pattern: " + sdf->toPattern(temp)); - } else { - logln("Test passed"); - logln(" Minimum integer digits : " + minIntDig); + if (!failure(status, "sdf->applyPattern")) { + int minIntDig = sdf->getMinimumIntegerDigits(); + if (minIntDig != 0) { + errln("Test failed"); + errln(" Minimum integer digits : " + minIntDig); + UnicodeString temp; + errln(" new pattern: " + sdf->toPattern(temp)); + } else { + logln("Test passed"); + logln(" Minimum integer digits : " + minIntDig); + } } delete sdf; } @@ -1989,28 +2009,29 @@ void NumberFormatRegressionTest::Test4147706(void) DecimalFormat *df = new DecimalFormat("#,##0.0##", status); failure(status, "new DecimalFormat"); DecimalFormatSymbols *syms = new DecimalFormatSymbols(Locale::getEnglish(), status); - failure(status, "new DecimalFormatSymbols"); - UnicodeString f1; - UnicodeString f2, temp; - FieldPosition pos(FieldPosition::DONT_CARE); - volatile double d1 = 0.0; // volatile to prevent code optimization - double d2 = -0.0001; + if (!failure(status, "new DecimalFormatSymbols")) { + UnicodeString f1; + UnicodeString f2, temp; + FieldPosition pos(FieldPosition::DONT_CARE); + volatile double d1 = 0.0; // volatile to prevent code optimization + double d2 = -0.0001; #if defined(U_HPUX) - d1 = 0.0 * -1.0; // old HPUX compiler ignores volatile keyword + d1 = 0.0 * -1.0; // old HPUX compiler ignores volatile keyword #else - d1 *= -1.0; // Some compilers have a problem with defining -0.0 + d1 *= -1.0; // Some compilers have a problem with defining -0.0 #endif - df->adoptDecimalFormatSymbols(syms); - f1 = df->format(d1, f1, pos); - f2 = df->format(d2, f2, pos); - if (f1 != UnicodeString("-0.0")) { - errln(UnicodeString("") + d1 + UnicodeString(" x \"") + df->toPattern(temp) + "\" is formatted as \"" + f1 + '"'); + df->adoptDecimalFormatSymbols(syms); + f1 = df->format(d1, f1, pos); + f2 = df->format(d2, f2, pos); + if (f1 != UnicodeString("-0.0")) { + errln(UnicodeString("") + d1 + UnicodeString(" x \"") + df->toPattern(temp) + "\" is formatted as \"" + f1 + '"'); + } + if (f2 != UnicodeString("-0.0")) { + errln(UnicodeString("") + d2 + UnicodeString(" x \"") + df->toPattern(temp) + "\" is formatted as \"" + f2 + '"'); + } } - if (f2 != UnicodeString("-0.0")) { - errln(UnicodeString("") + d2 + UnicodeString(" x \"") + df->toPattern(temp) + "\" is formatted as \"" + f2 + '"'); - } - + delete df; } @@ -2042,7 +2063,7 @@ NumberFormatRegressionTest::Test4162198(void) UErrorCode status = U_ZERO_ERROR; NumberFormat *f = NumberFormat::createInstance(status); if(U_FAILURE(status)) { - errln("Couldn't create number format"); + dataerrln("Couldn't create number format - %s", u_errorName(status)); return; } f->setMaximumFractionDigits(INT32_MAX); @@ -2086,7 +2107,7 @@ NumberFormatRegressionTest::Test4162852(void) NumberFormat *f = (i == 0) ? NumberFormat::createInstance(status) : NumberFormat::createPercentInstance(status); if(U_FAILURE(status)) { - errln("Couldn't create number format"); + dataerrln("Couldn't create number format - %s", u_errorName(status)); return; } double d = 0.0; @@ -2122,7 +2143,7 @@ static double _u_abs(double a) { return a<0?-a:a; } void NumberFormatRegressionTest::Test4167494(void) { UErrorCode status = U_ZERO_ERROR; NumberFormat *fmt = NumberFormat::createInstance(Locale::getUS(), status); - if (failure(status, "NumberFormat::createInstance")){ + if (failure(status, "NumberFormat::createInstance", TRUE)){ delete fmt; return; }; @@ -2158,7 +2179,7 @@ void NumberFormatRegressionTest::Test4167494(void) { void NumberFormatRegressionTest::Test4170798(void) { UErrorCode status = U_ZERO_ERROR; NumberFormat *nf = NumberFormat::createInstance(Locale::getUS(), status); - if (failure(status, "NumberFormat::createInstance")){ + if (failure(status, "NumberFormat::createInstance", TRUE)){ delete nf; return; }; @@ -2199,12 +2220,13 @@ void NumberFormatRegressionTest::Test4176114(void) { UnicodeString s; for (int i=0; i " + - s + ", want " + exp); + if (!failure(status, "DecimalFormat constructor")) { + df.toPattern(s); + UnicodeString exp(DATA[i+1]); + if (s != exp) { + errln(UnicodeString("FAIL: ") + DATA[i] + " -> " + + s + ", want " + exp); + } } } } @@ -2231,21 +2253,22 @@ void NumberFormatRegressionTest::Test4179818(void) { DecimalFormatSymbols sym(Locale::getUS(), status); failure(status, "Construct DecimalFormatSymbols"); DecimalFormat fmt("#", sym, status); - failure(status, "Construct DecimalFormat"); - for (int i=0; isetText(testString1); doBoundaryTest(*bi, testString1, bounds1); @@ -629,7 +629,7 @@ void RBBIAPITest::TestQuoteGrouping() { RuleBasedBreakIterator *bi = new RuleBasedBreakIterator(rulesString1, parseError, status); if(U_FAILURE(status)) { - errln("FAIL : in construction"); + dataerrln("Fail : in construction - %s", u_errorName(status)); } else { bi->setText(testString1); doBoundaryTest(*bi, testString1, bounds1); @@ -663,7 +663,7 @@ void RBBIAPITest::TestRuleStatus() { RuleBasedBreakIterator *bi = (RuleBasedBreakIterator *)BreakIterator::createWordInstance(Locale::getEnglish(), status); if(U_FAILURE(status)) { - errln("FAIL : in construction"); + errcheckln(status, "Fail : in construction - %s", u_errorName(status)); } else { bi->setText(testString1); // First test that the breaks are in the right spots. @@ -701,7 +701,7 @@ void RBBIAPITest::TestRuleStatus() { bi = (RuleBasedBreakIterator *) BreakIterator::createLineInstance(Locale::getEnglish(), status); if(U_FAILURE(status)) { - errln("failed to create word break iterator."); + errcheckln(status, "failed to create word break iterator. - %s", u_errorName(status)); } else { int32_t i = 0; int32_t pos, tag; @@ -760,8 +760,9 @@ void RBBIAPITest::TestRuleStatusVec() { UParseError parseError; RuleBasedBreakIterator *bi = new RuleBasedBreakIterator(rulesString, parseError, status); - TEST_ASSERT_SUCCESS(status); - if (U_SUCCESS(status)) { + if (U_FAILURE(status)) { + dataerrln("Failure at file %s, line %d, error = %s", __FILE__, __LINE__, u_errorName(status)); + } else { bi->setText(testString1); // A @@ -864,7 +865,7 @@ void RBBIAPITest::TestBug2190() { RuleBasedBreakIterator *bi = new RuleBasedBreakIterator(rulesString1, parseError, status); if(U_FAILURE(status)) { - errln("FAIL : in construction"); + dataerrln("Fail : in construction - %s", u_errorName(status)); } else { bi->setText(testString1); doBoundaryTest(*bi, testString1, bounds1); @@ -882,6 +883,16 @@ void RBBIAPITest::TestRegistration() { BreakIterator* ja_char = BreakIterator::createCharacterInstance("ja_JP", status); BreakIterator* root_word = BreakIterator::createWordInstance("", status); BreakIterator* root_char = BreakIterator::createCharacterInstance("", status); + + if (status == U_MISSING_RESOURCE_ERROR || status == U_FILE_ACCESS_ERROR) { + dataerrln("Error creating instances of break interactors - %s", u_errorName(status)); + delete ja_word; + delete ja_char; + delete root_word; + delete root_char; + + return; + } URegistryKey key = BreakIterator::registerInstance(ja_word, "xx", UBRK_WORD, status); { @@ -1014,7 +1025,7 @@ void RBBIAPITest::RoundtripRule(const char *dataFile) { const uint8_t *builtRules; if (U_FAILURE(status)) { - errln("Can't open \"%s\"", dataFile); + errcheckln(status, "Can't open \"%s\" - %s", dataFile, u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/rbbitst.cpp b/icu4c/source/test/intltest/rbbitst.cpp index 0bfe5b4d1cb..e20595efaed 100644 --- a/icu4c/source/test/intltest/rbbitst.cpp +++ b/icu4c/source/test/intltest/rbbitst.cpp @@ -38,7 +38,7 @@ errln("Failure in file %s, line %d", __FILE__, __LINE__);}} #define TEST_ASSERT_SUCCESS(errcode) { if (U_FAILURE(errcode)) { \ - errln("Failure in file %s, line %d, status = \"%s\"", __FILE__, __LINE__, u_errorName(errcode));}} + errcheckln(errcode, "Failure in file %s, line %d, status = \"%s\"", __FILE__, __LINE__, u_errorName(errcode));}} //--------------------------------------------- @@ -349,7 +349,7 @@ void RBBITest::TestStatusReturn() { RuleBasedBreakIterator *bi = new RuleBasedBreakIterator(rulesString1, parseError, status); if(U_FAILURE(status)) { - errln("FAIL : in construction"); + dataerrln("FAIL : in construction - %s", u_errorName(status)); } else { int32_t pos; int32_t i = 0; @@ -453,7 +453,7 @@ void RBBITest::TestThaiLineBreak() { Locale("th"), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for Thai locale in TestThaiLineBreak.\n"); + errcheckln(status, "Failed to create the BreakIterator for Thai locale in TestThaiLineBreak. - %s", u_errorName(status)); return; } @@ -497,7 +497,7 @@ void RBBITest::TestMixedThaiLineBreak() RuleBasedBreakIterator* e = (RuleBasedBreakIterator *)BreakIterator::createLineInstance(Locale("th"), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for Thai locale in TestMixedThaiLineBreak.\n"); + errcheckln(status, "Failed to create the BreakIterator for Thai locale in TestMixedThaiLineBreak. - %s", u_errorName(status)); return; } @@ -530,7 +530,7 @@ void RBBITest::TestMaiyamok() if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for Thai locale in TestMaiyamok.\n"); + errcheckln(status, "Failed to create the BreakIterator for Thai locale in TestMaiyamok. - %s", u_errorName(status)); return; } generalIteratorTest(*e, thaiLineSelection); @@ -550,7 +550,7 @@ void RBBITest::TestBug3818() { RuleBasedBreakIterator* bi = (RuleBasedBreakIterator *)BreakIterator::createWordInstance(Locale("th"), status); if (U_FAILURE(status) || bi == NULL) { - errln("Fail at file %s, line %d, status = %s", __FILE__, __LINE__, u_errorName(status)); + errcheckln(status, "Fail at file %s, line %d, status = %s", __FILE__, __LINE__, u_errorName(status)); return; } bi->setText(thaiStr); @@ -585,7 +585,7 @@ void RBBITest::TestJapaneseWordBreak() { Locale("ja"), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for Japanese locale in TestJapaneseWordBreak.\n"); + errcheckln(status, "Failed to create the BreakIterator for Japanese locale in TestJapaneseWordBreak.\n"); return; } @@ -1078,7 +1078,7 @@ void RBBITest::TestEmptyString() RuleBasedBreakIterator* bi = (RuleBasedBreakIterator *)BreakIterator::createLineInstance(Locale::getDefault(), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for default locale in TestEmptyString.\n"); + errcheckln(status, "Failed to create the BreakIterator for default locale in TestEmptyString. - %s", u_errorName(status)); return; } generalIteratorTest(*bi, x); @@ -1091,7 +1091,7 @@ void RBBITest::TestGetAvailableLocales() const Locale* locList = BreakIterator::getAvailableLocales(locCount); if (locCount == 0) - errln("getAvailableLocales() returned an empty list!"); + dataerrln("getAvailableLocales() returned an empty list!"); // Just make sure that it's returning good memory. int32_t i; for (i = 0; i < locCount; ++i) { @@ -1106,12 +1106,12 @@ void RBBITest::TestGetDisplayName() BreakIterator::getDisplayName(Locale::getUS(), result); if (Locale::getDefault() == Locale::getUS() && result != "English (United States)") - errln("BreakIterator::getDisplayName() failed: expected \"English (United States)\", got \"" + dataerrln("BreakIterator::getDisplayName() failed: expected \"English (United States)\", got \"" + result); BreakIterator::getDisplayName(Locale::getFrance(), Locale::getUS(), result); if (result != "French (France)") - errln("BreakIterator::getDisplayName() failed: expected \"French (France)\", got \"" + dataerrln("BreakIterator::getDisplayName() failed: expected \"French (France)\", got \"" + result); } /** @@ -1125,7 +1125,7 @@ void RBBITest::TestEndBehaviour() BreakIterator *wb = BreakIterator::createWordInstance(Locale::getDefault(), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for default locale in TestEndBehaviour.\n"); + errcheckln(status, "Failed to create the BreakIterator for default locale in TestEndBehaviour. - %s", u_errorName(status)); return; } wb->setText(testString); @@ -1146,7 +1146,7 @@ void RBBITest::TestBug4153072() { BreakIterator *iter = BreakIterator::createWordInstance(Locale::getDefault(), status); if (U_FAILURE(status)) { - errln("Failed to create the BreakIterator for default locale in TestBug4153072\n"); + errcheckln(status, "Failed to create the BreakIterator for default locale in TestBug4153072 - %s", u_errorName(status)); return; } UnicodeString str("...Hello, World!..."); @@ -1184,13 +1184,15 @@ void RBBITest::TestBug5775() { UErrorCode status = U_ZERO_ERROR; BreakIterator *bi = BreakIterator::createSentenceInstance(Locale::getEnglish(), status); TEST_ASSERT_SUCCESS(status); - TEST_ASSERT(bi != NULL); - - if (U_FAILURE(status) || bi == NULL) { - // TEST_ASSERT already printed error message. + if (U_FAILURE(status)) { return; } - +// Check for status first for better handling of no data errors. + TEST_ASSERT(bi != NULL); + if (bi == NULL) { + return; + } + UnicodeString s("One.\\u00ad Two.", -1, US_INV); // 01234 56789 s = s.unescape(); @@ -1425,7 +1427,9 @@ void RBBITest::TestExtended() { tp.srcCol = new UVector32(status); RegexMatcher localeMatcher(UNICODE_STRING_SIMPLE(""), 0, status); - TEST_ASSERT_SUCCESS(status); + if (U_FAILURE(status)) { + dataerrln("Failure in file %s, line %d, status = \"%s\"", __FILE__, __LINE__, u_errorName(status)); + } // @@ -1790,7 +1794,7 @@ void RBBITest::TestThaiBreaks() { b = BreakIterator::createWordInstance(locale, status); if (U_FAILURE(status)) { - errln("Unable to create thai word break iterator.\n"); + errcheckln(status, "Unable to create thai word break iterator. - %s", u_errorName(status)); return; } b->setText(text); @@ -1943,7 +1947,7 @@ void RBBITest::TestTailoredBreaks() { break; } if (U_FAILURE(status)) { - errln("BreakIterator create failed for type %d, locales root or %s", (int)(tbItemPtr->type), tbItemPtr->locale); + errcheckln(status, "BreakIterator create failed for type %d, locales root or %s - Error: %s", (int)(tbItemPtr->type), tbItemPtr->locale, u_errorName(status)); continue; } TBTest(tailoredBrkiter, (int)(tbItemPtr->type), tbItemPtr->locale, tbItemPtr->escapedText, tbItemPtr->tailoredOffsets, tbItemPtr->tailoredOffsetsCount); @@ -1993,7 +1997,7 @@ UChar *RBBITest::ReadAndConvertFile(const char *fileName, int &ulen, const char // f = fopen(fileName, "rb"); if (f == 0) { - dataerrln("[DATA] Error opening test data file %s\n", fileName); + dataerrln("Error opening test data file %s\n", fileName); status = U_FILE_ACCESS_ERROR; return NULL; } @@ -2129,7 +2133,7 @@ void RBBITest::runUnicodeTestData(const char *fileName, RuleBasedBreakIterator * const char *testDataDirectory = IntlTest::getSourceTestData(status); char testFileName[1000]; if (testDataDirectory == NULL || strlen(testDataDirectory) >= sizeof(testFileName)) { - dataerrln("[DATA] Can't open test data. Path too long."); + dataerrln("Can't open test data. Path too long."); return; } strcpy(testFileName, testDataDirectory); @@ -3944,7 +3948,7 @@ void RBBITest::TestWordBreaks(void) }; int loop; if (U_FAILURE(status)) { - errln("Creation of break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of break iterator failed %s", u_errorName(status)); return; } for (loop = 0; loop < (int)(sizeof(strlist) / sizeof(char *)); loop ++) { @@ -4010,7 +4014,7 @@ void RBBITest::TestWordBoundary(void) }; int loop; if (U_FAILURE(status)) { - errln("Creation of break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of break iterator failed %s", u_errorName(status)); return; } for (loop = 0; loop < (int)(sizeof(strlist) / sizeof(char *)); loop ++) { @@ -4178,7 +4182,7 @@ void RBBITest::TestSentBreaks(void) }; int loop; if (U_FAILURE(status)) { - errln("Creation of break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of break iterator failed %s", u_errorName(status)); return; } for (loop = 0; loop < (int)(sizeof(strlist) / sizeof(char *)); loop ++) { @@ -4268,7 +4272,7 @@ void RBBITest::TestMonkey(char *params) { } } else { - errln("Creation of character break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of character break iterator failed %s", u_errorName(status)); } delete bi; } @@ -4281,7 +4285,7 @@ void RBBITest::TestMonkey(char *params) { RunMonkey(bi, m, "word", seed, loopCount, useUText); } else { - errln("Creation of word break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of word break iterator failed %s", u_errorName(status)); } delete bi; } @@ -4297,7 +4301,7 @@ void RBBITest::TestMonkey(char *params) { RunMonkey(bi, m, "line", seed, loopCount, useUText); } else { - errln("Creation of line break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of line break iterator failed %s", u_errorName(status)); } delete bi; } @@ -4313,7 +4317,7 @@ void RBBITest::TestMonkey(char *params) { RunMonkey(bi, m, "sentence", seed, loopCount, useUText); } else { - errln("Creation of line break iterator failed %s", u_errorName(status)); + errcheckln(status, "Creation of line break iterator failed %s", u_errorName(status)); } delete bi; } diff --git a/icu4c/source/test/intltest/regcoll.cpp b/icu4c/source/test/intltest/regcoll.cpp index a5614e91ce1..affe6fc6c6e 100644 --- a/icu4c/source/test/intltest/regcoll.cpp +++ b/icu4c/source/test/intltest/regcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -25,7 +25,7 @@ CollationRegressionTest::CollationRegressionTest() if(U_FAILURE(status)) { delete en_us; en_us = 0; - errln("Collator creation failed with %s", u_errorName(status)); + errcheckln(status, "Collator creation failed with %s", u_errorName(status)); return; } } @@ -1209,7 +1209,7 @@ void CollationRegressionTest::runIndexedTest(int32_t index, UBool exec, const ch default: name = ""; break; } } else { - errln("Class collator not instantiated"); + dataerrln("Class collator not instantiated"); name = ""; } } diff --git a/icu4c/source/test/intltest/regextst.cpp b/icu4c/source/test/intltest/regextst.cpp index 5feb164beb5..62d30e31e15 100644 --- a/icu4c/source/test/intltest/regextst.cpp +++ b/icu4c/source/test/intltest/regextst.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 2002-2008, International Business Machines Corporation and + * Copyright (c) 2002-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -84,13 +84,13 @@ void RegexTest::runIndexedTest( int32_t index, UBool exec, const char* &name, ch // Error Checking / Reporting macros used in all of the tests. // //--------------------------------------------------------------------------- -#define REGEX_CHECK_STATUS {if (U_FAILURE(status)) {errln("RegexTest failure at line %d. status=%s\n", \ +#define REGEX_CHECK_STATUS {if (U_FAILURE(status)) {dataerrln("RegexTest failure at line %d. status=%s", \ __LINE__, u_errorName(status)); return;}} #define REGEX_ASSERT(expr) {if ((expr)==FALSE) {errln("RegexTest failure at line %d.\n", __LINE__);};} #define REGEX_ASSERT_FAIL(expr, errcode) {UErrorCode status=U_ZERO_ERROR; (expr);\ -if (status!=errcode) {errln("RegexTest failure at line %d. Expected status=%s, got %s\n", \ +if (status!=errcode) {dataerrln("RegexTest failure at line %d. Expected status=%s, got %s", \ __LINE__, u_errorName(errcode), u_errorName(status));};} #define REGEX_CHECK_STATUS_L(line) {if (U_FAILURE(status)) {errln( \ @@ -129,7 +129,7 @@ UBool RegexTest::doRegexLMTest(const char *pat, const char *text, UBool looking, UnicodeString patString(pat, -1, US_INV); REPattern = RegexPattern::compile(patString, 0, pe, status); if (U_FAILURE(status)) { - errln("RegexTest failure in RegexPattern::compile() at line %d. Status = %s\n", + dataerrln("RegexTest failure in RegexPattern::compile() at line %d. Status = %s", line, u_errorName(status)); return FALSE; } @@ -206,7 +206,7 @@ void RegexTest::regex_err(const char *pat, int32_t errLine, int32_t errCol, UnicodeString patString(pat); callerPattern = RegexPattern::compile(patString, 0, pe, status); if (status != expectedStatus) { - errln("Line %d: unexpected error %s compiling pattern.", line, u_errorName(status)); + dataerrln("Line %d: unexpected error %s compiling pattern.", line, u_errorName(status)); } else { if (status != U_ZERO_ERROR) { if (pe.line != errLine || pe.offset != errCol) { @@ -1924,7 +1924,7 @@ UChar *RegexTest::ReadAndConvertFile(const char *fileName, int32_t &ulen, // f = fopen(fileName, "rb"); if (f == 0) { - dataerrln("[DATA] Error opening test data file %s\n", fileName); + dataerrln("Error opening test data file %s\n", fileName); status = U_FILE_ACCESS_ERROR; return NULL; } diff --git a/icu4c/source/test/intltest/restest.cpp b/icu4c/source/test/intltest/restest.cpp index 0f9175b0224..b846ce43adb 100644 --- a/icu4c/source/test/intltest/restest.cpp +++ b/icu4c/source/test/intltest/restest.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -202,7 +202,7 @@ ResourceBundleTest::TestResourceBundles() loadTestData(status); if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); return; } @@ -235,7 +235,7 @@ ResourceBundleTest::TestConstruction() const char* testdatapath=loadTestData(err); if(U_FAILURE(err)) { - dataerrln("[DATA] Could not load testdata.dat " + UnicodeString(testdatapath) + ", " + UnicodeString(u_errorName(err))); + dataerrln("Could not load testdata.dat " + UnicodeString(testdatapath) + ", " + UnicodeString(u_errorName(err))); return; } @@ -319,7 +319,7 @@ ResourceBundleTest::testTag(const char* frag, testdatapath=loadTestData(status); if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); return FALSE; } @@ -534,7 +534,7 @@ ResourceBundleTest::TestGetSize(void) if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s\n", u_errorName(status)); + dataerrln("Could not load testdata.dat %s\n", u_errorName(status)); return; } @@ -588,7 +588,7 @@ ResourceBundleTest::TestGetLocaleByType(void) if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s\n", u_errorName(status)); + dataerrln("Could not load testdata.dat %s\n", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/restsnew.cpp b/icu4c/source/test/intltest/restsnew.cpp index 8aa604b0a3b..0f9837ce5a5 100644 --- a/icu4c/source/test/intltest/restsnew.cpp +++ b/icu4c/source/test/intltest/restsnew.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 1997-2008, International Business Machines + * Copyright (c) 1997-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************/ @@ -200,7 +200,7 @@ NewResourceBundleTest::TestResourceBundles() loadTestData(status); if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); return; } @@ -234,7 +234,7 @@ NewResourceBundleTest::TestConstruction() testdatapath=loadTestData(err); if(U_FAILURE(err)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); return; } @@ -309,7 +309,7 @@ NewResourceBundleTest::TestIteration() testdatapath=loadTestData(err); if(U_FAILURE(err)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); return; } @@ -428,7 +428,7 @@ NewResourceBundleTest::TestOtherAPI(){ if(U_FAILURE(err)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(err))); return; } @@ -463,7 +463,7 @@ NewResourceBundleTest::TestOtherAPI(){ ResourceBundle defaultresource(err); ResourceBundle explicitdefaultresource(NULL, Locale::getDefault(), err); if(U_FAILURE(err)){ - errln("Construction of default resourcebundle failed"); + errcheckln(err, "Construction of default resourcebundle failed - %s", u_errorName(err)); return; } // You can't compare the default locale to the resolved locale in the @@ -636,7 +636,7 @@ NewResourceBundleTest::testTag(const char* frag, testdatapath=loadTestData(status); if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); + dataerrln("Could not load testdata.dat %s " + UnicodeString(u_errorName(status))); return FALSE; } @@ -1017,7 +1017,7 @@ NewResourceBundleTest::TestNewTypes() { if(U_FAILURE(status)) { - dataerrln("[DATA] Could not load testdata.dat %s \n",u_errorName(status)); + dataerrln("Could not load testdata.dat %s \n",u_errorName(status)); return; } @@ -1164,7 +1164,7 @@ NewResourceBundleTest::TestGetByFallback() { heRes.getWithFallback("calendar", status).getWithFallback("islamic-civil", status).getWithFallback("eras", status); if(U_FAILURE(status)) { - errln("Didn't get Islamic Eras. I know they are there!\n"); + dataerrln("Didn't get Islamic Eras. I know they are there! - %s", u_errorName(status)); } status = U_ZERO_ERROR; diff --git a/icu4c/source/test/intltest/srchtest.cpp b/icu4c/source/test/intltest/srchtest.cpp index 22c12906c6e..1a8e65773c1 100644 --- a/icu4c/source/test/intltest/srchtest.cpp +++ b/icu4c/source/test/intltest/srchtest.cpp @@ -1,6 +1,6 @@ /* ***************************************************************************** -* Copyright (C) 2001-2008, International Business Machines orporation +* Copyright (C) 2001-2009, International Business Machines orporation * and others. All Rights Reserved. ****************************************************************************/ @@ -25,7 +25,7 @@ logln(#test "---"); \ logln((UnicodeString)""); \ if(areBroken) { \ - errln(__FILE__ " cannot test - failed to create collator."); \ + dataerrln(__FILE__ " cannot test - failed to create collator."); \ } else { \ test(); \ } \ diff --git a/icu4c/source/test/intltest/ssearch.cpp b/icu4c/source/test/intltest/ssearch.cpp index 3b01c1be8ae..58c25ea215e 100644 --- a/icu4c/source/test/intltest/ssearch.cpp +++ b/icu4c/source/test/intltest/ssearch.cpp @@ -52,7 +52,7 @@ char testId[100]; errln("Failure in file %s, line %d. \"%s\"", __FILE__, __LINE__, m);return;}} #define TEST_ASSERT_SUCCESS(errcode) {if (U_FAILURE(errcode)) { \ - errln("Failure in file %s, line %d, test ID \"%s\", status = \"%s\"", \ + dataerrln("Failure in file %s, line %d, test ID \"%s\", status = \"%s\"", \ __FILE__, __LINE__, testId, u_errorName(errcode));}} #define ARRAY_SIZE(array) (sizeof array / sizeof array[0]) @@ -973,7 +973,7 @@ void SSearchTest::offsetTest() UErrorCode status = U_ZERO_ERROR; RuleBasedCollator *col = (RuleBasedCollator *) Collator::createInstance(Locale::getEnglish(), status); if (U_FAILURE(status)) { - errln("Failed to create collator in offsetTest!"); + errcheckln(status, "Failed to create collator in offsetTest! - %s", u_errorName(status)); return; } char buffer[4096]; // A bit of a hack... just happens to be long enough for all the test cases... @@ -1235,7 +1235,7 @@ void SSearchTest::boyerMooreTest() coll = ucol_openFromShortString("S1", FALSE, NULL, &status); if (U_FAILURE(status)) { - errln("Could not open collator."); + errcheckln(status, "Could not open collator. - %s", u_errorName(status)); return; } @@ -1298,7 +1298,7 @@ void SSearchTest::bmsTest() coll = ucol_openFromShortString("S1", FALSE, NULL, &status); if (U_FAILURE(status)) { - errln("Could not open collator."); + errcheckln(status, "Could not open collator. - %s", u_errorName(status)); return; } @@ -1354,7 +1354,7 @@ void SSearchTest::goodSuffixTest() coll = ucol_open(NULL, &status); if (U_FAILURE(status)) { - errln("Couldn't open collator."); + errcheckln(status, "Couldn't open collator. - %s", u_errorName(status)); return; } @@ -1499,7 +1499,10 @@ const char *cPattern = "maketh houndes ete hem"; UCollator *collator = ucol_open("en", &status); CollData *data = CollData::open(collator, status); - TEST_ASSERT_SUCCESS(status); + if (U_FAILURE(status) || collator == NULL || data == NULL) { + errcheckln(status, "Unable to open UCollator or CollData. - %s", u_errorName(status)); + return; + } //ucol_setStrength(collator, collatorStrength); //ucol_setAttribute(collator, UCOL_NORMALIZATION_MODE, normalize, &status); UnicodeString uPattern = cPattern; @@ -2071,7 +2074,7 @@ void SSearchTest::monkeyTest(char *params) UCollator *coll = ucol_openFromShortString("S1", FALSE, NULL, &status); if (U_FAILURE(status)) { - errln("Failed to create collator in MonkeyTest!"); + errcheckln(status, "Failed to create collator in MonkeyTest! - %s", u_errorName(status)); return; } @@ -2208,7 +2211,7 @@ void SSearchTest::bmMonkeyTest(char *params) UCollator *coll = ucol_openFromShortString("S1", FALSE, NULL, &status); if (U_FAILURE(status)) { - errln("Failed to create collator in MonkeyTest!"); + errcheckln(status, "Failed to create collator in MonkeyTest! - %s", u_errorName(status)); return; } diff --git a/icu4c/source/test/intltest/strcase.cpp b/icu4c/source/test/intltest/strcase.cpp index 1a9d605e85a..243f07c766d 100644 --- a/icu4c/source/test/intltest/strcase.cpp +++ b/icu4c/source/test/intltest/strcase.cpp @@ -1,7 +1,7 @@ /* ******************************************************************************* * -* Copyright (C) 2002-2008, International Business Machines +* Copyright (C) 2002-2009, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -376,14 +376,14 @@ StringCaseTest::TestCasingImpl(const UnicodeString &input, break; // won't happen } if(result!=output) { - errln("error: UnicodeString.%s() got a wrong result for a test case from casing.res", name); + dataerrln("error: UnicodeString.%s() got a wrong result for a test case from casing.res", name); } #if !UCONFIG_NO_BREAK_ITERATION if(whichCase==TEST_TITLE && options==0) { result=input; result.toTitle((BreakIterator *)iter, locale); if(result!=output) { - errln("error: UnicodeString.toTitle(options=0) got a wrong result for a test case from casing.res"); + dataerrln("error: UnicodeString.toTitle(options=0) got a wrong result for a test case from casing.res"); } } #endif @@ -445,7 +445,7 @@ StringCaseTest::TestCasingImpl(const UnicodeString &input, result.releaseBuffer(U_SUCCESS(errorCode) ? resultLength : 0); if(U_FAILURE(errorCode)) { - errln("error: %s() got an error for a test case from casing.res - %s", name, u_errorName(errorCode)); + errcheckln(errorCode, "error: %s() got an error for a test case from casing.res - %s", name, u_errorName(errorCode)); } else if(result!=output) { errln("error: %s() got a wrong result for a test case from casing.res", name); errln("expected \"" + output + "\" got \"" + result + "\"" ); @@ -514,7 +514,7 @@ StringCaseTest::TestCasing() { } if(U_FAILURE(status)) { - errln("error: TestCasing() setup failed for %s test case from casing.res: %s", dataNames[whichCase], u_errorName(status)); + dataerrln("error: TestCasing() setup failed for %s test case from casing.res: %s", dataNames[whichCase], u_errorName(status)); status = U_ZERO_ERROR; } else { TestCasingImpl(input, output, whichCase, iter, cLocaleID, options); @@ -537,7 +537,7 @@ StringCaseTest::TestCasing() { input=UNICODE_STRING_SIMPLE("sTrA\\u00dfE").unescape(); (result=input).toTitle(NULL); if(result!=UNICODE_STRING_SIMPLE("Stra\\u00dfe").unescape()) { - errln("UnicodeString::toTitle(NULL) failed"); + dataerrln("UnicodeString::toTitle(NULL) failed."); } #endif } diff --git a/icu4c/source/test/intltest/svccoll.cpp b/icu4c/source/test/intltest/svccoll.cpp index 1e80bf9a673..904355a294e 100644 --- a/icu4c/source/test/intltest/svccoll.cpp +++ b/icu4c/source/test/intltest/svccoll.cpp @@ -42,7 +42,7 @@ void CollationServiceTest::TestRegister() Collator* frcol = Collator::createInstance(FR, status); Collator* uscol = Collator::createInstance(US, status); if(U_FAILURE(status)) { - errln("Failed to create collators with %s", u_errorName(status)); + errcheckln(status, "Failed to create collators with %s", u_errorName(status)); delete frcol; delete uscol; return; @@ -357,7 +357,7 @@ void CollationServiceTest::TestRegisterFactory(void) Collator* gecol = Collator::createInstance(Locale::getGermany(), status); Collator* jpcol = Collator::createInstance(Locale::getJapan(), status); if(U_FAILURE(status)) { - errln("Failed to create collators with %s", u_errorName(status)); + errcheckln(status, "Failed to create collators with %s", u_errorName(status)); delete frcol; delete gecol; delete jpcol; @@ -560,7 +560,7 @@ void CollationServiceTest::TestSeparateTree() { delete iter; iter = Collator::getKeywordValues(KW[0], ec); - if (!assertTrue("getKeywordValues != NULL", iter!=NULL)) return; + if (!assertTrue("getKeywordValues != NULL", iter!=NULL, FALSE, TRUE)) return; if (!assertSuccess("getKeywordValues", ec)) return; checkStringEnumeration("getKeywordValues", *iter, KWVAL, KWVAL_COUNT); delete iter; diff --git a/icu4c/source/test/intltest/tchcfmt.cpp b/icu4c/source/test/intltest/tchcfmt.cpp index d450a944c9b..c45ca837fb6 100644 --- a/icu4c/source/test/intltest/tchcfmt.cpp +++ b/icu4c/source/test/intltest/tchcfmt.cpp @@ -1,7 +1,7 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2008, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -127,7 +127,7 @@ TestChoiceFormat::TestComplexExample( void ) Format* filenumform = NumberFormat::createInstance( status ); if (!filenumform) { - it_errln("*** test_complex_example filenumform"); + dataerrln((UnicodeString)"*** test_complex_example filenumform - " + u_errorName(status)); delete fileform; return; } diff --git a/icu4c/source/test/intltest/testidn.cpp b/icu4c/source/test/intltest/testidn.cpp index 568beb423f7..ea451701ace 100644 --- a/icu4c/source/test/intltest/testidn.cpp +++ b/icu4c/source/test/intltest/testidn.cpp @@ -82,7 +82,7 @@ testData(TestIDNA& test) { profile = usprep_openByType(USPREP_RFC3491_NAMEPREP, &errorCode); if(U_FAILURE(errorCode)){ - test.errln("Failed to load IDNA data file. " + UnicodeString(u_errorName(errorCode))); + test.errcheckln(errorCode, "Failed to load IDNA data file. " + UnicodeString(u_errorName(errorCode))); return errorCode; } diff --git a/icu4c/source/test/intltest/testidna.cpp b/icu4c/source/test/intltest/testidna.cpp index 66e23cfbcaa..b10bf903e09 100644 --- a/icu4c/source/test/intltest/testidna.cpp +++ b/icu4c/source/test/intltest/testidna.cpp @@ -487,7 +487,7 @@ void TestIDNA::testAPI(const UChar* src, const UChar* expected, const char* test } if(status != expectedStatus){ - errln( "Did not get the expected error for "+ + errcheckln(status, "Did not get the expected error for "+ UnicodeString(testName)+ " null terminated source. Expected: " +UnicodeString(u_errorName(expectedStatus)) + " Got: "+ UnicodeString(u_errorName(status)) @@ -655,7 +655,7 @@ void TestIDNA::testCompare(const UChar* s1, int32_t s1Len, errln("Did not get the expected result for %s with null termniated strings.\n",testName); } if(U_FAILURE(status)){ - errln( "%s null terminated source failed. Error: %s\n", testName,u_errorName(status)); + errcheckln(status, "%s null terminated source failed. Error: %s", testName,u_errorName(status)); } status = U_ZERO_ERROR; @@ -665,7 +665,7 @@ void TestIDNA::testCompare(const UChar* s1, int32_t s1Len, errln("Did not get the expected result for %s with null termniated strings with options set.\n", testName); } if(U_FAILURE(status)){ - errln( "%s null terminated source and options set failed. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s null terminated source and options set failed. Error: %s",testName, u_errorName(status)); } status = U_ZERO_ERROR; @@ -675,7 +675,7 @@ void TestIDNA::testCompare(const UChar* s1, int32_t s1Len, errln("Did not get the expected result for %s with string length.\n",testName); } if(U_FAILURE(status)){ - errln( "%s with string length. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s with string length. Error: %s",testName, u_errorName(status)); } status = U_ZERO_ERROR; @@ -685,7 +685,7 @@ void TestIDNA::testCompare(const UChar* s1, int32_t s1Len, errln("Did not get the expected result for %s with string length and options set.\n",testName); } if(U_FAILURE(status)){ - errln( "%s with string length and options set. Error: %s\n", u_errorName(status), testName); + errcheckln(status, "%s with string length and options set. Error: %s", u_errorName(status), testName); } } @@ -725,7 +725,7 @@ void TestIDNA::testIDNToUnicode(const char* testName, TestFunc func){ bufLen = u_unescape(domainNames[i],buf, bufLen+1); func(buf,bufLen,expected,MAX_DEST_SIZE, UIDNA_ALLOW_UNASSIGNED, &parseError,&status); if(U_FAILURE(status)){ - errln( "%s failed to convert domainNames[%i].Error: %s \n",testName, i, u_errorName(status)); + errcheckln(status, "%s failed to convert domainNames[%i].Error: %s",testName, i, u_errorName(status)); break; } testAPI(buf,expected,testName,FALSE,U_ZERO_ERROR, TRUE, TRUE, func); @@ -751,7 +751,7 @@ void TestIDNA::testIDNToASCII(const char* testName, TestFunc func){ bufLen = u_unescape(domainNames[i],buf, bufLen+1); func(buf,bufLen,expected,MAX_DEST_SIZE, UIDNA_ALLOW_UNASSIGNED, &parseError,&status); if(U_FAILURE(status)){ - errln( "%s failed to convert domainNames[%i].Error: %s \n",testName,i, u_errorName(status)); + errcheckln(status, "%s failed to convert domainNames[%i].Error: %s",testName,i, u_errorName(status)); break; } testAPI(buf,expected,testName, FALSE,U_ZERO_ERROR, TRUE, TRUE, func); @@ -1004,7 +1004,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t // test null-terminated source expectedLen = func(src,-1,expected,MAX_DEST_SIZE, options, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source failed. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s null terminated source failed. Error: %s",testName, u_errorName(status)); } memcpy(odd,expected,(expectedLen+1) * U_SIZEOF_UCHAR); memcpy(even,expected,(expectedLen+1) * U_SIZEOF_UCHAR); @@ -1012,7 +1012,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t if((i%2) ==0){ evenLen = func(odd,-1,even,MAX_DEST_SIZE,options, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source failed\n",testName); + errcheckln(status, "%s null terminated source failed - %s",testName, u_errorName(status)); break; } }else{ @@ -1041,7 +1041,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t status = U_ZERO_ERROR; expectedLen = func(src,-1,expected,MAX_DEST_SIZE,options|UIDNA_ALLOW_UNASSIGNED, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source with options set failed. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s null terminated source with options set failed. Error: %s",testName, u_errorName(status)); } memcpy(odd,expected,(expectedLen+1) * U_SIZEOF_UCHAR); memcpy(even,expected,(expectedLen+1) * U_SIZEOF_UCHAR); @@ -1049,7 +1049,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t if((i%2) ==0){ evenLen = func(odd,-1,even,MAX_DEST_SIZE,options|UIDNA_ALLOW_UNASSIGNED, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source with options set failed\n",testName); + errcheckln(status, "%s null terminated source with options set failed - %s",testName, u_errorName(status)); break; } }else{ @@ -1079,7 +1079,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t status = U_ZERO_ERROR; expectedLen = func(src,srcLen,expected,MAX_DEST_SIZE,options, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source failed. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s null terminated source failed. Error: %s",testName, u_errorName(status)); } memcpy(odd,expected,(expectedLen+1) * U_SIZEOF_UCHAR); memcpy(even,expected,(expectedLen+1) * U_SIZEOF_UCHAR); @@ -1087,13 +1087,13 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t if((i%2) ==0){ evenLen = func(odd,oddLen,even,MAX_DEST_SIZE,options, &parseError, &status); if(U_FAILURE(status)){ - errln("%s source with source length failed\n",testName); + errcheckln(status, "%s source with source length failed - %s",testName, u_errorName(status)); break; } }else{ oddLen = func(even,evenLen,odd,MAX_DEST_SIZE,options, &parseError, &status); if(U_FAILURE(status)){ - errln("%s source with source length failed\n",testName); + errcheckln(status, "%s source with source length failed - %s",testName, u_errorName(status)); break; } } @@ -1114,7 +1114,7 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t status = U_ZERO_ERROR; expectedLen = func(src,srcLen,expected,MAX_DEST_SIZE,options|UIDNA_ALLOW_UNASSIGNED, &parseError, &status); if(U_FAILURE(status)){ - errln("%s null terminated source with options set failed. Error: %s\n",testName, u_errorName(status)); + errcheckln(status, "%s null terminated source with options set failed. Error: %s",testName, u_errorName(status)); } memcpy(odd,expected,(expectedLen+1) * U_SIZEOF_UCHAR); memcpy(even,expected,(expectedLen+1) * U_SIZEOF_UCHAR); @@ -1122,13 +1122,13 @@ void TestIDNA::testChaining(const UChar* src,int32_t numIterations,const char* t if((i%2) ==0){ evenLen = func(odd,oddLen,even,MAX_DEST_SIZE,options|UIDNA_ALLOW_UNASSIGNED, &parseError, &status); if(U_FAILURE(status)){ - errln("%s source with source length and options set failed\n",testName); + errcheckln(status, "%s source with source length and options set failed - %s",testName, u_errorName(status)); break; } }else{ oddLen = func(even,evenLen,odd,MAX_DEST_SIZE,options|UIDNA_ALLOW_UNASSIGNED, &parseError, &status); if(U_FAILURE(status)){ - errln("%s source with source length and options set failed\n",testName); + errcheckln(status, "%s source with source length and options set failed - %s",testName, u_errorName(status)); break; } } @@ -1460,11 +1460,7 @@ void TestIDNA::TestIDNAMonkeyTest(){ getInstance(status); // Init prep if (U_FAILURE(status)) { - if (status == U_FILE_ACCESS_ERROR) { - dataerrln("[DATA] Test could not initialize."); - } else { - errln("Test could not initialize. Got %s", u_errorName(status)); - } + dataerrln("Test could not initialize. Got %s", u_errorName(status)); return; } @@ -1540,9 +1536,7 @@ void TestIDNA::TestRefIDNA(){ getInstance(status); // Init prep if (U_FAILURE(status)) { if (status == U_FILE_ACCESS_ERROR) { - dataerrln("[DATA] Test could not initialize."); - } else { - errln("Test could not initialize. Got %s", u_errorName(status)); + dataerrln("Test could not initialize. Got %s", u_errorName(status)); } return; } diff --git a/icu4c/source/test/intltest/thcoll.cpp b/icu4c/source/test/intltest/thcoll.cpp index 1fd99e7fb24..1199b993b54 100644 --- a/icu4c/source/test/intltest/thcoll.cpp +++ b/icu4c/source/test/intltest/thcoll.cpp @@ -1,6 +1,6 @@ /* ********************************************************************** -* Copyright (C) 1999-2006, International Business Machines +* Copyright (C) 1999-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Date Name Description @@ -52,7 +52,7 @@ void CollationThaiTest::runIndexedTest(int32_t index, UBool exec, const char* &n char* /*par*/) { if((!coll) && exec) { - errln(__FILE__ " cannot test - failed to create collator."); + dataerrln(__FILE__ " cannot test - failed to create collator."); name = "some test"; return; } diff --git a/icu4c/source/test/intltest/tmsgfmt.cpp b/icu4c/source/test/intltest/tmsgfmt.cpp index 99c05bfc077..bbcb4cc51b2 100644 --- a/icu4c/source/test/intltest/tmsgfmt.cpp +++ b/icu4c/source/test/intltest/tmsgfmt.cpp @@ -287,7 +287,7 @@ void TestMessageFormat::PatternTest() UnicodeString buffer; form = new MessageFormat(testCases[i], Locale::getUS(), success); if (U_FAILURE(success)) { - errln("MessageFormat creation failed.#1"); + dataerrln("MessageFormat creation failed.#1 - %s", u_errorName(success)); logln(((UnicodeString)"MessageFormat for ") + testCases[i] + " creation failed.\n"); continue; } @@ -305,7 +305,7 @@ void TestMessageFormat::PatternTest() FieldPosition fieldpos(0); form->format(testArgs, count, result, fieldpos, success); if (U_FAILURE(success)) { - errln("MessageFormat failed test #3"); + dataerrln("MessageFormat failed test #3 - %s", u_errorName(success)); logln("TestMessageFormat::PatternTest failed test #3"); continue; } @@ -388,7 +388,7 @@ void TestMessageFormat::testStaticFormat() err); if (U_FAILURE(err)) { - errln("TestMessageFormat::testStaticFormat #1"); + dataerrln("TestMessageFormat::testStaticFormat #1 - %s", u_errorName(err)); logln(UnicodeString("TestMessageFormat::testStaticFormat failed test #1 with error code ")+(int32_t)err); return; } @@ -424,7 +424,7 @@ void TestMessageFormat::TestTurkishCasing() err); if (U_FAILURE(err)) { - errln("TestTurkishCasing #1 with error code %s", u_errorName(err)); + dataerrln("TestTurkishCasing #1 with error code %s", u_errorName(err)); return; } @@ -455,7 +455,7 @@ void TestMessageFormat::testSimpleFormat(/* char* par */) FieldPosition ignore(FieldPosition::DONT_CARE); form->format(testArgs1, 2, string, ignore, err); if (U_FAILURE(err) || string != "The disk \"MyDisk\" contains 0 file(s).") { - errln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #1")); + dataerrln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #1 - ") + u_errorName(err)); } ignore.setField(FieldPosition::DONT_CARE); @@ -463,14 +463,14 @@ void TestMessageFormat::testSimpleFormat(/* char* par */) form->format(testArgs2, 2, string, ignore, err); if (U_FAILURE(err) || string != "The disk \"MyDisk\" contains 1 file(s).") { logln(string); - errln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #2")+string); + dataerrln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #2")+string + " - " + u_errorName(err)); } ignore.setField(FieldPosition::DONT_CARE); string.remove(); form->format(testArgs3, 2, string, ignore, err); if (U_FAILURE(err) || string != "The disk \"MyDisk\" contains 12 file(s).") { - errln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #3")+string); + dataerrln(UnicodeString("TestMessageFormat::testSimpleFormat failed on test #3")+string + " - " + u_errorName(err)); } delete form; @@ -510,7 +510,7 @@ void TestMessageFormat::testMsgFormatChoice(/* char* par */) Formattable testArgs3[] = {(int32_t)1273, "MyDisk"}; form->format(testArgs3, 2, string, ignore, err); if (string != "The disk \"MyDisk\" contains 1,273 files.") { - errln("TestMessageFormat::testMsgFormatChoice failed on test #3"); + dataerrln("TestMessageFormat::testMsgFormatChoice failed on test #3 - %s", u_errorName(err)); } delete form; @@ -530,7 +530,7 @@ void TestMessageFormat::testMsgFormatPlural(/* char* par */) UnicodeString t5("{0, plural, one {{0, number,C''''est #,##0.0# fichier}} other {Ce sont # fichiers}} dans la liste."); MessageFormat* mfNum = new MessageFormat(t1, Locale("fr"), err); if (U_FAILURE(err)) { - errln("TestMessageFormat::testMsgFormatPlural #1 - argumentIndex"); + dataerrln("TestMessageFormat::testMsgFormatPlural #1 - argumentIndex - %s", u_errorName(err)); logln(UnicodeString("TestMessageFormat::testMsgFormatPlural #1 with error code ")+(int32_t)err); return; } @@ -775,7 +775,7 @@ void TestMessageFormat::testSetLocale() logln(result); if (result != compareStrEng) { - errln("*** MSG format err."); + dataerrln("*** MSG format err. - %s", u_errorName(err)); } msg.setLocale(Locale::getEnglish()); @@ -807,7 +807,7 @@ void TestMessageFormat::testSetLocale() if (result == compareStrGer) { logln("MSG setLocale tested."); }else{ - errln( "*** MSG setLocale err."); + dataerrln( "*** MSG setLocale err. - %s", u_errorName(err)); } if (getLocale_ok) { @@ -849,7 +849,7 @@ void TestMessageFormat::testFormat() err); if (err != U_ILLEGAL_ARGUMENT_ERROR) { - errln("*** MSG format without expected error code."); + dataerrln("*** MSG format without expected error code. - %s", u_errorName(err)); } err = U_ZERO_ERROR; @@ -865,7 +865,7 @@ void TestMessageFormat::testFormat() logln("MSG format( Formattable&, ... ) expected:" + compareStr); logln("MSG format( Formattable&, ... ) result:" + result); if (result != compareStr) { - errln("*** MSG format( Formattable&, .... ) err."); + dataerrln("*** MSG format( Formattable&, .... ) err. - %s", u_errorName(err)); }else{ logln("MSG format( Formattable&, ... ) tested."); } @@ -972,7 +972,7 @@ void TestMessageFormat::testAdopt() Format** formatsToAdopt; if (!formats || !formatsCmp || (count <= 0) || (count != countCmp)) { - errln("Error getting Formats"); + dataerrln("Error getting Formats"); return; } @@ -1208,7 +1208,7 @@ void TestMessageFormat::TestUnlimitedArgsAndSubformats() { "and to delight of {5}, {6}, {7}, {8}, {9}, and {10} {11}."; MessageFormat msg(pattern, ec); if (U_FAILURE(ec)) { - errln("FAIL: constructor failed"); + dataerrln("FAIL: constructor failed - %s", u_errorName(ec)); return; } diff --git a/icu4c/source/test/intltest/transapi.cpp b/icu4c/source/test/intltest/transapi.cpp index 6f497c68b5a..24317ca8adf 100644 --- a/icu4c/source/test/intltest/transapi.cpp +++ b/icu4c/source/test/intltest/transapi.cpp @@ -1,6 +1,6 @@ /************************************************************************ * COPYRIGHT: - * Copyright (c) 2000-2008, International Business Machines Corporation + * Copyright (c) 2000-2009, International Business Machines Corporation * and others. All Rights Reserved. ************************************************************************/ /************************************************************************ @@ -72,7 +72,7 @@ void TransliteratorAPITest::TestgetID() { UErrorCode status = U_ZERO_ERROR; Transliterator* t= Transliterator::createInstance(trans, UTRANS_FORWARD, parseError, status); if(t==0 || U_FAILURE(status)){ - errln("FAIL: construction of Latin-Greek"); + dataerrln("FAIL: construction of Latin-Greek - %s",u_errorName(status)); return; }else{ ID= t->getID(); @@ -138,7 +138,7 @@ void TransliteratorAPITest::TestgetInverse() { Transliterator* t2 = Transliterator::createInstance("Latin-Devanagari", UTRANS_FORWARD, parseError, status); Transliterator* invt2 = Transliterator::createInstance("Devanagari-Latin", UTRANS_FORWARD, parseError, status); if(t1 == 0 || invt1 == 0 || t2 == 0 || invt2 == 0) { - errln("FAIL: in instantiation"); + dataerrln("FAIL: in instantiation - %s", u_errorName(status)); return; } @@ -194,7 +194,7 @@ void TransliteratorAPITest::TestClone(){ t1=Transliterator::createInstance("Latin-Devanagari", UTRANS_FORWARD, parseError, status); t2=Transliterator::createInstance("Latin-Greek", UTRANS_FORWARD, parseError, status); if(t1 == 0 || t2 == 0){ - errln("FAIL: construction"); + dataerrln("FAIL: construction - %s", u_errorName(status)); return; } t3=t1->clone(); @@ -243,7 +243,7 @@ void TransliteratorAPITest::TestGetDisplayName() { for (uint32_t i=0; i" + prettify(result)+ ", Expected--> " + prettify(expected) ); + dataerrln((UnicodeString)"FAIL:" + message + " failed Got-->" + prettify(result)+ ", Expected--> " + prettify(expected) ); } diff --git a/icu4c/source/test/intltest/transrt.cpp b/icu4c/source/test/intltest/transrt.cpp index d0451065ce9..73cd712cd0e 100644 --- a/icu4c/source/test/intltest/transrt.cpp +++ b/icu4c/source/test/intltest/transrt.cpp @@ -1,6 +1,6 @@ /* ********************************************************************** -* Copyright (C) 2000-2008, International Business Machines +* Copyright (C) 2000-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Date Name Description @@ -474,7 +474,7 @@ void RTTest::test(const UnicodeString& sourceRangeVal, UnicodeSet okAnyway("[^[:Letter:]]", status); if (U_FAILURE(status)) { - parent->errln("FAIL: Initializing UnicodeSet with [:Other:] or [^[:Letter:]]"); + parent->dataerrln("FAIL: Initializing UnicodeSet with [:Other:] or [^[:Letter:]] - Error: %s", u_errorName(status)); return; } @@ -1027,7 +1027,7 @@ void TransliteratorRoundTripTest::TestHangul() { #define ASSERT_SUCCESS(status) {if (U_FAILURE(status)) { \ - errln("error at file %s, line %d, status = %s", __FILE__, __LINE__, \ + errcheckln(status, "error at file %s, line %d, status = %s", __FILE__, __LINE__, \ u_errorName(status)); \ return;}} @@ -1286,7 +1286,7 @@ void TransliteratorRoundTripTest::TestHebrew() { UErrorCode error = U_ZERO_ERROR; LegalHebrew* legal = new LegalHebrew(error); if(U_FAILURE(error)){ - errln("Could not construct LegalHebrew object. Error: %s", u_errorName(error)); + dataerrln("Could not construct LegalHebrew object. Error: %s", u_errorName(error)); return; } RTTest test("Latin-Hebrew"); @@ -1391,7 +1391,7 @@ void TransliteratorRoundTripTest::TestDevanagariLatin() { errln("FAIL: could not create the Inverse:-( \n"); } }else { - errln("FAIL: could not create the transliterator. Error: %s\n", u_errorName(status)); + dataerrln("FAIL: could not create the transliterator. Error: %s\n", u_errorName(status)); } } diff --git a/icu4c/source/test/intltest/transtst.cpp b/icu4c/source/test/intltest/transtst.cpp index 2de9446f997..5ee713c809b 100644 --- a/icu4c/source/test/intltest/transtst.cpp +++ b/icu4c/source/test/intltest/transtst.cpp @@ -341,7 +341,7 @@ void TransliteratorTest::TestSimpleRules(void) { UTRANS_FORWARD, parseError, status); if (U_FAILURE(status)) { - errln("FAIL: RBT constructor failed"); + dataerrln("FAIL: RBT constructor failed - %s", u_errorName(status)); return; } expect(*t, "abcdefgABCDEFGU", "&bcd&fg!^**!^*&"); @@ -600,7 +600,7 @@ void TransliteratorTest::TestCompoundKana(void) { UErrorCode status = U_ZERO_ERROR; Transliterator* t = Transliterator::createInstance("Latin-Hiragana;Hiragana-Latin", UTRANS_FORWARD, parseError, status); if (t == 0) { - errln("FAIL: construction of Latin-Hiragana;Hiragana-Latin failed"); + dataerrln("FAIL: construction of Latin-Hiragana;Hiragana-Latin failed - %s", u_errorName(status)); } else { expect(*t, "aaaaa", "aaaaa"); delete t; @@ -761,7 +761,7 @@ void TransliteratorTest::TestJ277(void) { UParseError parseError; Transliterator *gl = Transliterator::createInstance("Greek-Latin; NFD; [:M:]Remove; NFC", UTRANS_FORWARD, parseError, status); if (gl == NULL) { - errln("FAIL: createInstance(Greek-Latin) returned NULL"); + dataerrln("FAIL: createInstance(Greek-Latin) returned NULL - %s", u_errorName(status)); return; } @@ -1074,7 +1074,7 @@ void TransliteratorTest::TestHiraganaKatakana(void) { Transliterator* hk = Transliterator::createInstance("Hiragana-Katakana", UTRANS_FORWARD, parseError, status); Transliterator* kh = Transliterator::createInstance("Katakana-Hiragana", UTRANS_FORWARD, parseError, status); if (hk == 0 || kh == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); delete hk; delete kh; return; @@ -1148,7 +1148,7 @@ void TransliteratorTest::TestInterIndic(void) { UParseError parseError; Transliterator* dg = Transliterator::createInstance(ID, UTRANS_FORWARD, parseError, status); if (dg == 0) { - errln("FAIL: createInstance(" + ID + ") returned NULL"); + dataerrln("FAIL: createInstance(" + ID + ") returned NULL - " + u_errorName(status)); return; } UnicodeString id = dg->getID(); @@ -1313,8 +1313,8 @@ void TransliteratorTest::TestLiberalizedID(void) { for (int32_t i=0; i " + newID); } else { - errln((UnicodeString)"FAIL: createInstance(" + + dataerrln((UnicodeString)"FAIL: createInstance(" + id + "," + DATA[i+1] + ") => " + newID + ", expected " + expID); } @@ -1533,7 +1533,7 @@ void TransliteratorTest::TestCompoundRBT(void) { // Now test toRules t = Transliterator::createInstance("Greek-Latin; Latin-Cyrillic", UTRANS_FORWARD, parseError, status); if (t == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); return; } UnicodeString exp("::Greek-Latin;\n::Latin-Cyrillic;"); @@ -1621,7 +1621,7 @@ void TransliteratorTest::TestCompoundFilter(void) { Transliterator *t = Transliterator::createInstance ("Greek-Latin; Latin-Greek; Lower", UTRANS_FORWARD, parseError, status); if (t == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); return; } t->adoptFilter(new UnicodeSet("[^A]", status)); @@ -1732,7 +1732,7 @@ void TransliteratorTest::TestToRules(void) { Transliterator *t = Transliterator::createFromRules("ID", UnicodeString(DATA[d+1], -1, US_INV), UTRANS_FORWARD, parseError, status); if (t == 0) { - errln("FAIL: createFromRules failed"); + dataerrln("FAIL: createFromRules failed - %s", u_errorName(status)); return; } UnicodeString rules, escapedRules; @@ -2074,7 +2074,7 @@ void TransliteratorTest::TestCompoundInverse(void) { Transliterator *t = Transliterator::createInstance ("Greek-Latin; Title()", UTRANS_REVERSE,parseError, status); if (t == 0) { - errln("FAIL: createInstance"); + dataerrln("FAIL: createInstance - %s", u_errorName(status)); return; } UnicodeString exp("(Title);Latin-Greek"); @@ -2225,7 +2225,7 @@ void TransliteratorTest::TestAliasInverseID() { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createInstance(ID, UTRANS_FORWARD, pe, ec); if (t == 0 || U_FAILURE(ec)) { - errln("FAIL: createInstance"); + dataerrln("FAIL: createInstance - %s", u_errorName(ec)); return; } Transliterator *u = t->createInverse(ec); @@ -2253,7 +2253,7 @@ void TransliteratorTest::TestCompoundInverseID() { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createInstance(ID, UTRANS_FORWARD, pe, ec); if (t == 0 || U_FAILURE(ec)) { - errln("FAIL: createInstance"); + dataerrln("FAIL: createInstance - %s", u_errorName(ec)); return; } Transliterator *u = t->createInverse(ec); @@ -2355,7 +2355,7 @@ void TransliteratorTest::TestCompoundFilterID(void) { } delete t; } else { - errln((UnicodeString)"FAIL: " + id + " => " + transID + ", " + + dataerrln((UnicodeString)"FAIL: " + id + " => " + transID + ", " + u_errorName(ec)); } } @@ -2378,7 +2378,7 @@ void TransliteratorTest::TestNewEngine() { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createInstance("Latin-Hiragana", UTRANS_FORWARD, pe, ec); if (t == 0 || U_FAILURE(ec)) { - errln("FAIL: createInstance Latin-Hiragana"); + dataerrln("FAIL: createInstance Latin-Hiragana - %s", u_errorName(ec)); return; } // Katakana should be untouched @@ -2637,8 +2637,8 @@ void TransliteratorTest::TestDevanagariLatinRT(){ Transliterator* latinToDev=Transliterator::createInstance("Latin-Devanagari", UTRANS_FORWARD, parseError, status); Transliterator* devToLatin=Transliterator::createInstance("Devanagari-Latin", UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)){ - errln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); - errln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); + dataerrln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); + dataerrln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); return; } UnicodeString gotResult; @@ -2685,8 +2685,8 @@ void TransliteratorTest::TestTeluguLatinRT(){ Transliterator* latinToDev=Transliterator::createInstance("Latin-Telugu", UTRANS_FORWARD, parseError, status); Transliterator* devToLatin=Transliterator::createInstance("Telugu-Latin", UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)){ - errln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); - errln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); + dataerrln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); + dataerrln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); return; } UnicodeString gotResult; @@ -2745,8 +2745,8 @@ void TransliteratorTest::TestSanskritLatinRT(){ Transliterator* latinToDev=Transliterator::createInstance("Latin-Devanagari", UTRANS_FORWARD, parseError, status); Transliterator* devToLatin=Transliterator::createInstance("Devanagari-Latin", UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)){ - errln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); - errln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); + dataerrln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); + dataerrln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); return; } UnicodeString gotResult; @@ -2814,8 +2814,8 @@ void TransliteratorTest::TestCompoundLatinRT(){ Transliterator* latinToTelToLatin=Transliterator::createInstance("Latin-Telugu;Telugu-Latin", UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)){ - errln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); - errln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); + dataerrln("FAIL: construction " + UnicodeString(" Error: ") + u_errorName(status)); + dataerrln("PreContext: " + prettify(parseError.preContext) + " PostContext: " + prettify( parseError.postContext) ); return; } UnicodeString gotResult; @@ -2848,7 +2848,7 @@ void TransliteratorTest::TestGurmukhiDevanagari(){ UnicodeSetIterator nvIter(non_vowel); Transliterator* trans = Transliterator::createInstance("Devanagari-Gurmukhi",UTRANS_FORWARD, parseError, status); if(U_FAILURE(status)) { - errln("Error creating transliterator %s", u_errorName(status)); + dataerrln("Error creating transliterator %s", u_errorName(status)); delete trans; return; } @@ -2880,7 +2880,7 @@ void TransliteratorTest::TestLocaleInstantiation(void) { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createInstance("ru_RU-Latin", UTRANS_FORWARD, pe, ec); if (U_FAILURE(ec)) { - errln("FAIL: createInstance(ru_RU-Latin)"); + dataerrln("FAIL: createInstance(ru_RU-Latin) - %s", u_errorName(ec)); delete t; return; } @@ -2932,7 +2932,7 @@ void TransliteratorTest::TestLocaleResource() { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createInstance(DATA[i], UTRANS_FORWARD, pe, ec); if (U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: createInstance(" + DATA[i] + ")"); + dataerrln((UnicodeString)"FAIL: createInstance(" + DATA[i] + ") - " + u_errorName(ec)); delete t; continue; } @@ -3084,7 +3084,7 @@ void TransliteratorTest::TestIDForms() { if (!expValid) { logln((UnicodeString)"Ok: getInstance(" + ID +") => " + u_errorName(ec)); } else { - errln((UnicodeString)"FAIL: Couldn't create " + ID); + dataerrln((UnicodeString)"FAIL: Couldn't create " + ID + " - " + u_errorName(ec)); } delete t; continue; @@ -3173,7 +3173,7 @@ void TransliteratorTest::TestToRulesMark() { if (U_FAILURE(ec)) { delete t2; delete t3; - errln((UnicodeString)"FAIL: createFromRules => " + u_errorName(ec)); + dataerrln((UnicodeString)"FAIL: createFromRules => " + u_errorName(ec)); return; } @@ -3290,7 +3290,7 @@ void TransliteratorTest::TestDisplayName() { UnicodeString name; Transliterator::getDisplayName(DATA[i], US, name); if (name != DATA[i+1]) { - errln((UnicodeString)"FAIL: " + DATA[i] + ".getDisplayName() => " + + dataerrln((UnicodeString)"FAIL: " + DATA[i] + ".getDisplayName() => " + name + ", expected " + DATA[i+1]); } else { logln((UnicodeString)"Ok: " + DATA[i] + ".getDisplayName() => " + name); @@ -3300,12 +3300,12 @@ void TransliteratorTest::TestDisplayName() { Transliterator *t = Transliterator::createInstance(DATA[i], UTRANS_REVERSE, pe, ec); if (U_FAILURE(ec)) { delete t; - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(ec)); continue; } name = Transliterator::getDisplayName(t->getID(), US, name); if (name != DATA[i+2]) { - errln((UnicodeString)"FAIL: " + t->getID() + ".getDisplayName() => " + + dataerrln((UnicodeString)"FAIL: " + t->getID() + ".getDisplayName() => " + name + ", expected " + DATA[i+2]); } else { logln((UnicodeString)"Ok: " + t->getID() + ".getDisplayName() => " + name); @@ -3388,7 +3388,7 @@ void TransliteratorTest::TestSpecialCases(void) { Transliterator *t = Transliterator::createFromRules(registerRules[0+i], registerRules[i+1], UTRANS_FORWARD, pos, status); if (U_FAILURE(status)) { - errln("Fails: Unable to create the transliterator from rules."); + dataerrln("Fails: Unable to create the transliterator from rules. - %s", u_errorName(status)); } else { Transliterator::registerInstance(t); } @@ -3399,7 +3399,7 @@ void TransliteratorTest::TestSpecialCases(void) { const UnicodeString& name = testCases[i]; Transliterator *t = Transliterator::createInstance(name, UTRANS_FORWARD, pe, ec); if (U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: Couldn't create " + name); + dataerrln((UnicodeString)"FAIL: Couldn't create " + name + " - " + u_errorName(ec)); delete t; continue; } @@ -3626,7 +3626,7 @@ void TransliteratorTest::TestFunction() { UErrorCode ec = U_ZERO_ERROR; Transliterator *t = Transliterator::createFromRules("Test", rule, UTRANS_FORWARD, pe, ec); if (t == NULL) { - errln("FAIL: createFromRules failed"); + dataerrln("FAIL: createFromRules failed - %s", u_errorName(ec)); return; } @@ -3761,7 +3761,7 @@ void TransliteratorTest::TestUserFunction() { UNICODE_STRING_SIMPLE("'\\'u(..)(..) > '';"), UTRANS_FORWARD, pe, ec); if (t == NULL || U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: createFromRules gif " + u_errorName(ec)); + dataerrln((UnicodeString)"FAIL: createFromRules gif " + u_errorName(ec)); return; } _TUFReg("Any-gif", t, 0); @@ -3840,7 +3840,7 @@ void TransliteratorTest::TestAnyX(void) { Transliterator* anyLatin = Transliterator::createInstance("Any-Latin", UTRANS_FORWARD, parseError, status); if (anyLatin==0) { - errln("FAIL: createInstance returned NULL"); + dataerrln("FAIL: createInstance returned NULL - %s", u_errorName(status)); delete anyLatin; return; } @@ -3861,7 +3861,7 @@ void TransliteratorTest::TestAny(void) { // function call parameters going on in this test. UnicodeSet alphabetic("[:alphabetic:]", status); if (U_FAILURE(status)) { - errln("Failure: file %s, line %d, status = %s", __FILE__, __LINE__, u_errorName(status)); + dataerrln("Failure: file %s, line %d, status = %s", __FILE__, __LINE__, u_errorName(status)); return; } alphabetic.freeze(); @@ -4004,7 +4004,7 @@ void TransliteratorTest::TestAllCodepoints(){ } const char* myId = uscript_getName(code); if(!myId) { - errln("Valid script code returned NULL name. Check your data!"); + dataerrln("Valid script code returned NULL name. Check your data!"); return; } uprv_strcpy(id,myId); @@ -4043,7 +4043,7 @@ void TransliteratorTest::TestAllCodepoints(){ UErrorCode ec = U_ZERO_ERROR; \ Transliterator* t = Transliterator::createInstance(id, UTRANS_FORWARD, ec); \ if (U_FAILURE(ec)) { \ - errln("FAIL: Couldn't create " id); \ + dataerrln("FAIL: Couldn't create %s - %s", id, u_errorName(ec)); \ } else { \ if (t->getDynamicClassID() != cls::getStaticClassID()) { \ errln("FAIL: " #cls " dynamic and static class ID mismatch"); \ @@ -4477,7 +4477,7 @@ void TransliteratorTest::TestRegisterAlias() { err = U_ZERO_ERROR; t1 = Transliterator::createInstance(realID, UTRANS_FORWARD, err); if (U_FAILURE(err)) { - errln("Failed to instantiate transliterator with real ID"); + dataerrln("Failed to instantiate transliterator with real ID - %s", u_errorName(err)); Transliterator::unregister(realID); return; } @@ -4531,7 +4531,7 @@ void TransliteratorTest::TestHalfwidthFullwidth(void) { Transliterator* hf = Transliterator::createInstance("Halfwidth-Fullwidth", UTRANS_FORWARD, parseError, status); Transliterator* fh = Transliterator::createInstance("Fullwidth-Halfwidth", UTRANS_FORWARD, parseError, status); if (hf == 0 || fh == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); delete hf; delete fh; return; @@ -4580,7 +4580,7 @@ void TransliteratorTest::TestThai(void) { UErrorCode status = U_ZERO_ERROR; Transliterator* tr = Transliterator::createInstance("Any-Latin", UTRANS_FORWARD, parseError, status); if (tr == 0) { - errln("FAIL: createInstance failed"); + dataerrln("FAIL: createInstance failed - %s", u_errorName(status)); return; } if (U_FAILURE(status)) { @@ -4662,7 +4662,7 @@ void TransliteratorTest::expectT(const UnicodeString& id, UParseError pe; Transliterator *t = Transliterator::createInstance(id, UTRANS_FORWARD, pe, ec); if (U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: Could not create " + id); + errln((UnicodeString)"FAIL: Could not create " + id + " - " + u_errorName(ec)); delete t; return; } @@ -4673,7 +4673,7 @@ void TransliteratorTest::expectT(const UnicodeString& id, void TransliteratorTest::reportParseError(const UnicodeString& message, const UParseError& parseError, const UErrorCode& status) { - errln(message + + dataerrln(message + /*", parse error " + parseError.code +*/ ", line " + parseError.line + ", offset " + parseError.offset + @@ -4821,7 +4821,7 @@ void TransliteratorTest::expectAux(const UnicodeString& tag, if (pass) { logln(UnicodeString("(")+tag+") " + prettify(summary)); } else { - errln(UnicodeString("FAIL: (")+tag+") " + dataerrln(UnicodeString("FAIL: (")+tag+") " + prettify(summary) + ", expected " + prettify(expectedResult)); } diff --git a/icu4c/source/test/intltest/trcoll.cpp b/icu4c/source/test/intltest/trcoll.cpp index 7da003a8ca3..ee042c01d96 100644 --- a/icu4c/source/test/intltest/trcoll.cpp +++ b/icu4c/source/test/intltest/trcoll.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation and + * Copyright (c) 1997-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -92,7 +92,7 @@ void CollationTurkishTest::runIndexedTest( int32_t index, UBool exec, const char if (exec) logln("TestSuite CollationTurkishTest: "); if((!myCollation) && exec) { - errln(__FILE__ " cannot test - failed to create collator."); + dataerrln(__FILE__ " cannot test - failed to create collator."); name = "some test"; return; } diff --git a/icu4c/source/test/intltest/trnserr.cpp b/icu4c/source/test/intltest/trnserr.cpp index 40f41850f07..727f0aed600 100644 --- a/icu4c/source/test/intltest/trnserr.cpp +++ b/icu4c/source/test/intltest/trnserr.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 2001-2007, International Business Machines + * Copyright (c) 2001-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************* * This test program is intended for testing error conditions of the @@ -63,7 +63,7 @@ void TransliteratorErrorTest::TestTransliteratorErrors() { Transliterator* t= Transliterator::createInstance(trans, UTRANS_FORWARD, parseError, status); if(t==0 || U_FAILURE(status)){ - errln("FAIL: construction of Latin-Greek"); + dataerrln("FAIL: construction of Latin-Greek - %s", u_errorName(status)); return; } pos.contextLimit = 0; diff --git a/icu4c/source/test/intltest/tsdate.cpp b/icu4c/source/test/intltest/tsdate.cpp index 00f740ec0a1..bdff3d194e4 100644 --- a/icu4c/source/test/intltest/tsdate.cpp +++ b/icu4c/source/test/intltest/tsdate.cpp @@ -1,5 +1,5 @@ /*********************************************************************** - * Copyright (c) 1997-2006, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -112,7 +112,7 @@ void IntlTestDateFormat::testFormat(/* char* par */) { if (fFormat == 0) { - errln("FAIL: DateFormat creation failed"); + dataerrln("FAIL: DateFormat creation failed"); return; } @@ -263,7 +263,7 @@ void IntlTestDateFormat::testAvailableLocales(/* char* par */) } logln(all); } - else errln((UnicodeString)"**** FAIL: Zero available locales or null array pointer"); + else dataerrln((UnicodeString)"**** FAIL: Zero available locales or null array pointer"); } void IntlTestDateFormat::monsterTest(/*char *par*/) diff --git a/icu4c/source/test/intltest/tsdcfmsy.cpp b/icu4c/source/test/intltest/tsdcfmsy.cpp index 515e5a14638..f3dfb9fdeda 100644 --- a/icu4c/source/test/intltest/tsdcfmsy.cpp +++ b/icu4c/source/test/intltest/tsdcfmsy.cpp @@ -37,13 +37,15 @@ void IntlTestDecimalFormatSymbols::testSymbols(/* char *par */) DecimalFormatSymbols fr(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create French DecimalFormatSymbols"); + errcheckln(status, "ERROR: Couldn't create French DecimalFormatSymbols - %s", u_errorName(status)); + return; } status = U_ZERO_ERROR; DecimalFormatSymbols en(Locale::getEnglish(), status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create English DecimalFormatSymbols"); + errcheckln(status, "ERROR: Couldn't create English DecimalFormatSymbols - %s", u_errorName(status)); + return; } if(en == fr || ! (en != fr) ) { diff --git a/icu4c/source/test/intltest/tsdtfmsy.cpp b/icu4c/source/test/intltest/tsdtfmsy.cpp index 663fb6a6bdb..196e077680c 100644 --- a/icu4c/source/test/intltest/tsdtfmsy.cpp +++ b/icu4c/source/test/intltest/tsdtfmsy.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 1997-2008, International Business Machines + * Copyright (c) 1997-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************/ @@ -135,19 +135,22 @@ void IntlTestDateFormatSymbols::TestSymbols(/* char *par */) DateFormatSymbols fr(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); + errcheckln(status, "ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); + return; } status = U_ZERO_ERROR; DateFormatSymbols fr2(Locale::getFrench(), status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); + errcheckln(status, "ERROR: Couldn't create French DateFormatSymbols " + (UnicodeString)u_errorName(status)); + return; } status = U_ZERO_ERROR; DateFormatSymbols en(Locale::getEnglish(), status); if(U_FAILURE(status)) { - errln("ERROR: Couldn't create English DateFormatSymbols " + (UnicodeString)u_errorName(status)); + errcheckln(status, "ERROR: Couldn't create English DateFormatSymbols " + (UnicodeString)u_errorName(status)); + return; } if(en == fr || ! (en != fr) ) { diff --git a/icu4c/source/test/intltest/tsmthred.cpp b/icu4c/source/test/intltest/tsmthred.cpp index 33946d079b2..7e56c027be4 100644 --- a/icu4c/source/test/intltest/tsmthred.cpp +++ b/icu4c/source/test/intltest/tsmthred.cpp @@ -979,13 +979,13 @@ public: status = U_ZERO_ERROR; formatter = NumberFormat::createInstance(Locale::getEnglish(),status); if(U_FAILURE(status)) { - error("Error on NumberFormat::createInstance()"); + error("Error on NumberFormat::createInstance()."); goto cleanupAndReturn; } percentFormatter = NumberFormat::createPercentInstance(Locale::getFrench(),status); if(U_FAILURE(status)) { - error("Error on NumberFormat::createPercentInstance()"); + error("Error on NumberFormat::createPercentInstance()."); goto cleanupAndReturn; } @@ -1147,7 +1147,7 @@ void MultithreadTest::TestThreadedIntl() } else if (haveDisplayedInfo[i] == FALSE) { logln("Thread # %d is complete..", i); if(tests[i].getError(theErr)) { - errln(UnicodeString("#") + i + ": " + theErr); + dataerrln(UnicodeString("#") + i + ": " + theErr); SimpleThread::errorFunc(); } haveDisplayedInfo[i] = TRUE; @@ -1302,7 +1302,7 @@ void MultithreadTest::TestCollators() if (testFile == 0) { *(buffer+bufLen) = 0; - dataerrln("[DATA] could not open any of the conformance test files, tried opening base %s", buffer); + dataerrln("could not open any of the conformance test files, tried opening base %s", buffer); return; } else { infoln( @@ -1338,13 +1338,13 @@ void MultithreadTest::TestCollators() } fclose(testFile); if(U_FAILURE(status)) { - dataerrln("[DATA] Couldn't read the test file!"); + dataerrln("Couldn't read the test file!"); return; } UCollator *coll = ucol_open("root", &status); if(U_FAILURE(status)) { - errln("Couldn't open UCA collator"); + errcheckln(status, "Couldn't open UCA collator"); return; } ucol_setAttribute(coll, UCOL_NORMALIZATION_MODE, UCOL_ON, &status); diff --git a/icu4c/source/test/intltest/tsnmfmt.cpp b/icu4c/source/test/intltest/tsnmfmt.cpp index 57d49ecce4c..a04a2bd3f3b 100644 --- a/icu4c/source/test/intltest/tsnmfmt.cpp +++ b/icu4c/source/test/intltest/tsnmfmt.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2004, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -150,7 +150,7 @@ IntlTestNumberFormat::testFormat(/* char* par */) { if (U_FAILURE(fStatus)) { - errln((UnicodeString)"**** FAIL: createXxxInstance failed."); + dataerrln((UnicodeString)"**** FAIL: createXxxInstance failed. - " + u_errorName(fStatus)); if (fFormat != 0) errln("**** FAIL: Non-null format returned by createXxxInstance upon failure."); delete fFormat; @@ -401,7 +401,7 @@ void IntlTestNumberFormat::testAvailableLocales(/* char* par */) logln(all); } else - errln((UnicodeString)"**** FAIL: Zero available locales or null array pointer"); + dataerrln((UnicodeString)"**** FAIL: Zero available locales or null array pointer"); } void IntlTestNumberFormat::monsterTest(/* char* par */) diff --git a/icu4c/source/test/intltest/tufmtts.cpp b/icu4c/source/test/intltest/tufmtts.cpp index 6df7f89904e..855a7600cc7 100644 --- a/icu4c/source/test/intltest/tufmtts.cpp +++ b/icu4c/source/test/intltest/tufmtts.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 2008, International Business Machines Corporation and + * Copyright (c) 2008-2009, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -41,7 +41,7 @@ void TimeUnitTest::testBasic() { Locale loc(locales[locIndex]); TimeUnitFormat** formats = new TimeUnitFormat*[2]; formats[TimeUnitFormat::kFull] = new TimeUnitFormat(loc, status); - if (!assertSuccess("TimeUnitFormat(full)", status)) return; + if (!assertSuccess("TimeUnitFormat(full)", status, TRUE)) return; formats[TimeUnitFormat::kAbbreviate] = new TimeUnitFormat(loc, TimeUnitFormat::kAbbreviate, status); if (!assertSuccess("TimeUnitFormat(short)", status)) return; #ifdef TUFMTTS_DEBUG @@ -157,7 +157,7 @@ void TimeUnitTest::testAPI() { //================= TimeUnitFormat ================= // TimeUnitFormat* tmf_en = new TimeUnitFormat(Locale("en"), status); - if (!assertSuccess("TimeUnitFormat(en...)", status)) return; + if (!assertSuccess("TimeUnitFormat(en...)", status, TRUE)) return; TimeUnitFormat tmf_fr(Locale("fr"), status); if (!assertSuccess("TimeUnitFormat(fr...)", status)) return; diff --git a/icu4c/source/test/intltest/tzbdtest.cpp b/icu4c/source/test/intltest/tzbdtest.cpp index 88e0fab9c7c..7d753ab85ca 100644 --- a/icu4c/source/test/intltest/tzbdtest.cpp +++ b/icu4c/source/test/intltest/tzbdtest.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 1997-2006, International Business Machines Corporation + * Copyright (c) 1997-2009, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -97,7 +97,7 @@ TimeZoneBoundaryTest::findDaylightBoundaryUsingDate(UDate d, const char* startMo mindelta <= INTERVAL && maxdelta >= 0 && maxdelta <= INTERVAL) logln(UnicodeString("PASS: Expected boundary at ") + expectedBoundary); - else errln(UnicodeString("FAIL: Expected boundary at ") + expectedBoundary); + else dataerrln(UnicodeString("FAIL: Expected boundary at ") + expectedBoundary); } // ------------------------------------- @@ -120,12 +120,12 @@ TimeZoneBoundaryTest::findDaylightBoundaryUsingTimeZone(UDate d, UBool startsInD UDate min = d; UDate max = min + SIX_MONTHS; if (tz->inDaylightTime(d, status) != startsInDST) { - errln("FAIL: " + tz->getID(str) + " inDaylightTime(" + dateToString(d) + ") != " + (startsInDST ? "true" : "false")); + dataerrln("FAIL: " + tz->getID(str) + " inDaylightTime(" + dateToString(d) + ") != " + (startsInDST ? "true" : "false")); startsInDST = !startsInDST; } if (failure(status, "TimeZone::inDaylightTime")) return; if (tz->inDaylightTime(max, status) == startsInDST) { - errln("FAIL: " + tz->getID(str) + " inDaylightTime(" + dateToString(max) + ") != " + (startsInDST ? "false" : "true")); + dataerrln("FAIL: " + tz->getID(str) + " inDaylightTime(" + dateToString(max) + ") != " + (startsInDST ? "false" : "true")); return; } if (failure(status, "TimeZone::inDaylightTime")) return; @@ -194,17 +194,17 @@ TimeZoneBoundaryTest::verifyDST(UDate d, TimeZone* time_zone, UBool expUseDaylig if (time_zone->inDaylightTime(d, status) == expInDaylightTime) logln(UnicodeString("PASS: inDaylightTime = ") + (time_zone->inDaylightTime(d, status)?"true":"false")); else - errln(UnicodeString("FAIL: inDaylightTime = ") + (time_zone->inDaylightTime(d, status)?"true":"false")); + dataerrln(UnicodeString("FAIL: inDaylightTime = ") + (time_zone->inDaylightTime(d, status)?"true":"false")); if (failure(status, "TimeZone::inDaylightTime")) return; if (time_zone->useDaylightTime() == expUseDaylightTime) logln(UnicodeString("PASS: useDaylightTime = ") + (time_zone->useDaylightTime()?"true":"false")); else - errln(UnicodeString("FAIL: useDaylightTime = ") + (time_zone->useDaylightTime()?"true":"false")); + dataerrln(UnicodeString("FAIL: useDaylightTime = ") + (time_zone->useDaylightTime()?"true":"false")); if (time_zone->getRawOffset() == expZoneOffset) logln(UnicodeString("PASS: getRawOffset() = ") + (expZoneOffset / ONE_HOUR)); else - errln(UnicodeString("FAIL: getRawOffset() = ") + (time_zone->getRawOffset() / ONE_HOUR) + "; expected " + (expZoneOffset / ONE_HOUR)); + dataerrln(UnicodeString("FAIL: getRawOffset() = ") + (time_zone->getRawOffset() / ONE_HOUR) + "; expected " + (expZoneOffset / ONE_HOUR)); GregorianCalendar *gc = new GregorianCalendar(time_zone->clone(), status); gc->setTime(d, status); @@ -216,7 +216,7 @@ TimeZoneBoundaryTest::verifyDST(UDate d, TimeZone* time_zone, UBool expUseDaylig status); if (failure(status, "GregorianCalendar::get")) return; if (offset == expDSTOffset) logln(UnicodeString("PASS: getOffset() = ") + (offset / ONE_HOUR)); - else errln(UnicodeString("FAIL: getOffset() = ") + (offset / ONE_HOUR) + "; expected " + (expDSTOffset / ONE_HOUR)); + else dataerrln(UnicodeString("FAIL: getOffset() = ") + (offset / ONE_HOUR) + "; expected " + (expDSTOffset / ONE_HOUR)); delete gc; } @@ -242,7 +242,7 @@ void TimeZoneBoundaryTest::verifyMapping(Calendar& cal, int year, int month, int logln(UnicodeString("Ok: ") + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " + e + " (" + ed + ")"); } else { - errln(UnicodeString("FAIL: ") + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " + + dataerrln(UnicodeString("FAIL: ") + year + "/" + (month+1) + "/" + dom + " " + hour + ":00 => " + e + " (" + (e * H) + ")" + ", expected " + epochHours + " (" + ed + ")"); } @@ -257,7 +257,7 @@ void TimeZoneBoundaryTest::verifyMapping(Calendar& cal, int year, int month, int cal.get(UCAL_DATE, status) + " " + cal.get(UCAL_MILLISECOND, status)/H); } else { - errln(UnicodeString("FAIL: ") + epochHours + " (" + ed + ") => " + + dataerrln(UnicodeString("FAIL: ") + epochHours + " (" + ed + ") => " + cal.get(UCAL_YEAR, status) + "/" + (cal.get(UCAL_MONTH, status)+1) + "/" + cal.get(UCAL_DATE, status) + " " + @@ -478,7 +478,7 @@ TimeZoneBoundaryTest::findBoundariesStepwise(int32_t year, UDate interval, TimeZ errln("FAIL: useDaylightTime false but 2 changes seen"); } if (changes != expectedChanges) { - errln(UnicodeString("FAIL: ") + changes + " changes seen; expected " + expectedChanges); + dataerrln(UnicodeString("FAIL: ") + changes + " changes seen; expected " + expectedChanges); } } diff --git a/icu4c/source/test/intltest/tzfmttst.cpp b/icu4c/source/test/intltest/tzfmttst.cpp index caedaa68c47..e28a6a60934 100644 --- a/icu4c/source/test/intltest/tzfmttst.cpp +++ b/icu4c/source/test/intltest/tzfmttst.cpp @@ -115,8 +115,8 @@ TimeZoneFormatTest::TestTimeZoneRoundTrip(void) { SimpleDateFormat *sdf = new SimpleDateFormat((UnicodeString)PATTERNS[patidx], LOCALES[locidx], status); if (U_FAILURE(status)) { - errln((UnicodeString)"new SimpleDateFormat failed for pattern " + - PATTERNS[patidx] + " for locale " + LOCALES[locidx].getName()); + errcheckln(status, (UnicodeString)"new SimpleDateFormat failed for pattern " + + PATTERNS[patidx] + " for locale " + LOCALES[locidx].getName() + " - " + u_errorName(status)); status = U_ZERO_ERROR; continue; } @@ -337,8 +337,8 @@ TimeZoneFormatTest::TestTimeRoundTrip(void) { SimpleDateFormat *sdf = new SimpleDateFormat(pattern, LOCALES[locidx], status); if (U_FAILURE(status)) { - errln((UnicodeString)"new SimpleDateFormat failed for pattern " + - pattern + " for locale " + LOCALES[locidx].getName()); + errcheckln(status, (UnicodeString)"new SimpleDateFormat failed for pattern " + + pattern + " for locale " + LOCALES[locidx].getName() + " - " + u_errorName(status)); status = U_ZERO_ERROR; continue; } diff --git a/icu4c/source/test/intltest/tzoffloc.cpp b/icu4c/source/test/intltest/tzoffloc.cpp index 1c4c5848347..5b0d86f47d4 100644 --- a/icu4c/source/test/intltest/tzoffloc.cpp +++ b/icu4c/source/test/intltest/tzoffloc.cpp @@ -1,6 +1,6 @@ /* ******************************************************************************* -* Copyright (C) 2007, International Business Machines Corporation and * +* Copyright (C) 2007-2009, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ @@ -193,7 +193,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { SimpleDateFormat df(UnicodeString("yyyy-MM-dd HH:mm:ss"), status); if (U_FAILURE(status)) { - errln("Failed to initialize a SimpleDateFormat"); + errcheckln(status, "Failed to initialize a SimpleDateFormat - %s", u_errorName(status)); } df.setTimeZone(*utc); UnicodeString dateStr; @@ -210,7 +210,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (offset != OFFSETS1[d]) { dateStr.remove(); df.format(MILLIS[d], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(standard) - Got: " + offset + " Expected: " + OFFSETS1[d]); } } @@ -227,7 +227,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (rawOffset != OFFSETS2[m][0] || dstOffset != OFFSETS2[m][1]) { dateStr.remove(); df.format(MILLIS[m], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(wall) - Got: " + rawOffset + "/" + dstOffset + " Expected: " + OFFSETS2[m][0] + "/" + OFFSETS2[m][1]); @@ -248,7 +248,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (rawOffset != OFFSETS2[m][0] || dstOffset != OFFSETS2[m][1]) { dateStr.remove(); df.format(MILLIS[m], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(wall/kStandard/kStandard) - Got: " + rawOffset + "/" + dstOffset + " Expected: " + OFFSETS2[m][0] + "/" + OFFSETS2[m][1]); @@ -269,7 +269,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (rawOffset != OFFSETS3[m][0] || dstOffset != OFFSETS3[m][1]) { dateStr.remove(); df.format(MILLIS[m], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(wall/kDaylight/kDaylight) - Got: " + rawOffset + "/" + dstOffset + " Expected: " + OFFSETS3[m][0] + "/" + OFFSETS3[m][1]); @@ -290,7 +290,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (rawOffset != OFFSETS2[m][0] || dstOffset != OFFSETS2[m][1]) { dateStr.remove(); df.format(MILLIS[m], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(wall/kFormer/kLatter) - Got: " + rawOffset + "/" + dstOffset + " Expected: " + OFFSETS2[m][0] + "/" + OFFSETS2[m][1]); @@ -311,7 +311,7 @@ TimeZoneOffsetLocalTest::TestGetOffsetAroundTransition() { } else if (rawOffset != OFFSETS3[m][0] || dstOffset != OFFSETS3[m][1]) { dateStr.remove(); df.format(MILLIS[m], dateStr); - errln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dataerrln((UnicodeString)"Bad offset returned by TESTZONES[" + i + "] at " + dateStr + "(wall/kLatter/kFormer) - Got: " + rawOffset + "/" + dstOffset + " Expected: " + OFFSETS3[m][0] + "/" + OFFSETS3[m][1]); diff --git a/icu4c/source/test/intltest/tzregts.cpp b/icu4c/source/test/intltest/tzregts.cpp index b549b83c16a..a9d739d0839 100644 --- a/icu4c/source/test/intltest/tzregts.cpp +++ b/icu4c/source/test/intltest/tzregts.cpp @@ -1,5 +1,5 @@ /******************************************************************** - * Copyright (c) 1997-2007, International Business Machines + * Copyright (c) 1997-2009, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************/ @@ -147,7 +147,7 @@ void TimeZoneRegressionTest:: Test4073215() SimpleDateFormat sdf((UnicodeString)"E d MMM yyyy G HH:mm", status); if(U_FAILURE(status)) { - errln("Error creating date format %s", u_errorName(status)); + errcheckln(status, "Error creating date format %s", u_errorName(status)); return; } sdf.setCalendar(cal); @@ -237,7 +237,7 @@ void TimeZoneRegressionTest:: Test4084933() { int32_t SToffset = (int32_t)(-8 * 60*60*1000L); int32_t DToffset = (int32_t)(-7 * 60*60*1000L); -#define ERR_IF_FAIL(x) if(x) { errln("FAIL: TimeZone misbehaving - %s", #x); } +#define ERR_IF_FAIL(x) if(x) { dataerrln("FAIL: TimeZone misbehaving - %s", #x); } ERR_IF_FAIL(U_FAILURE(status)) ERR_IF_FAIL(offset1 != SToffset) @@ -464,7 +464,7 @@ void TimeZoneRegressionTest:: Test4126678() //Date dt = new Date(1998-1900, Calendar::APRIL, 5, 10, 0); if (! tz->useDaylightTime() || U_FAILURE(status)) - errln("We're not in Daylight Savings Time and we should be.\n"); + dataerrln("We're not in Daylight Savings Time and we should be. - %s", u_errorName(status)); //cal.setTime(dt); int32_t era = cal->get(UCAL_ERA, status); @@ -852,7 +852,7 @@ TimeZoneRegressionTest::Test4162593() UErrorCode status = U_ZERO_ERROR; SimpleDateFormat *fmt = new SimpleDateFormat("z", Locale::getUS(), status); if(U_FAILURE(status)) { - errln("Error creating calendar %s", u_errorName(status)); + errcheckln(status, "Error creating calendar %s", u_errorName(status)); delete fmt; return; } @@ -1046,7 +1046,7 @@ void TimeZoneRegressionTest::TestJ449() { // Make sure we got valid zones if (zoneWith->getID(str) != UnicodeString(idWithLocaleData) || zoneWithout->getID(str) != UnicodeString(idWithoutLocaleData)) { - errln(UnicodeString("Fail: Unable to create zones - wanted ") + idWithLocaleData + ", got " + zoneWith->getID(str) + ", and wanted " + idWithoutLocaleData + " but got " + zoneWithout->getID(str)); + dataerrln(UnicodeString("Fail: Unable to create zones - wanted ") + idWithLocaleData + ", got " + zoneWith->getID(str) + ", and wanted " + idWithoutLocaleData + " but got " + zoneWithout->getID(str)); } else { GregorianCalendar calWith(*zoneWith, status); GregorianCalendar calWithout(*zoneWithout, status); diff --git a/icu4c/source/test/intltest/tzrulets.cpp b/icu4c/source/test/intltest/tzrulets.cpp index 02b3a8e9bd5..2c070ffa6e1 100644 --- a/icu4c/source/test/intltest/tzrulets.cpp +++ b/icu4c/source/test/intltest/tzrulets.cpp @@ -498,7 +498,7 @@ TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone(void) { UDate jan1_2010 = getUTCMillis(2010, UCAL_JANUARY, 1); if (!ny->hasEquivalentTransitions(*rbtz, jan1_1967, jan1_2010, TRUE, status)) { - errln("FAIL: The RBTZ must be equivalent to America/New_York between 1967 and 2010"); + dataerrln("FAIL: The RBTZ must be equivalent to America/New_York between 1967 and 2010"); } if (U_FAILURE(status)) { errln("FAIL: error returned from hasEquivalentTransitions for ny/rbtz 1967-2010"); @@ -512,7 +512,7 @@ TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone(void) { // Same with above, but calling RBTZ#hasEquivalentTransitions against OlsonTimeZone if (!rbtz->hasEquivalentTransitions(*ny, jan1_1967, jan1_2010, TRUE, status)) { - errln("FAIL: The RBTZ must be equivalent to America/New_York between 1967 and 2010"); + dataerrln("FAIL: The RBTZ must be equivalent to America/New_York between 1967 and 2010 "); } if (U_FAILURE(status)) { errln("FAIL: error returned from hasEquivalentTransitions for rbtz/ny 1967-2010"); @@ -559,12 +559,12 @@ TimeZoneRuleTest::TestHistoricalRuleBasedTimeZone(void) { errln("FAIL: ny->getOffset failed"); } if (offset1 != offset2 || dst1 != dst2) { - errln("FAIL: Incompatible time zone offset/dstSavings for ny and rbtz"); + dataerrln("FAIL: Incompatible time zone offset/dstSavings for ny and rbtz"); } // Check inDaylightTime if (rbtz->inDaylightTime(times[i], status) != ny->inDaylightTime(times[i], status)) { - errln("FAIL: Incompatible daylight saving time for ny and rbtz"); + dataerrln("FAIL: Incompatible daylight saving time for ny and rbtz"); } if (U_FAILURE(status)) { errln("FAIL: inDaylightTime failed"); @@ -696,7 +696,7 @@ TimeZoneRuleTest::TestHasEquivalentTransitions(void) { UDate jan1_2011 = getUTCMillis(2010, UCAL_JANUARY, 1); if (newyork->hasEquivalentTransitions(*indianapolis, jan1_2005, jan1_2011, TRUE, status)) { - errln("FAIL: New_York is not equivalent to Indianapolis between 2005 and 2010"); + dataerrln("FAIL: New_York is not equivalent to Indianapolis between 2005 and 2010"); } if (U_FAILURE(status)) { errln("FAIL: error status is returned from hasEquivalentTransition"); @@ -715,7 +715,7 @@ TimeZoneRuleTest::TestHasEquivalentTransitions(void) { errln("FAIL: error status is returned from hasEquivalentTransition"); } if (indianapolis->hasEquivalentTransitions(*gmt_5, jan1_1971, jan1_2007, TRUE, status)) { - errln("FAIL: Indianapolis is not equivalent to GMT+5 between 1971 and 2006"); + dataerrln("FAIL: Indianapolis is not equivalent to GMT+5 between 1971 and 2006"); } if (U_FAILURE(status)) { errln("FAIL: error status is returned from hasEquivalentTransition"); @@ -740,7 +740,7 @@ TimeZoneRuleTest::TestHasEquivalentTransitions(void) { // raw offsets are different BasicTimeZone *losangeles = (BasicTimeZone*)TimeZone::createTimeZone("America/Los_Angeles"); if (newyork->hasEquivalentTransitions(*losangeles, jan1_2006, jan1_2011, TRUE, status)) { - errln("FAIL: New_York is not equivalent to Los Angeles, but returned true"); + dataerrln("FAIL: New_York is not equivalent to Los Angeles, but returned true"); } if (U_FAILURE(status)) { errln("FAIL: error status is returned from hasEquivalentTransition for newyork/losangeles"); @@ -1697,12 +1697,12 @@ TimeZoneRuleTest::TestVTimeZoneCoverage(void) { UBool btr1 = otz->getNextTransition(base, TRUE, tzt1); UBool btr2 = vtz->getNextTransition(base, TRUE, tzt2); if (!btr1 || !btr2 || tzt1 != tzt2) { - errln("FAIL: getNextTransition returned different results in VTimeZone and OlsonTimeZone"); + dataerrln("FAIL: getNextTransition returned different results in VTimeZone and OlsonTimeZone"); } btr1 = otz->getPreviousTransition(base, FALSE, tzt1); btr2 = vtz->getPreviousTransition(base, FALSE, tzt2); if (!btr1 || !btr2 || tzt1 != tzt2) { - errln("FAIL: getPreviousTransition returned different results in VTimeZone and OlsonTimeZone"); + dataerrln("FAIL: getPreviousTransition returned different results in VTimeZone and OlsonTimeZone"); } // TimeZoneTransition constructor/clone diff --git a/icu4c/source/test/intltest/tztest.cpp b/icu4c/source/test/intltest/tztest.cpp index 92e82ec4c6a..b85ed032edd 100644 --- a/icu4c/source/test/intltest/tztest.cpp +++ b/icu4c/source/test/intltest/tztest.cpp @@ -140,7 +140,7 @@ TimeZoneTest::TestGenericAPI() UErrorCode status = U_ZERO_ERROR; const char* tzver = TimeZone::getTZDataVersion(status); if (U_FAILURE(status)) { - errln("FAIL: getTZDataVersion failed"); + errcheckln(status, "FAIL: getTZDataVersion failed - %s", u_errorName(status)); } else if (uprv_strlen(tzver) != 5 /* 4 digits + 1 letter */) { errln((UnicodeString)"FAIL: getTZDataVersion returned " + tzver); } else { @@ -313,7 +313,7 @@ TimeZoneTest::TestPRTOffset() double foundOffset = tz->getRawOffset(); int32_t foundHour = (int32_t)foundOffset / millisPerHour; if (expectedOffset != foundOffset) { - errln("FAIL: Offset for PRT should be %d, found %d", expectedHour, foundHour); + dataerrln("FAIL: Offset for PRT should be %d, found %d", expectedHour, foundHour); } else { logln("PASS: Offset for PRT should be %d, found %d", expectedHour, foundHour); } @@ -334,17 +334,17 @@ TimeZoneTest::TestVariousAPI518() UDate d = date(97, UCAL_APRIL, 30); UnicodeString str; logln("The timezone is " + time_zone->getID(str)); - if (!time_zone->inDaylightTime(d, status)) errln("FAIL: inDaylightTime returned FALSE"); + if (!time_zone->inDaylightTime(d, status)) dataerrln("FAIL: inDaylightTime returned FALSE"); if (U_FAILURE(status)) { errln("FAIL: TimeZone::inDaylightTime failed"); return; } - if (!time_zone->useDaylightTime()) errln("FAIL: useDaylightTime returned FALSE"); - if (time_zone->getRawOffset() != - 8 * millisPerHour) errln("FAIL: getRawOffset returned wrong value"); + if (!time_zone->useDaylightTime()) dataerrln("FAIL: useDaylightTime returned FALSE"); + if (time_zone->getRawOffset() != - 8 * millisPerHour) dataerrln("FAIL: getRawOffset returned wrong value"); GregorianCalendar *gc = new GregorianCalendar(status); if (U_FAILURE(status)) { errln("FAIL: Couldn't create GregorianCalendar"); return; } gc->setTime(d, status); if (U_FAILURE(status)) { errln("FAIL: GregorianCalendar::setTime failed"); return; } if (time_zone->getOffset(gc->AD, gc->get(UCAL_YEAR, status), gc->get(UCAL_MONTH, status), gc->get(UCAL_DATE, status), (uint8_t)gc->get(UCAL_DAY_OF_WEEK, status), 0, status) != - 7 * millisPerHour) - errln("FAIL: getOffset returned wrong value"); + dataerrln("FAIL: getOffset returned wrong value"); if (U_FAILURE(status)) { errln("FAIL: GregorianCalendar::set failed"); return; } delete gc; delete time_zone; @@ -973,7 +973,7 @@ void TimeZoneTest::TestCustomParse() // JDK 1.4 creates custom zones with IDs of the form "GMT+02:00" // ICU creates custom zones with IDs of the form "GMT+02:00" else if (exp != kUnparseable && (ioffset != exp || itsID != expectedID)) { - errln("Expected offset of " + formatOffset(exp, temp) + + dataerrln("Expected offset of " + formatOffset(exp, temp) + ", id " + expectedID + ", for " + id + ", got offset of " + offset + @@ -1177,7 +1177,7 @@ TimeZoneTest::TestDisplayName() zone->getDisplayName(Locale::getEnglish(), name); logln("PST->" + name); if (name.compare("Pacific Standard Time") != 0) - errln("Fail: Expected \"Pacific Standard Time\" but got " + name); + dataerrln("Fail: Expected \"Pacific Standard Time\" but got " + name); //***************************************************************** // THE FOLLOWING LINES MUST BE UPDATED IF THE LOCALE DATA CHANGES @@ -1205,7 +1205,7 @@ TimeZoneTest::TestDisplayName() kData[i].style, Locale::getEnglish(), name); if (name.compare(kData[i].expect) != 0) - errln("Fail: Expected " + UnicodeString(kData[i].expect) + "; got " + name); + dataerrln("Fail: Expected " + UnicodeString(kData[i].expect) + "; got " + name); logln("PST [with options]->" + name); } for (i=0; kData[i].expect[0] != '\0'; i++) @@ -1214,7 +1214,7 @@ TimeZoneTest::TestDisplayName() name = zone->getDisplayName(kData[i].useDst, kData[i].style, name); if (name.compare(kData[i].expect) != 0) - errln("Fail: Expected " + UnicodeString(kData[i].expect) + "; got " + name); + dataerrln("Fail: Expected " + UnicodeString(kData[i].expect) + "; got " + name); logln("PST [with options]->" + name); } @@ -1241,7 +1241,7 @@ TimeZoneTest::TestDisplayName() name = zone2->getDisplayName(Locale::getEnglish(),name); logln("Modified PST->" + name); if (name.compare("Pacific Standard Time") != 0) - errln("Fail: Expected \"Pacific Standard Time\""); + dataerrln("Fail: Expected \"Pacific Standard Time\""); // Make sure we get the default display format for Locales // with no display name data. @@ -1261,7 +1261,7 @@ TimeZoneTest::TestDisplayName() ResourceBundle enRB(NULL, Locale::getEnglish(), status); if(U_FAILURE(status)) - errln("Couldn't get ResourceBundle for en"); + errcheckln(status, "Couldn't get ResourceBundle for en - %s", u_errorName(status)); ResourceBundle mtRB(NULL, mt_MT, status); @@ -1273,7 +1273,7 @@ TimeZoneTest::TestDisplayName() if (noZH) { logln("Warning: Not testing the mt_MT behavior because resource is absent"); if (name != "Pacific Standard Time") - errln("Fail: Expected Pacific Standard Time"); + dataerrln("Fail: Expected Pacific Standard Time"); } @@ -1281,10 +1281,10 @@ TimeZoneTest::TestDisplayName() name.compare("GMT-8:00") && name.compare("GMT-0800") && name.compare("GMT-800")) { - errln(UnicodeString("Fail: Expected GMT-08:00 or something similar for PST in mt_MT but got ") + name ); - errln("************************************************************"); - errln("THE ABOVE FAILURE MAY JUST MEAN THE LOCALE DATA HAS CHANGED"); - errln("************************************************************"); + dataerrln(UnicodeString("Fail: Expected GMT-08:00 or something similar for PST in mt_MT but got ") + name ); + dataerrln("************************************************************"); + dataerrln("THE ABOVE FAILURE MAY JUST MEAN THE LOCALE DATA HAS CHANGED"); + dataerrln("************************************************************"); } // Now try a non-existent zone @@ -1297,7 +1297,7 @@ TimeZoneTest::TestDisplayName() name.compare("GMT+1:30") && name.compare("GMT+0130") && name.compare("GMT+130")) - errln("Fail: Expected GMT+01:30 or something similar"); + dataerrln("Fail: Expected GMT+01:30 or something similar"); name.truncate(0); zone2->getDisplayName(name); logln("GMT+90min->" + name); @@ -1305,7 +1305,7 @@ TimeZoneTest::TestDisplayName() name.compare("GMT+1:30") && name.compare("GMT+0130") && name.compare("GMT+130")) - errln("Fail: Expected GMT+01:30 or something similar"); + dataerrln("Fail: Expected GMT+01:30 or something similar"); // clean up delete zone; delete zone2; @@ -1448,7 +1448,7 @@ void TimeZoneTest::TestFractionalDST() { UnicodeString id; int32_t expected = 1800000; if (expected != dst_icu) { - errln(UnicodeString("java reports dst savings of ") + expected + + dataerrln(UnicodeString("java reports dst savings of ") + expected + " but icu reports " + dst_icu + " for tz " + tz_icu->getID(id)); } else { @@ -1473,7 +1473,7 @@ void TimeZoneTest::TestCountries() { int32_t i; if (s == NULL || n <= 0) { - errln("FAIL: TimeZone::createEnumeration() returned nothing"); + dataerrln("FAIL: TimeZone::createEnumeration() returned nothing"); return; } for (i=0; igetID(s) != UnicodeString(id)) { - errln((UnicodeString)"FAIL: createTimeZone(" + id + ") => " + s); + dataerrln((UnicodeString)"FAIL: createTimeZone(" + id + ") => " + s); } else { UErrorCode ec = U_ZERO_ERROR; int32_t raw, dst; @@ -1592,7 +1592,7 @@ void TimeZoneTest::TestHistorical() { void TimeZoneTest::TestEquivalentIDs() { int32_t n = TimeZone::countEquivalentIDs("PST"); if (n < 2) { - errln((UnicodeString)"FAIL: countEquivalentIDs(PST) = " + n); + dataerrln((UnicodeString)"FAIL: countEquivalentIDs(PST) = " + n); } else { UBool sawLA = FALSE; for (int32_t i=0; igetDynamicClassID(): NULL); if(U_FAILURE(status)) { errln(UnicodeString(#c " - " #f " - got err status ") + UnicodeString(u_errorName(status))); status = U_ZERO_ERROR; } } +#define TESTCLASSID_FACTORY_HIDDEN(c, f) {UObject *objVar = f; delete testClass(objVar, #c, #f, objVar!=NULL? objVar->getDynamicClassID(): NULL); if(U_FAILURE(status)) { dataerrln(UnicodeString(#c " - " #f " - got err status ") + UnicodeString(u_errorName(status))); status = U_ZERO_ERROR; } } #define MAX_CLASS_ID 200 @@ -73,12 +73,12 @@ UObject *UObjectTest::testClass(UObject *obj, } if(staticID == NULL) { - errln("FAIL: staticID == NULL!" + what); + dataerrln("FAIL: staticID == NULL! " + what); } if(factory != NULL) { /* NULL factory means: abstract */ if(!obj) { - errln( "FAIL: ==NULL!" + what); + dataerrln( "FAIL: ==NULL! " + what); return obj; } @@ -87,7 +87,7 @@ UObject *UObjectTest::testClass(UObject *obj, } if(dynamicID != staticID) { - errln("FAIL: dynamicID != staticID!" + what ); + dataerrln("FAIL: dynamicID != staticID! " + what); } } diff --git a/icu4c/source/test/intltest/usettest.cpp b/icu4c/source/test/intltest/usettest.cpp index b537e2ac3e9..15d921bf327 100644 --- a/icu4c/source/test/intltest/usettest.cpp +++ b/icu4c/source/test/intltest/usettest.cpp @@ -27,11 +27,11 @@ #define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0])) #define TEST_ASSERT_SUCCESS(status) {if (U_FAILURE(status)) { \ - errln("fail in file \"%s\", line %d: \"%s\"", __FILE__, __LINE__, \ + dataerrln("fail in file \"%s\", line %d: \"%s\"", __FILE__, __LINE__, \ u_errorName(status));}} #define TEST_ASSERT(expr) {if (!(expr)) { \ - errln("fail in file \"%s\", line %d", __FILE__, __LINE__); }} + dataerrln("fail in file \"%s\", line %d", __FILE__, __LINE__); }} UnicodeString operator+(const UnicodeString& left, const UnicodeSet& set) { UnicodeString pat; @@ -130,7 +130,7 @@ void UnicodeSetTest::TestToPattern() { ec = U_ZERO_ERROR; UnicodeSet s(OTHER_TOPATTERN_TESTS[j], ec); if (U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: bad pattern " + OTHER_TOPATTERN_TESTS[j]); + dataerrln((UnicodeString)"FAIL: bad pattern " + OTHER_TOPATTERN_TESTS[j] + " - " + UnicodeString(u_errorName(ec))); continue; } checkPat(OTHER_TOPATTERN_TESTS[j], s); @@ -281,7 +281,8 @@ UnicodeSetTest::TestCategories(void) { const char* pat = " [:Lu:] "; // Whitespace ok outside [:..:] UnicodeSet set(pat, status); if (U_FAILURE(status)) { - errln((UnicodeString)"Fail: Can't construct set with " + pat); + dataerrln((UnicodeString)"Fail: Can't construct set with " + pat + " - " + UnicodeString(u_errorName(status))); + return; } else { expectContainment(set, pat, "ABC", "abc"); } @@ -321,7 +322,7 @@ UnicodeSetTest::TestCloneEqualHash(void) { UnicodeSet *set1=new UnicodeSet(UNICODE_STRING_SIMPLE("\\p{Lowercase Letter}"), status); // :Ll: Letter, lowercase UnicodeSet *set1a=new UnicodeSet(UNICODE_STRING_SIMPLE("[:Ll:]"), status); // Letter, lowercase if (U_FAILURE(status)){ - errln((UnicodeString)"FAIL: Can't construst set with category->Ll"); + dataerrln((UnicodeString)"FAIL: Can't construst set with category->Ll" + " - " + UnicodeString(u_errorName(status))); return; } UnicodeSet *set2=new UnicodeSet(UNICODE_STRING_SIMPLE("\\p{Decimal Number}"), status); //Number, Decimal digit @@ -1246,7 +1247,7 @@ void UnicodeSetTest::TestCloseOver() { if (s == t) { logln((UnicodeString)"Ok: " + pat + ".closeOver(" + selector + ") => " + exp); } else { - errln((UnicodeString)"FAIL: " + pat + ".closeOver(" + selector + ") => " + + dataerrln((UnicodeString)"FAIL: " + pat + ".closeOver(" + selector + ") => " + s.toPattern(buf, TRUE) + ", expected " + exp); } } @@ -1922,7 +1923,7 @@ UnicodeSetTest::expectContainment(const UnicodeString& pat, UErrorCode ec = U_ZERO_ERROR; UnicodeSet set(pat, ec); if (U_FAILURE(ec)) { - errln((UnicodeString)"FAIL: pattern \"" + + dataerrln((UnicodeString)"FAIL: pattern \"" + pat + "\" => " + u_errorName(ec)); return; } @@ -2104,14 +2105,14 @@ void UnicodeSetTest::TestFreezable() { UnicodeString idPattern=UNICODE_STRING("[:ID_Continue:]", 15); UnicodeSet idSet(idPattern, errorCode); if(U_FAILURE(errorCode)) { - errln("FAIL: unable to create UnicodeSet([:ID_Continue:]) - %s", u_errorName(errorCode)); + dataerrln("FAIL: unable to create UnicodeSet([:ID_Continue:]) - %s", u_errorName(errorCode)); return; } UnicodeString wsPattern=UNICODE_STRING("[:White_Space:]", 15); UnicodeSet wsSet(wsPattern, errorCode); if(U_FAILURE(errorCode)) { - errln("FAIL: unable to create UnicodeSet([:White_Space:]) - %s", u_errorName(errorCode)); + dataerrln("FAIL: unable to create UnicodeSet([:White_Space:]) - %s", u_errorName(errorCode)); return; } @@ -3597,7 +3598,7 @@ void UnicodeSetTest::TestSpan() { UErrorCode errorCode=U_ZERO_ERROR; sets[SLOW]=new UnicodeSet(UnicodeString(s, -1, US_INV).unescape(), errorCode); if(U_FAILURE(errorCode)) { - errln("FAIL: Unable to create UnicodeSet(%s) - %s", s, u_errorName(errorCode)); + dataerrln("FAIL: Unable to create UnicodeSet(%s) - %s", s, u_errorName(errorCode)); break; } sets[SLOW_NOT]=new UnicodeSet(*sets[SLOW]);