diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-19 00:41:43 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-19 00:41:43 +0000 |
commit | bd8fc9260470255a3e2d5b9844bf9131abc3e61b (patch) | |
tree | 470ac4e8cd3b35cde982f4d7de5959018faf86bf /net/disk_cache | |
parent | bc52042b608630aab63e9254ad06c2e0e20372d1 (diff) | |
download | chromium_src-bd8fc9260470255a3e2d5b9844bf9131abc3e61b.zip chromium_src-bd8fc9260470255a3e2d5b9844bf9131abc3e61b.tar.gz chromium_src-bd8fc9260470255a3e2d5b9844bf9131abc3e61b.tar.bz2 |
Disk cache: Fix a race on DiskCacheEntryTest::ExternalAsyncIO
The test was issuing Read + Write in parallel, using the same buffer.
BUG=214727
TEST=net_unittests (green tsan bot)
TBR=gavinp@chromium.org
Review URL: https://codereview.chromium.org/12802006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188891 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache')
-rw-r--r-- | net/disk_cache/entry_unittest.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/disk_cache/entry_unittest.cc b/net/disk_cache/entry_unittest.cc index 4b7e2bc..85afafe 100644 --- a/net/disk_cache/entry_unittest.cc +++ b/net/disk_cache/entry_unittest.cc @@ -426,7 +426,7 @@ void DiskCacheEntryTest::ExternalAsyncIO() { expected++; EXPECT_TRUE(helper.WaitUntilCacheIoFinished(expected)); - EXPECT_STREQ("the data", buffer1->data()); + EXPECT_STREQ("the data", buffer2->data()); base::strlcpy(buffer2->data(), "The really big data goes here", kSize2); ret = entry->WriteData( @@ -456,7 +456,8 @@ void DiskCacheEntryTest::ExternalAsyncIO() { expected++; EXPECT_TRUE(helper.WaitUntilCacheIoFinished(expected)); - EXPECT_EQ(0, memcmp(buffer2->data(), buffer2->data(), 10000)); + memset(buffer3->data(), 0, kSize3); + EXPECT_EQ(0, memcmp(buffer2->data(), buffer3->data(), 10000)); ret = entry->ReadData( 1, 30000, buffer2, kSize2, base::Bind(&CallbackTest::Run, base::Unretained(&callback6))); @@ -474,7 +475,7 @@ void DiskCacheEntryTest::ExternalAsyncIO() { if (net::ERR_IO_PENDING == ret) expected++; ret = entry->WriteData( - 1, 20000, buffer1, kSize1, + 1, 20000, buffer3, kSize1, base::Bind(&CallbackTest::Run, base::Unretained(&callback9)), false); EXPECT_TRUE(17000 == ret || net::ERR_IO_PENDING == ret); if (net::ERR_IO_PENDING == ret) |