Index: mojo/dart/embedder/test/validation_unittest.cc |
diff --git a/mojo/dart/embedder/test/validation_unittest.cc b/mojo/dart/embedder/test/validation_unittest.cc |
index 181f0bab8ada03213969da5bd5b6a05acc8431ef..8ee3e1e3dde9b671576fa7b4110ea4bb14e23551 100644 |
--- a/mojo/dart/embedder/test/validation_unittest.cc |
+++ b/mojo/dart/embedder/test/validation_unittest.cc |
@@ -42,8 +42,12 @@ static bool generateEntropy(uint8_t* buffer, intptr_t length) { |
return true; |
} |
-static void exceptionCallback(bool* exception, Dart_Handle error) { |
+static void exceptionCallback(bool* exception, |
+ int64_t* closed_handles, |
+ Dart_Handle error, |
+ int64_t count) { |
*exception = true; |
+ *closed_handles = count; |
} |
// Enumerates files inside |path| and collects all data needed to run |
@@ -120,6 +124,7 @@ static void RunTest(const std::string& test) { |
char* error = NULL; |
bool unhandled_exception = false; |
+ int64_t closed_handles = 0; |
DartControllerConfig config; |
// Run with strict compilation even in Release mode so that ASAN testing gets |
// coverage of Dart asserts, type-checking, etc. |
@@ -127,7 +132,7 @@ static void RunTest(const std::string& test) { |
config.script_uri = path.value(); |
config.package_root = package_root.AsUTF8Unsafe(); |
config.callbacks.exception = |
- base::Bind(&exceptionCallback, &unhandled_exception); |
+ base::Bind(&exceptionCallback, &unhandled_exception, &closed_handles); |
config.entropy = generateEntropy; |
config.SetVmFlags(nullptr, 0); |
config.error = &error; |
@@ -136,6 +141,7 @@ static void RunTest(const std::string& test) { |
bool success = DartController::RunSingleDartScript(config); |
EXPECT_TRUE(success) << error; |
EXPECT_FALSE(unhandled_exception); |
+ EXPECT_EQ(closed_handles, 0); |
} |
TEST(DartTest, validation) { |