-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Shorebird runs the Dart VM tests on our bots. We have to make a few changes to the .status files to get them to all pass cleanly (since upstream/Google doesn't seem to use status files exclusively anymore rather in combination with some expectation database).
However something changed in the handling of status files between Dart 3.6.2 and Dart 3.7.0 (Shorebird forks track stable). (Maybe it was earlier than that, but I think that's the revision.)
I replicated the behavior on stock 3.7.0 just now.
Repro instructions:
git checkout 3.7.0
gclient sync -D
./tools/build.py --no-rbe --mode debug --arch arm64 default dartaotruntime
Confirm the test fails as expected (if not, make it fail by editing it, for me Straße isn't encoded correctly):
python3 tools/test.py -m debug -c dartkp -r dart_precompiled -a arm64 --use-elf corelib/unicode_test
(Optional) delete all files in tests/corelib except unicode_test.dart and corelib.status to make your life easier (otherwise the tests will take several minutes to run).
Apply this diff to corelib.status:
diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status
index 4ff77260d00..9aaaf97c5de 100644
--- a/tests/corelib/corelib.status
+++ b/tests/corelib/corelib.status
@@ -2,6 +2,8 @@
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
+unicode_test: Fail
+
bigint_parse_radix_test/3: Slow # Issue http://dartbug.com/47050
bigint_test: Pass, Slow
That diff used to work to mark corelib/unicode_test.dart as failing for all configurations. But doesn't seem to any more as of 3.7.0
Now run "all" of corelib (now that it's only 1 test it will be very quick and see that unicode_test.dart still fails even though it's being marked as "Fail" in the .status file:
python3 tools/test.py -m debug -c dartkp -r dart_precompiled -a arm64 --use-elf corelib
No build targets found.
Test configuration:
custom-configuration-1(architecture: arm64, compiler: dartkp, mode: debug, runtime: dart_precompiled, system: mac)
Suites tested: corelib
FAILED: dartkp-dart_precompiled debug_arm64 corelib/unicode_test
Expected: Pass
Actual: RuntimeError
--- Command "vm_compile_to_kernel" (took 04.000674s):
DART_CONFIGURATION=DebugARM64 /Users/eseidel/Documents/GitHub/dart-sdk/sdk/pkg/vm/tool/gen_kernel --aot --platform=xcodebuild/DebugARM64/vm_platform_strong.dill -o /Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/out.dill /Users/eseidel/Documents/GitHub/dart-sdk/sdk/tests/corelib/unicode_test.dart -Dtest_runner.configuration=custom-configuration-1 --packages=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/.dart_tool/package_config.json -Ddart.vm.product=false --sound-null-safety
exit code:
0
--- Command "precompiler" (took 03.000269s):
DART_CONFIGURATION=DebugARM64 xcodebuild/DebugARM64/gen_snapshot --snapshot-kind=app-aot-elf --elf=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/out.aotsnapshot --loading-unit-manifest=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/ignored.json --sound-null-safety -Dtest_runner.configuration=custom-configuration-1 --ignore-unrecognized-flags --packages=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/.dart_tool/package_config.json /Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/out.dill
exit code:
0
--- Command "remove_kernel_file" (took 6ms):
DART_CONFIGURATION=DebugARM64 rm /Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/out.dill
exit code:
0
--- Command "vm" (took 23ms):
DART_CONFIGURATION=DebugARM64 TEST_COMPILATION_DIR=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test xcodebuild/DebugARM64/dartaotruntime --sound-null-safety -Dtest_runner.configuration=custom-configuration-1 --ignore-unrecognized-flags --packages=/Users/eseidel/Documents/GitHub/dart-sdk/sdk/.dart_tool/package_config.json /Users/eseidel/Documents/GitHub/dart-sdk/sdk/xcodebuild/DebugARM64/generated_compilations/custom-configuration-1/tests_corelib_unicode_test/out.aotsnapshot
exit code:
255
stderr:
Unhandled exception:
Expect.equals(expected: <STRASSE>, actual: <STRA\xDFE>) fails.
#0 Expect._fail (package:expect/expect.dart:887)
#1 Expect._failNotEqual (package:expect/expect.dart:171)
#2 Expect.equals (package:expect/expect.dart:157)
#3 UnicodeTest.testMain (file:///Users/eseidel/Documents/GitHub/dart-sdk/sdk/tests/corelib/unicode_test.dart:10)
#4 main (file:///Users/eseidel/Documents/GitHub/dart-sdk/sdk/tests/corelib/unicode_test.dart:15)
#5 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:315)
#6 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:194)
--- Re-run this test:
python3 tools/test.py -m debug -c dartkp -r dart_precompiled -a arm64 --use-elf corelib/unicode_test
[00:08 | 100% | + 0 | - 1]
=== 0 tests passed, 1 failed ===
What am I missing? Thanks!