diff --git a/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckExemplars.java b/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckExemplars.java index bcaee5c1a65..1bd58569ecf 100644 --- a/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckExemplars.java +++ b/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckExemplars.java @@ -302,6 +302,16 @@ public CheckCLDR handleCheck( private void checkParse( String path, String fullPath, String value, Options options, List result) { + if (value == null) { + CheckStatus message = + new CheckStatus() + .setCause(this) + .setMainType(CheckStatus.errorType) + .setSubtype(Subtype.badParseLenient) + .setMessage("null value"); + result.add(message); + return; + } try { XPathParts oparts = XPathParts.getFrozenInstance(path); // only thing we do is make sure that the sample is in the value diff --git a/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckPlaceHolders.java b/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckPlaceHolders.java index ee20a6fcbdb..d6465f5e512 100644 --- a/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckPlaceHolders.java +++ b/tools/cldr-code/src/main/java/org/unicode/cldr/test/CheckPlaceHolders.java @@ -666,6 +666,7 @@ private void checkListPatterns(String path, String value, List resu // ldml/listPatterns/listPattern[@type="standard-short"]/listPatternPart[@type="2"] if (path.startsWith("//ldml/listPatterns/listPattern")) { XPathParts parts = XPathParts.getFrozenInstance(path); + if (parts.containsElement("alias")) return; // skip alias XPaths // check order, {0} must be before {1} switch (parts.getAttributeValue(-1, "type")) { diff --git a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCheckCLDR.java b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCheckCLDR.java index 8f04577f91c..5de38d853cf 100644 --- a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCheckCLDR.java +++ b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCheckCLDR.java @@ -469,26 +469,7 @@ public void TestFullErrors() { checkLocale(test, localeID, "?", null); } - /** adjust the logging level of checks */ - public java.util.logging.Level pushCheckLevel() { - java.util.logging.Level oldLevel = null; - if (logKnownIssue( - "CLDR-17320", - "turning off CheckCLDR logging to avoid thousands of log messages, please fix internal stack traces")) { - oldLevel = CheckCLDR.setLoggerLevel(java.util.logging.Level.OFF); - } - return oldLevel; - } - - /** undo the effect of a pushCheckLevel */ - public void popCheckLevel(java.util.logging.Level oldLevel) { - if (oldLevel != null) { - CheckCLDR.setLoggerLevel(oldLevel); - } - } - public void TestAllLocales() { - java.util.logging.Level oldLevel = pushCheckLevel(); CheckCLDR test = CheckCLDR.getCheckAll(factory, INDIVIDUAL_TESTS); CheckCLDR.setDisplayInformation(english); Set unique = new HashSet<>(); @@ -508,18 +489,14 @@ public void TestAllLocales() { // (And in fact this test seems faster without it) locales.forEach(locale -> checkLocale(test, locale, null, unique)); logln("Count:\t" + locales.size()); - popCheckLevel(oldLevel); } public void TestA() { - final java.util.logging.Level oldLevel = pushCheckLevel(); - CheckCLDR test = CheckCLDR.getCheckAll(factory, INDIVIDUAL_TESTS); CheckCLDR.setDisplayInformation(english); Set unique = new HashSet<>(); checkLocale(test, "ko", null, unique); - popCheckLevel(oldLevel); } public void checkLocale(