Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/file_util.h" | 6 #include "base/file_util.h" |
| 7 #include "base/port.h" | 7 #include "base/port.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" | 10 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" |
| (...skipping 2838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2849 InitCache(); | 2849 InitCache(); |
| 2850 | 2850 |
| 2851 const char* key = "the first key"; | 2851 const char* key = "the first key"; |
| 2852 disk_cache::Entry* entry = NULL; | 2852 disk_cache::Entry* entry = NULL; |
| 2853 | 2853 |
| 2854 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); | 2854 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); |
| 2855 ASSERT_TRUE(entry != NULL); | 2855 ASSERT_TRUE(entry != NULL); |
| 2856 entry->Close(); | 2856 entry->Close(); |
| 2857 entry = NULL; | 2857 entry = NULL; |
| 2858 | 2858 |
| 2859 // To make sure the file creation completed we need to call open again so that | |
|
gavinp
2013/05/01 13:11:22
Good catch on this.
I think it should be moved ou
felipeg
2013/05/02 09:49:27
Done.
gavinp
2013/05/02 12:47:39
Not done, right?
felipeg
2013/05/02 13:55:58
I thought we agreed to leave it as a comment.
gavinp
2013/05/02 14:05:45
Yeah. I am sorry for being unclear; I just want to
| |
| 2860 // we block until it actually created the files. | |
| 2861 ASSERT_EQ(net::OK, OpenEntry(key, &entry)); | |
| 2862 ASSERT_TRUE(entry != NULL); | |
| 2863 entry->Close(); | |
| 2864 entry = NULL; | |
| 2865 | |
| 2859 // Delete one of the files in the entry. | 2866 // Delete one of the files in the entry. |
| 2860 base::FilePath to_delete_file = cache_path_.AppendASCII( | 2867 base::FilePath to_delete_file = cache_path_.AppendASCII( |
| 2861 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, 0)); | 2868 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, 0)); |
| 2862 EXPECT_TRUE(file_util::PathExists(to_delete_file)); | 2869 EXPECT_TRUE(file_util::PathExists(to_delete_file)); |
| 2863 EXPECT_TRUE(disk_cache::DeleteCacheFile(to_delete_file)); | 2870 EXPECT_TRUE(disk_cache::DeleteCacheFile(to_delete_file)); |
| 2864 | 2871 |
| 2865 // Failing to open the entry should delete the rest of these files. | 2872 // Failing to open the entry should delete the rest of these files. |
| 2866 ASSERT_EQ(net::ERR_FAILED, OpenEntry(key, &entry)); | 2873 ASSERT_EQ(net::ERR_FAILED, OpenEntry(key, &entry)); |
| 2867 | |
| 2868 // Confirm the rest of the files are gone. | 2874 // Confirm the rest of the files are gone. |
| 2869 for (int i = 1; i < disk_cache::kSimpleEntryFileCount; ++i) { | 2875 for (int i = 1; i < disk_cache::kSimpleEntryFileCount; ++i) { |
| 2870 base::FilePath | 2876 base::FilePath |
| 2871 should_be_gone_file(cache_path_.AppendASCII( | 2877 should_be_gone_file(cache_path_.AppendASCII( |
| 2872 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, i))); | 2878 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, i))); |
| 2873 EXPECT_FALSE(file_util::PathExists(should_be_gone_file)); | 2879 EXPECT_FALSE(file_util::PathExists(should_be_gone_file)); |
| 2874 } | 2880 } |
| 2875 } | 2881 } |
| 2876 | 2882 |
| 2877 TEST_F(DiskCacheBackendTest, SimpleCacheOpenBadFile) { | 2883 TEST_F(DiskCacheBackendTest, SimpleCacheOpenBadFile) { |
| 2878 SetSimpleCacheMode(); | 2884 SetSimpleCacheMode(); |
| 2879 InitCache(); | 2885 InitCache(); |
| 2880 | 2886 |
| 2881 const char* key = "the first key"; | 2887 const char* key = "the first key"; |
| 2882 disk_cache::Entry* entry = NULL; | 2888 disk_cache::Entry* entry = NULL; |
| 2883 | 2889 |
| 2884 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); | 2890 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); |
| 2885 disk_cache::Entry* null = NULL; | 2891 disk_cache::Entry* null = NULL; |
| 2886 ASSERT_NE(null, entry); | 2892 ASSERT_NE(null, entry); |
| 2887 entry->Close(); | 2893 entry->Close(); |
| 2888 entry = NULL; | 2894 entry = NULL; |
| 2889 | 2895 |
| 2896 // To make sure the file creation completed we need to call open again so that | |
| 2897 // we block until it actually created the files. | |
| 2898 ASSERT_EQ(net::OK, OpenEntry(key, &entry)); | |
| 2899 ASSERT_NE(null, entry); | |
| 2900 entry->Close(); | |
| 2901 entry = NULL; | |
| 2902 | |
| 2890 // Write an invalid header on stream 1. | 2903 // Write an invalid header on stream 1. |
| 2891 base::FilePath entry_file1_path = cache_path_.AppendASCII( | 2904 base::FilePath entry_file1_path = cache_path_.AppendASCII( |
| 2892 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, 1)); | 2905 disk_cache::simple_util::GetFilenameFromKeyAndIndex(key, 1)); |
| 2893 | 2906 |
| 2894 disk_cache::SimpleFileHeader header; | 2907 disk_cache::SimpleFileHeader header; |
| 2895 header.initial_magic_number = GG_UINT64_C(0xbadf00d); | 2908 header.initial_magic_number = GG_UINT64_C(0xbadf00d); |
| 2896 EXPECT_EQ( | 2909 EXPECT_EQ( |
| 2897 implicit_cast<int>(sizeof(header)), | 2910 implicit_cast<int>(sizeof(header)), |
| 2898 file_util::WriteFile(entry_file1_path, reinterpret_cast<char*>(&header), | 2911 file_util::WriteFile(entry_file1_path, reinterpret_cast<char*>(&header), |
| 2899 sizeof(header))); | 2912 sizeof(header))); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2977 NULL); | 2990 NULL); |
| 2978 cache->SetUnitTestMode(); | 2991 cache->SetUnitTestMode(); |
| 2979 net::TestCompletionCallback cb; | 2992 net::TestCompletionCallback cb; |
| 2980 int rv = cache->Init(cb.callback()); | 2993 int rv = cache->Init(cb.callback()); |
| 2981 EXPECT_NE(net::OK, cb.GetResult(rv)); | 2994 EXPECT_NE(net::OK, cb.GetResult(rv)); |
| 2982 delete cache; | 2995 delete cache; |
| 2983 DisableIntegrityCheck(); | 2996 DisableIntegrityCheck(); |
| 2984 } | 2997 } |
| 2985 | 2998 |
| 2986 #endif // !defined(OS_WIN) | 2999 #endif // !defined(OS_WIN) |
| OLD | NEW |