[libcxx-commits] [libcxx] 7bed95a - [libc++] Add a regression test for erasing from a vector

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Sep 29 09:19:42 PDT 2020


Author: Arthur O'Dwyer
Date: 2020-09-29T12:19:05-04:00
New Revision: 7bed95a856f1e0146e838e7575677159f42f3bf7

URL: https://github.com/llvm/llvm-project/commit/7bed95a856f1e0146e838e7575677159f42f3bf7
DIFF: https://github.com/llvm/llvm-project/commit/7bed95a856f1e0146e838e7575677159f42f3bf7.diff

LOG: [libc++] Add a regression test for erasing from a vector

After rebasing my trivially-relocatable branch, this behavior was broken...
but no libc++ unit test caught it! Add a regression test specifically for
erasing out of a vector.

Differential Revision: https://reviews.llvm.org/D88421

Added: 
    

Modified: 
    libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
index fb9b4bfbe4ef..1d58d319b5bc 100644
--- a/libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
+++ b/libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
@@ -35,6 +35,21 @@ bool Throws::sThrows = false;
 
 int main(int, char**)
 {
+    {
+    int a1[] = {1, 2, 3, 4, 5};
+    std::vector<int> l1(a1, a1+5);
+    l1.erase(l1.begin());
+    assert(is_contiguous_container_asan_correct(l1));
+    assert(l1 == std::vector<int>(a1+1, a1+5));
+    }
+    {
+    int a1[] = {1, 2, 3, 4, 5};
+    int e1[] = {1, 3, 4, 5};
+    std::vector<int> l1(a1, a1+5);
+    l1.erase(l1.begin() + 1);
+    assert(is_contiguous_container_asan_correct(l1));
+    assert(l1 == std::vector<int>(e1, e1+4));
+    }
     {
     int a1[] = {1, 2, 3};
     std::vector<int> l1(a1, a1+3);


        


More information about the libcxx-commits mailing list