adoptium / aqa-tests

Home of test infrastructure for Adoptium builds
https://adoptium.net/aqavit
Apache License 2.0
127 stars 306 forks source link

Update failing MBCS tests based on CLDR 42.0 #5148

Open smlambert opened 4 months ago

smlambert commented 4 months ago

Test failures affecting JDK22+, as described in https://github.com/adoptium/aqa-tests/issues/5141#issuecomment-1997371642, 3 test targets are failing (MBCS_Tests_unicode_linux, MBCS_Tests_codepoint_linux and MBCS_Tests_datetime_formatter).

The analysis in https://github.com/adoptium/aqa-tests/issues/5141#issuecomment-2003999091 rightly indicates that the changes in CLDR 42.0 warrant an update to these tests.

(May involve updating the unicode test data used for testcases as well).

If this can not happen prior to this week's release, we should temporarily disable these tests in the v1.0.1-release branch.

smlambert commented 4 months ago

For MBCS_Tests_unicode_linux

[2024-03-13T14:11:07.031Z] TESTING:
[2024-03-13T14:11:07.783Z] Checking UnicodeData-15.0.0.txt
[2024-03-13T14:11:08.536Z]   Checked 288767 characters
[2024-03-13T14:11:08.536Z] 627 characters were not checked
[2024-03-13T14:11:08.536Z] Checking Blocks-15.0.0.txt
[2024-03-13T14:11:08.536Z]   Checked 293168 characters
[2024-03-13T14:11:08.536Z]   Undefined 4396 characters
[2024-03-13T14:11:08.536Z] Checking Scripts-15.0.0.txt
[2024-03-13T14:11:09.303Z]   Checked 149251 characters
[2024-03-13T14:11:09.303Z] Checking PropertyValueAliases
[2024-03-13T14:11:09.303Z]   Total 164 enums are defined
[2024-03-13T14:11:09.303Z]   Checking PropertyValueAliases-15.0.0.txt
[2024-03-13T14:11:09.303Z]   Missing code(expected): Hrkt
[2024-03-13T14:11:09.303Z]   Missing value(expected): KATAKANA_OR_HIRAGANA
[2024-03-13T14:11:09.303Z]   Checked 165 items
[2024-03-13T14:11:09.303Z] Checking NormalizerTest
[2024-03-13T14:11:10.055Z]   Phase1   Inspection times : 114444
[2024-03-13T14:11:10.055Z]   Phase1   Test is Passed.
[2024-03-13T14:11:10.055Z]   Phase2   Defined Unicode characters : 289394
[2024-03-13T14:11:10.055Z]   Phase2   Ignored characters :  17029
[2024-03-13T14:11:10.055Z]   Phase2   Test is Passed.
[2024-03-13T14:11:10.055Z] Test Failed
[2024-03-13T14:11:10.055Z] -----------------------------------
[2024-03-13T14:11:10.055Z] MBCS_Tests_unicode_linux_0_FAILED

https://www.unicode.org/Public/15.1.0/ucd/PropertyValueAliases.txt contains Hrkt, so we may need to pull the updated test data to address the issue. We are currently using 15.0.0. There is a 16.0.0 available also (as of January 2024, need to check if its more appropriate, there is a comment in its readme that it is draft, so do not think its 'ready' to be referenced). Hrkt is present in all data files.

Now looking at UnicodeChecker.java to understand logic (and where the 164 versus 165 enum values are pulled from).

https://github.com/adoptium/aqa-tests/blob/master/functional/MBCS_Tests/unicode/src/UnicodeScriptChecker3.java#L59-L69

Diff between 15.0.0/ucd/PropertyValueAliases.txt and 15.1.0/ucd/PropertyValueAliases.txt diffBetween15.0.0_and_15.1.0.txt

https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Character.UnicodeScript.html

smlambert commented 4 months ago

MBCS_Tests_datetime_formatter

