diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status index d2b5d94727d..853cc32b9a5 100644 --- a/tests/corelib/corelib.status +++ b/tests/corelib/corelib.status @@ -42,6 +42,7 @@ bigint_test: Skip # Issue 31659 [ $compiler == dartdevc || $compiler == dartdevk ] bigint_test/03: SkipSlow # modPow is very slow bigint_test/15: SkipSlow # modPow is very slow +list_concurrent_modify_self_test: SkipSlow # missing check causes list to grow to whole heap uri_parse_test: Slow, Pass uri_test: Slow, Pass diff --git a/tests/corelib/list_concurrent_modify_self_test.dart b/tests/corelib/list_concurrent_modify_self_test.dart new file mode 100644 index 00000000000..cb481b7ad69 --- /dev/null +++ b/tests/corelib/list_concurrent_modify_self_test.dart @@ -0,0 +1,17 @@ +// Copyright (c) 2020, 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. + +import "dart:collection"; +import "dart:typed_data"; +import "package:expect/expect.dart"; + +void main() { + testConcurrentAddSelf([1, 2, 3]); +} + +testConcurrentAddSelf(List list) { + Expect.throws(() { + list.addAll(list); + }, (e) => e is ConcurrentModificationError, "testConcurrentAddSelf($list)"); +} diff --git a/tests/corelib/list_concurrent_modify_test.dart b/tests/corelib/list_concurrent_modify_test.dart index 9e8d338cefe..a16352458dc 100644 --- a/tests/corelib/list_concurrent_modify_test.dart +++ b/tests/corelib/list_concurrent_modify_test.dart @@ -21,9 +21,6 @@ void main() { testConcurrentModification(new Int16List(0).toList()); testConcurrentModification(new Uint32List(0).toList()); testConcurrentModification(new Int32List(0).toList()); - - testConcurrentAddSelf([]); - testConcurrentAddSelf([1, 2, 3]); } void testConcurrentModification(List list) { @@ -77,12 +74,6 @@ void testConcurrentModification(List list) { } } -testConcurrentAddSelf(List list) { - Expect.throws(() { - list.addAll(list); - }, (e) => e is ConcurrentModificationError, "testConcurrentAddSelf($list)"); -} - class MyList extends ListBase { // TODO(42496): Use a nullable list because insert() is implemented in terms // of length=. Change this back to `E` and remove the `as E` below when that diff --git a/tests/corelib_2/corelib_2.status b/tests/corelib_2/corelib_2.status index 316928feabb..5704e103781 100644 --- a/tests/corelib_2/corelib_2.status +++ b/tests/corelib_2/corelib_2.status @@ -53,6 +53,7 @@ bigint_test: Skip # Issue 31659 [ $compiler == dartdevc || $compiler == dartdevk ] bigint_test/03: SkipSlow # modPow is very slow bigint_test/15: SkipSlow # modPow is very slow +list_concurrent_modify_self_test: SkipSlow # missing check causes list to grow to whole heap uri_parse_test: Slow, Pass uri_test: Slow, Pass diff --git a/tests/corelib_2/list_concurrent_modify_self_test.dart b/tests/corelib_2/list_concurrent_modify_self_test.dart new file mode 100644 index 00000000000..cb481b7ad69 --- /dev/null +++ b/tests/corelib_2/list_concurrent_modify_self_test.dart @@ -0,0 +1,17 @@ +// Copyright (c) 2020, 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. + +import "dart:collection"; +import "dart:typed_data"; +import "package:expect/expect.dart"; + +void main() { + testConcurrentAddSelf([1, 2, 3]); +} + +testConcurrentAddSelf(List list) { + Expect.throws(() { + list.addAll(list); + }, (e) => e is ConcurrentModificationError, "testConcurrentAddSelf($list)"); +} diff --git a/tests/corelib_2/list_concurrent_modify_test.dart b/tests/corelib_2/list_concurrent_modify_test.dart index 4d5de969602..b3fcb17f4df 100644 --- a/tests/corelib_2/list_concurrent_modify_test.dart +++ b/tests/corelib_2/list_concurrent_modify_test.dart @@ -23,9 +23,6 @@ void main() { testConcurrentModification(new Int16List(0).toList()); testConcurrentModification(new Uint32List(0).toList()); testConcurrentModification(new Int32List(0).toList()); - - testConcurrentAddSelf([]); - testConcurrentAddSelf([1, 2, 3]); } void testConcurrentModification(List list) { @@ -79,12 +76,6 @@ void testConcurrentModification(List list) { } } -testConcurrentAddSelf(List list) { - Expect.throws(() { - list.addAll(list); - }, (e) => e is ConcurrentModificationError, "testConcurrentAddSelf($list)"); -} - class MyList extends ListBase { List _source; MyList(this._source);