ICU-20438 Fixes issues found in the no-data testing of ICU4C (BRS health check)

ICU-20438 Review feedback worked in.
diff --git a/icu4c/source/test/cintltst/uformattedvaluetst.c b/icu4c/source/test/cintltst/uformattedvaluetst.c
index b046880..a5e3786 100644
--- a/icu4c/source/test/cintltst/uformattedvaluetst.c
+++ b/icu4c/source/test/cintltst/uformattedvaluetst.c
@@ -194,6 +194,10 @@
         UErrorCode* ec) {
     int32_t length;
     const UChar* actualString = ufmtval_getString(fv, &length, ec);
+    if (U_FAILURE(*ec)) {
+        assertIntEquals(message, 0, length);
+        return;
+    }
     assertSuccess(message, ec);
     // The string is guaranteed to be NUL-terminated.
     int32_t actualLength = u_strlen(actualString);
diff --git a/icu4c/source/test/intltest/dtifmtts.cpp b/icu4c/source/test/intltest/dtifmtts.cpp
index 6955c53..5c610eb 100644
--- a/icu4c/source/test/intltest/dtifmtts.cpp
+++ b/icu4c/source/test/intltest/dtifmtts.cpp
@@ -1673,7 +1673,9 @@
         const char16_t* message = u"FormattedDateInterval test 1";
         const char16_t* expectedString = u"July 20 \u2013 25, 2018";
         LocalPointer<Calendar> input1(Calendar::createInstance("en-GB", status));
+        if (status.errIfFailureAndReset()) { return; }
         LocalPointer<Calendar> input2(Calendar::createInstance("en-GB", status));
+        if (status.errIfFailureAndReset()) { return; }
         input1->set(2018, 6, 20);
         input2->set(2018, 6, 25);
         FormattedDateInterval result = fmt->formatToValue(*input1, *input2, status);
@@ -1704,7 +1706,9 @@
         const char16_t* message = u"FormattedDateInterval with fallback format test 1";
         const char16_t* expectedString = u"<< July 25, 2018 --- July 20, 2018 >>";
         LocalPointer<Calendar> input1(Calendar::createInstance("en-GB", status));
+        if (status.errIfFailureAndReset()) { return; }
         LocalPointer<Calendar> input2(Calendar::createInstance("en-GB", status));
+        if (status.errIfFailureAndReset()) { return; }
         input1->set(2018, 6, 20);
         input2->set(2018, 6, 25);
         FormattedDateInterval result = fmt->formatToValue(*input1, *input2, status);
diff --git a/icu4c/source/test/intltest/formattedvaluetest.cpp b/icu4c/source/test/intltest/formattedvaluetest.cpp
index 0b84b4c..976a90b 100644
--- a/icu4c/source/test/intltest/formattedvaluetest.cpp
+++ b/icu4c/source/test/intltest/formattedvaluetest.cpp
@@ -212,8 +212,10 @@
 
     // The temp string is guaranteed to be NUL-terminated
     UnicodeString readOnlyAlias = fv.toTempString(status);
-    assertEquals(baseMessage + u"NUL-terminated",
-        0, readOnlyAlias.getBuffer()[readOnlyAlias.length()]);
+    if (!status.errIfFailureAndReset()) {
+        assertEquals(baseMessage + u"NUL-terminated",
+            0, readOnlyAlias.getBuffer()[readOnlyAlias.length()]);
+    }
 
     // Check nextPosition over all fields
     ConstrainedFieldPosition cfpos;
diff --git a/icu4c/source/test/intltest/listformattertest.cpp b/icu4c/source/test/intltest/listformattertest.cpp
index 952ef7d..763f933 100644
--- a/icu4c/source/test/intltest/listformattertest.cpp
+++ b/icu4c/source/test/intltest/listformattertest.cpp
@@ -544,6 +544,7 @@
 void ListFormatterTest::TestFormattedValue() {
     IcuTestErrorCode status(*this, "TestFormattedValue");
     LocalPointer<ListFormatter> fmt(ListFormatter::createInstance("en", status));
+    if (status.errIfFailureAndReset()) { return; }
 
     {
         const char16_t* message = u"Field position test 1";
diff --git a/icu4c/source/test/intltest/measfmttest.cpp b/icu4c/source/test/intltest/measfmttest.cpp
index 71d8d2b..1b73f54 100644
--- a/icu4c/source/test/intltest/measfmttest.cpp
+++ b/icu4c/source/test/intltest/measfmttest.cpp
@@ -2684,7 +2684,9 @@
     };
     for (const auto& cas : cases) {
         MeasureFormat mf(cas.locale, cas.width, status);
+        if (status.errIfFailureAndReset()) { return; }
         Measure measure(25, cas.unitToAdopt, status);
+        if (status.errIfFailureAndReset()) { return; }
         verifyFormat(cas.locale, mf, &measure, 1, cas.expected);
     }
 }
diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp
index e79be75..26ae404 100644
--- a/icu4c/source/test/intltest/numfmtst.cpp
+++ b/icu4c/source/test/intltest/numfmtst.cpp
@@ -9472,6 +9472,7 @@
     IcuTestErrorCode status(*this, "Test20348_CurrencyPrefixOverride");
     LocalPointer<DecimalFormat> fmt(static_cast<DecimalFormat*>(
         NumberFormat::createCurrencyInstance("en", status)));
+    if (status.errIfFailureAndReset()) { return; }
     UnicodeString result;
     assertEquals("Initial pattern",
         u"¤#,##0.00", fmt->toPattern(result.remove()));
@@ -9507,6 +9508,7 @@
     IcuTestErrorCode status(*this, "Test20358_GroupingInPattern");
     LocalPointer<DecimalFormat> fmt(static_cast<DecimalFormat*>(
         NumberFormat::createInstance("en", status)));
+    if (status.errIfFailureAndReset()) { return; }
     UnicodeString result;
     assertEquals("Initial pattern",
         u"#,##0.###", fmt->toPattern(result.remove()));
@@ -9538,6 +9540,7 @@
     {
         LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
             "en", UNumberFormatStyle::UNUM_CURRENCY, status), status);
