[dartdev] Delete and create dylibs instead of truncate - test

Roll in regression test https://github.com/dart-lang/native/pull/2933
to test https://dart-review.googlesource.com/c/sdk/+/471240.

Closes: https://github.com/dart-lang/native/issues/2921

Change-Id: Id3aab286f2aeb4654c69cbc34ee0d15f29013565
Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-mac-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471262
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
This commit is contained in:
Daco Harkes
2026-01-07 10:29:56 -08:00
committed by Commit Queue
parent ac0be94edd
commit 6efd914b36
3 changed files with 26 additions and 1 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ vars = {
"i18n_rev": "dd8a792a8492370a594706c8304d2eb8db844d7a",
"leak_tracker_rev": "f5620600a5ce1c44f65ddaa02001e200b096e14c", # rolled manually
"material_color_utilities_rev": "799b6ba2f3f1c28c67cc7e0b4f18e0c7d7f3c03e",
"native_rev": "91ac216dc8705cf29dd7c0e563f5b1d1d7730a1c", # rolled manually while record_use is experimental
"native_rev": "4bed1ed249b22f9a447b96bcaf4b546ce0e70319", # rolled manually while record_use is experimental
"protobuf_rev": "9e30258e0aa6a6430ee36c84b75308a9702fde42",
"pub_rev": "b21ac685bc64f6e81050ec0093aa83543d66e2fd", # rolled manually
"shelf_rev": "dd830a0338b31bee92fe7ebc20b9bb963403b6b0",
@@ -266,6 +266,7 @@ Future<void> nativeAssetsTest(
'native_add_version_skew',
'native_add',
'native_dynamic_linking',
'recursive_invocation',
'system_library',
'treeshaking_native_libs',
'user_defines',
@@ -4,6 +4,8 @@
// @dart=2.18
import 'dart:io';
import 'package:test/test.dart';
import '../utils.dart';
@@ -223,4 +225,26 @@ Couldn't resolve native function 'multiply' in 'package:drop_dylib_link/dylib_mu
},
);
}
// Regression test for Bug: https://github.com/dart-lang/native/issues/2921.
test(
'dart run invoking dart run',
// Windows not supported: https://github.com/dart-lang/native/issues/1534.
skip: Platform.isWindows,
timeout: longTimeout,
() async {
await nativeAssetsTest('recursive_invocation', (dartAppUri) async {
final result = await runDart(
arguments: [
'run',
'bin/subprocess.dart',
],
workingDirectory: dartAppUri,
logger: logger,
);
// No crash.
expect(result.exitCode, equals(0));
});
},
);
}