[2024-03-13T14:10:44.104Z] FAILED: QuarterTest on QuarterTest(FormatTest_zh_tw)
[2024-03-13T14:10:44.104Z] org.junit.ComparisonFailure: expected:<1 01 [第1季] 第1季 1> but was:<1 01 [1] 第1季 1>
[2024-03-13T14:10:44.104Z]  at org.junit.Assert.assertEquals(Assert.java:125)
[2024-03-13T14:10:44.104Z]  at org.junit.Assert.assertEquals(Assert.java:147)
[2024-03-13T14:10:44.104Z]  at FormatTest_zh_tw.QuarterTest(FormatTest_zh_tw.java:129)
[2024-03-13T14:10:44.104Z]  at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[2024-03-13T14:10:44.104Z]  at java.base/java.lang.reflect.Method.invoke(Method.java:580)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
[2024-03-13T14:10:44.104Z]  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
[2024-03-13T14:10:44.104Z]  at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
[2024-03-13T14:10:44.104Z]  at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
[2024-03-13T14:10:44.104Z]  at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
[2024-03-13T14:10:44.104Z]  at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
[2024-03-13T14:10:44.104Z]  at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
[2024-03-13T14:10:44.104Z]  at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
[2024-03-13T14:10:44.104Z]  at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
[2024-03-13T14:10:44.104Z]  at org.testng.TestRunner$1.run(TestRunner.java:570)
[2024-03-13T14:10:44.104Z]  at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
[2024-03-13T14:10:44.104Z]  at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
[2024-03-13T14:10:44.104Z]  at org.testng.TestRunner.run(TestRunner.java:502)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunner.run(SuiteRunner.java:364)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
[2024-03-13T14:10:44.104Z]  at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.runSuites(TestNG.java:1049)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.run(TestNG.java:1017)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.privateMain(TestNG.java:1354)
[2024-03-13T14:10:44.104Z]  at org.testng.TestNG.main(TestNG.java:1323)
[2024-03-13T14:10:44.104Z] 
[2024-03-13T14:10:44.104Z] 
[2024-03-13T14:10:44.104Z] ===============================================
[2024-03-13T14:10:44.104Z]     dateTest11
[2024-03-13T14:10:44.104Z]     Tests run: 28, Failures: 1, Skips: 0
smlambert commented 4 months ago

MBCS_Tests_codepoint_linux

[2024-03-13T14:10:36.111Z] --- Reading NumValue from /home/jenkins/workspace/Test_openjdk22_hs_special.functional_aarch64_alpine-linux/aqa-tests/TKG/../../jvmtest/functional/MBCS_Tests/codepoint/data/UnicodeData-15.0.0.txt ---
[2024-03-13T14:10:36.863Z] --- Checking /home/jenkins/workspace/Test_openjdk22_hs_special.functional_aarch64_alpine-linux/aqa-tests/TKG/../../jvmtest/functional/MBCS_Tests/codepoint/data/Unihan_IRGSources-15.0.0.txt ---
[2024-03-13T14:10:40.210Z] --- Done ---
[2024-03-13T14:10:40.210Z] Test Failed
[2024-03-13T14:10:40.210Z] -----------------------------------
[2024-03-13T14:10:40.210Z] MBCS_Tests_codepoint_linux_0_FAILED
smlambert commented 4 months ago

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9178/ to run all 3 targets off of smlambert aqa-tests branch mbcsFixes

smlambert commented 4 months ago

https://ci.adoptium.net/view/Test_grinder/job/Grinder/9180 using 15.1.0 for JDK22+

smlambert commented 4 months ago

Need to check other JDK versions (including JDK23) are behaving correctly off of the mbcsFixes branch.

Also need to check windows and AIX as those platforms have slight variation in how they are triggered.

smlambert commented 4 months ago
Version Platform Status Grinder Notes
8 x86-64_linux 9182 should fail, 11+
8 x86-64_windows 9183 should fail, 11+
11 aarch64_linux ✔️ 9184
11 x86-64_windows ✔️ 9185
11 ppc64_aix ✔️ 9186
22 aarch64_linux ✔️ 9187
22 x86-64_windows ✔️ 9188
23 aarch64_linux ✔️ 9189
smlambert commented 4 months ago

Also seeing an additional formatter failure, MBCS_Tests_formatter_tw_windows, on Windows, noted in https://github.com/adoptium/aqa-tests/issues/5156#issuecomment-2008018984

smlambert commented 4 months ago

Also seeing 2 failures, MBCS_Tests_formatter_zh_TW_linux and MBCS_Tests_i18n_ko_KR_linux on s390x_linux, noted in https://github.com/adoptium/aqa-tests/issues/5156#issuecomment-2008023921

smlambert commented 3 weeks ago

Need updating for ppc64_aix (until then, exclude on aix):

MBCS_Tests_formatter_Zh_TW_aix MBCS_Tests_formatter_zh_TW_aix MBCS_Tests_formatter_ZH_TW_aix MBCS_Tests_i18n_ko_KR_aix MBCS_Tests_i18n_KO_KR_aix

smlambert commented 3 weeks ago

auto exclude test MBCS_Tests_formatter_Zh_TW_aix plat=ppc64_aix ver=22+