+        if (status.errIfFailureAndReset()) { return; }
         assertEquals("symbol", u"¤1.10",
             nf->format(1.1, result.remove(), status));
         assertEquals("currency", u"XXX", nf->getCurrency());
@@ -9545,6 +9548,7 @@
     {
         LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
             "en", UNumberFormatStyle::UNUM_CURRENCY_ISO, status), status);
+        if (status.errIfFailureAndReset()) { return; }
         assertEquals("iso_code", u"XXX 1.10",
             nf->format(1.1, result.remove(), status));
         assertEquals("currency", u"XXX", nf->getCurrency());
@@ -9552,6 +9556,7 @@
     {
         LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
             "en", UNumberFormatStyle::UNUM_CURRENCY_PLURAL, status), status);
+        if (status.errIfFailureAndReset()) { return; }
         assertEquals("plural", u"1.10 (unknown currency)",
             nf->format(1.1, result.remove(), status));
         assertEquals("currency", u"XXX", nf->getCurrency());
diff --git a/icu4c/source/test/intltest/reldatefmttest.cpp b/icu4c/source/test/intltest/reldatefmttest.cpp
index f95e4bb..baccceb 100644
--- a/icu4c/source/test/intltest/reldatefmttest.cpp
+++ b/icu4c/source/test/intltest/reldatefmttest.cpp
@@ -1424,6 +1424,7 @@
     IcuTestErrorCode status(*this, "TestRBNF");
 
     LocalPointer<RuleBasedNumberFormat> rbnf(new RuleBasedNumberFormat(URBNF_SPELLOUT, "en-us", status));
+    if (status.errIfFailureAndReset()) { return; }
     RelativeDateTimeFormatter fmt("en-us", rbnf.orphan(), status);
     UnicodeString result;
     assertEquals("format (direction)", "in five seconds",