OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "sql/mojo/sql_test_base.h" | 5 #include "sql/mojo/sql_test_base.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <utility> |
9 | 10 |
10 #include "mojo/application/public/cpp/application_impl.h" | 11 #include "mojo/application/public/cpp/application_impl.h" |
11 #include "mojo/util/capture_util.h" | 12 #include "mojo/util/capture_util.h" |
12 #include "sql/mojo/mojo_vfs.h" | 13 #include "sql/mojo/mojo_vfs.h" |
13 #include "sql/test/test_helpers.h" | 14 #include "sql/test/test_helpers.h" |
14 | 15 |
15 using mojo::Capture; | 16 using mojo::Capture; |
16 | 17 |
17 namespace sql { | 18 namespace sql { |
18 | 19 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 filesystem::FileInformationPtr info; | 73 filesystem::FileInformationPtr info; |
73 file_ptr->Stat(Capture(&error, &info)); | 74 file_ptr->Stat(Capture(&error, &info)); |
74 file_ptr.WaitForIncomingResponse(); | 75 file_ptr.WaitForIncomingResponse(); |
75 if (error != filesystem::FILE_ERROR_OK) | 76 if (error != filesystem::FILE_ERROR_OK) |
76 return false; | 77 return false; |
77 int64_t db_size = info->size; | 78 int64_t db_size = info->size; |
78 | 79 |
79 test::CorruptSizeInHeaderMemory(&header.front(), db_size); | 80 test::CorruptSizeInHeaderMemory(&header.front(), db_size); |
80 | 81 |
81 uint32_t num_bytes_written = 0; | 82 uint32_t num_bytes_written = 0; |
82 file_ptr->Write(header.Pass(), 0, filesystem::WHENCE_FROM_BEGIN, | 83 file_ptr->Write(std::move(header), 0, filesystem::WHENCE_FROM_BEGIN, |
83 Capture(&error, &num_bytes_written)); | 84 Capture(&error, &num_bytes_written)); |
84 file_ptr.WaitForIncomingResponse(); | 85 file_ptr.WaitForIncomingResponse(); |
85 if (error != filesystem::FILE_ERROR_OK) | 86 if (error != filesystem::FILE_ERROR_OK) |
86 return false; | 87 return false; |
87 if (num_bytes_written != kHeaderSize) | 88 if (num_bytes_written != kHeaderSize) |
88 return false; | 89 return false; |
89 | 90 |
90 return true; | 91 return true; |
91 } | 92 } |
92 | 93 |
(...skipping 12 matching lines...) Expand all Loading... |
105 Capture(&error)); | 106 Capture(&error)); |
106 vfs_->GetDirectory().WaitForIncomingResponse(); | 107 vfs_->GetDirectory().WaitForIncomingResponse(); |
107 if (error != filesystem::FILE_ERROR_OK) | 108 if (error != filesystem::FILE_ERROR_OK) |
108 return; | 109 return; |
109 | 110 |
110 const char* kJunk = "Now is the winter of our discontent."; | 111 const char* kJunk = "Now is the winter of our discontent."; |
111 mojo::Array<uint8_t> data(strlen(kJunk)); | 112 mojo::Array<uint8_t> data(strlen(kJunk)); |
112 memcpy(&data.front(), kJunk, strlen(kJunk)); | 113 memcpy(&data.front(), kJunk, strlen(kJunk)); |
113 | 114 |
114 uint32_t num_bytes_written = 0; | 115 uint32_t num_bytes_written = 0; |
115 file_ptr->Write(data.Pass(), 0, filesystem::WHENCE_FROM_BEGIN, | 116 file_ptr->Write(std::move(data), 0, filesystem::WHENCE_FROM_BEGIN, |
116 Capture(&error, &num_bytes_written)); | 117 Capture(&error, &num_bytes_written)); |
117 file_ptr.WaitForIncomingResponse(); | 118 file_ptr.WaitForIncomingResponse(); |
118 } | 119 } |
119 | 120 |
120 void SQLTestBase::TruncateDatabase() { | 121 void SQLTestBase::TruncateDatabase() { |
121 filesystem::FileError error = filesystem::FILE_ERROR_FAILED; | 122 filesystem::FileError error = filesystem::FILE_ERROR_FAILED; |
122 filesystem::FilePtr file_ptr; | 123 filesystem::FilePtr file_ptr; |
123 vfs_->GetDirectory()->OpenFile( | 124 vfs_->GetDirectory()->OpenFile( |
124 mojo::String(db_path().AsUTF8Unsafe()), GetProxy(&file_ptr), | 125 mojo::String(db_path().AsUTF8Unsafe()), GetProxy(&file_ptr), |
125 filesystem::kFlagWrite | filesystem::kFlagOpen, | 126 filesystem::kFlagWrite | filesystem::kFlagOpen, |
(...skipping 10 matching lines...) Expand all Loading... |
136 void SQLTestBase::SetUp() { | 137 void SQLTestBase::SetUp() { |
137 ApplicationTestBase::SetUp(); | 138 ApplicationTestBase::SetUp(); |
138 | 139 |
139 application_impl()->ConnectToService("mojo:filesystem", &files_); | 140 application_impl()->ConnectToService("mojo:filesystem", &files_); |
140 | 141 |
141 filesystem::FileSystemClientPtr client; | 142 filesystem::FileSystemClientPtr client; |
142 binding_.Bind(GetProxy(&client)); | 143 binding_.Bind(GetProxy(&client)); |
143 | 144 |
144 filesystem::FileError error = filesystem::FILE_ERROR_FAILED; | 145 filesystem::FileError error = filesystem::FILE_ERROR_FAILED; |
145 filesystem::DirectoryPtr directory; | 146 filesystem::DirectoryPtr directory; |
146 files()->OpenFileSystem("temp", GetProxy(&directory), client.Pass(), | 147 files()->OpenFileSystem("temp", GetProxy(&directory), std::move(client), |
147 Capture(&error)); | 148 Capture(&error)); |
148 ASSERT_TRUE(files().WaitForIncomingResponse()); | 149 ASSERT_TRUE(files().WaitForIncomingResponse()); |
149 ASSERT_EQ(filesystem::FILE_ERROR_OK, error); | 150 ASSERT_EQ(filesystem::FILE_ERROR_OK, error); |
150 | 151 |
151 vfs_.reset(new ScopedMojoFilesystemVFS(directory.Pass())); | 152 vfs_.reset(new ScopedMojoFilesystemVFS(std::move(directory))); |
152 ASSERT_TRUE(db_.Open(db_path())); | 153 ASSERT_TRUE(db_.Open(db_path())); |
153 } | 154 } |
154 | 155 |
155 void SQLTestBase::TearDown() { | 156 void SQLTestBase::TearDown() { |
156 db_.Close(); | 157 db_.Close(); |
157 vfs_.reset(); | 158 vfs_.reset(); |
158 | 159 |
159 ApplicationTestBase::TearDown(); | 160 ApplicationTestBase::TearDown(); |
160 } | 161 } |
161 | 162 |
162 void SQLTestBase::OnFileSystemShutdown() { | 163 void SQLTestBase::OnFileSystemShutdown() { |
163 } | 164 } |
164 | 165 |
165 } // namespace sql | 166 } // namespace sql |
OLD | NEW |