summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/valgrind/memcheck/suppressions.txt25
-rw-r--r--webkit/blob/local_file_reader_unittest.cc17
2 files changed, 10 insertions, 32 deletions
diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt
index dacc78b..4bafb97 100644
--- a/tools/valgrind/memcheck/suppressions.txt
+++ b/tools/valgrind/memcheck/suppressions.txt
@@ -5669,31 +5669,6 @@
fun:_ZN7WebCore21GraphicsLayerChromium16removeFromParentEv
}
{
- bug_123302a
- Memcheck:Leak
- fun:_Znw*
- fun:_ZN4base8internal20PostTaskAndReplyImpl16PostTaskAndReplyERKN15tracked_objects8LocationERKNS_8CallbackIFvvEEESA_
- fun:_ZN4base10WorkerPool16PostTaskAndReplyERKN15tracked_objects8LocationERKNS_8CallbackIFvvEEES9_b
- fun:_ZN3net15FileStreamPosix5CloseERKN4base8CallbackIFviEEE
- fun:_ZN3net10FileStream5CloseERKN4base8CallbackIFviEEE
- fun:_ZN11webkit_blob15LocalFileReaderD1Ev
- fun:_ZN10scoped_ptrIN11webkit_blob15LocalFileReaderEE5resetEPS1_
- fun:_ZN7fileapi23FileSystemURLRequestJob4KillEv
- fun:_ZN7fileapi27FileSystemURLRequestJobTest8TearDownEv
-}
-{
- bug_123302b
- Memcheck:Leak
- fun:_Znw*
- fun:_ZN4base8internal20PostTaskAndReplyImpl16PostTaskAndReplyERKN15tracked_objects8LocationERKNS_8CallbackIFvvEEESA_
- fun:_ZN4base10TaskRunner16PostTaskAndReplyERKN15tracked_objects8LocationERKNS_8CallbackIFvvEEES9_
- fun:_ZN4base13FileUtilProxy11GetFileInfoEPNS_10TaskRunnerERK8FilePathRKNS_8CallbackIFvNS_17PlatformFileErrorERKNS_16PlatformFileInfoEEEE
- fun:_ZN11webkit_blob15LocalFileReader9GetLengthERKN4base8CallbackIFvlEEE
- fun:_ZN11webkit_blob15LocalFileReader4OpenERKN4base8CallbackIFviEEE
- fun:_ZN11webkit_blob15LocalFileReader4ReadEPN3net8IOBufferEiRKN4base8CallbackIFviEEE
- fun:_ZN11webkit_blob49LocalFileReaderTest_DeleteWithUnfinishedRead_Test8TestBodyEv
-}
-{
bug_123307
Memcheck:Leak
fun:malloc
diff --git a/webkit/blob/local_file_reader_unittest.cc b/webkit/blob/local_file_reader_unittest.cc
index 6ddf0eb..595481e 100644
--- a/webkit/blob/local_file_reader_unittest.cc
+++ b/webkit/blob/local_file_reader_unittest.cc
@@ -48,9 +48,8 @@ void ReadFromReader(LocalFileReader* reader,
}
}
-void NeverCalled(int) {
- ADD_FAILURE();
-}
+void NeverCalled(int) { ADD_FAILURE(); }
+void EmptyCallback() {}
void QuitLoop() {
MessageLoop::current()->Quit();
@@ -76,8 +75,7 @@ class LocalFileReaderTest : public testing::Test {
virtual void TearDown() OVERRIDE {
// Give another chance for deleted streams to perform Close.
- MessageLoop::current()->PostTask(FROM_HERE, base::Bind(&QuitLoop));
- MessageLoop::current()->Run();
+ MessageLoop::current()->RunAllPending();
file_thread_.Stop();
}
@@ -107,11 +105,16 @@ class LocalFileReaderTest : public testing::Test {
FilePath test_dir() const { return dir_.path(); }
FilePath test_path() const { return dir_.path().AppendASCII("test"); }
-
base::Time test_file_modification_time() const {
return test_file_modification_time_;
}
+ void EnsureFileTaskFinished() {
+ file_task_runner()->PostTaskAndReply(
+ FROM_HERE, base::Bind(&EmptyCallback), base::Bind(&QuitLoop));
+ MessageLoop::current()->Run();
+ }
+
private:
MessageLoop message_loop_;
base::Thread file_thread_;
@@ -252,7 +255,7 @@ TEST_F(LocalFileReaderTest, DeleteWithUnfinishedRead) {
// Delete immediately.
// Should not crash; nor should NeverCalled be callback.
reader.reset();
- MessageLoop::current()->RunAllPending();
+ EnsureFileTaskFinished();
}
} // namespace webkit_blob