summaryrefslogtreecommitdiffstats
path: root/net/disk_cache
diff options
context:
space:
mode:
authorrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-19 00:41:43 +0000
committerrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-19 00:41:43 +0000
commitbd8fc9260470255a3e2d5b9844bf9131abc3e61b (patch)
tree470ac4e8cd3b35cde982f4d7de5959018faf86bf /net/disk_cache
parentbc52042b608630aab63e9254ad06c2e0e20372d1 (diff)
downloadchromium_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.cc7
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)