diff unittests/ADT/ScopeExitTest.cpp @ 134:3a76565eade5 LLVM5.0.1

update 5.0.1
author mir3636
date Sat, 17 Feb 2018 09:57:20 +0900
parents 1172e4bd9c6f
children c2174574ed3a
line wrap: on
line diff
--- a/unittests/ADT/ScopeExitTest.cpp	Fri Feb 16 19:10:49 2018 +0900
+++ b/unittests/ADT/ScopeExitTest.cpp	Sat Feb 17 09:57:20 2018 +0900
@@ -29,4 +29,21 @@
   EXPECT_TRUE(Called);
 }
 
+TEST(ScopeExitTest, Release) {
+  int Count = 0;
+  auto Increment = [&] { ++Count; };
+  {
+    auto G = make_scope_exit(Increment);
+    auto H = std::move(G);
+    auto I = std::move(G);
+    EXPECT_EQ(0, Count);
+  }
+  EXPECT_EQ(1, Count);
+  {
+    auto G = make_scope_exit(Increment);
+    G.release();
+  }
+  EXPECT_EQ(1, Count);
+}
+
 } // end anonymous namespace