Chromium Code Reviews| Index: base/test/test_support_android.cc |
| diff --git a/base/test/test_support_android.cc b/base/test/test_support_android.cc |
| index f8441bd1ba5f9d75fe8e52258c6d339f24763514..e2678c054eec1439bd5eaaf834514f3d053f29f3 100644 |
| --- a/base/test/test_support_android.cc |
| +++ b/base/test/test_support_android.cc |
| @@ -18,6 +18,8 @@ |
| namespace { |
| +base::FilePath* g_test_data_dir = nullptr; |
| + |
| struct RunState { |
| RunState(base::MessagePump::Delegate* delegate, int run_depth) |
| : delegate(delegate), |
| @@ -132,13 +134,16 @@ std::unique_ptr<base::MessagePump> CreateMessagePumpForUIStub() { |
| return std::unique_ptr<base::MessagePump>(new MessagePumpForUIStub()); |
| }; |
| -// Provides the test path for DIR_MODULE and DIR_ANDROID_APP_DATA. |
| +// Provides the test path for DIR_SOURCE_ROOT and DIR_ANDROID_APP_DATA. |
| bool GetTestProviderPath(int key, base::FilePath* result) { |
| switch (key) { |
| - case base::DIR_ANDROID_APP_DATA: { |
| - // For tests, app data is put in external storage. |
| - return base::android::GetExternalStorageDirectory(result); |
| - } |
| + // TODO(agrieve): Stop overriding DIR_ANDROID_APP_DATA. |
| + // https://crbug.com/617734 |
| + case base::DIR_ANDROID_APP_DATA: |
|
jbudorick
2016/06/07 14:31:01
Hm, the salient bit of code here is https://codese
agrieve
2016/06/07 14:46:24
Responded to this comment here:
https://bugs.chrom
jbudorick
2016/06/07 15:05:48
Replied there too. Not sure either will work.
|
| + case base::DIR_SOURCE_ROOT: |
| + CHECK(g_test_data_dir != nullptr); |
| + *result = *g_test_data_dir; |
| + return true; |
| default: |
| return false; |
| } |
| @@ -166,8 +171,13 @@ void InitAndroidTestLogging() { |
| false); // Tick count |
| } |
| -void InitAndroidTestPaths() { |
| - InitPathProvider(DIR_MODULE); |
| +void InitAndroidTestPaths(const FilePath& test_data_dir) { |
| + if (g_test_data_dir) { |
| + CHECK(test_data_dir == *g_test_data_dir); |
| + return; |
| + } |
| + g_test_data_dir = new FilePath(test_data_dir); |
| + InitPathProvider(DIR_SOURCE_ROOT); |
| InitPathProvider(DIR_ANDROID_APP_DATA); |
| } |
| @@ -179,7 +189,6 @@ void InitAndroidTestMessageLoop() { |
| void InitAndroidTest() { |
| if (!base::AndroidIsChildProcess()) { |
| InitAndroidTestLogging(); |
| - InitAndroidTestPaths(); |
| } |
| InitAndroidTestMessageLoop(); |
| } |