// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file // 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. // Customize ASAN options for this test with 'allocator_may_return_null=1' as // it tries to allocate a large memory buffer. // Environment=ASAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1 // Environment=LSAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1 // Environment=MSAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1 // Environment=TSAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1 // Test that ensures correct exception when running out of memory for // really large transferable. import 'dart:async'; import 'dart:collection'; import 'dart:core'; import 'dart:io'; import 'dart:isolate'; import 'dart:typed_data'; import 'dart:math'; import "package:expect/expect.dart"; main() { // Attempt to create total 1tb uint8list which should fail on 32 and 64-bit // platforms. final bytes100MB = Uint8List(100 * 1024 * 1024); final total1TB = List.filled(10000, bytes100MB); // Try to make a 1 TB transferable. Expect.throws(() => TransferableTypedData.fromList(total1TB)); }