Commit 18a2ed23 authored by xunjieli's avatar xunjieli Committed by Commit bot

Fix a crash when opening CronetTest app

If we install and open CronetTest app without CronetTestInstrumentation app,
CronetTest app will crash and complain that it cannot find
MockUrlRequestJobTest class. The reason is that this class is in
test/javatests/src/ and not in test/src/, so it does not get loaded to device
if we choose to only install and open CronetTest app.

BUG=415781

Review URL: https://codereview.chromium.org/612433002

Cr-Commit-Position: refs/heads/master@{#297261}
parent 975b48d9
......@@ -400,7 +400,7 @@
'type': 'none',
'sources': [
'cronet/android/test/src/org/chromium/cronet_test_apk/CronetTestUtil.java',
'cronet/android/test/javatests/src/org/chromium/cronet_test_apk/MockUrlRequestJobTest.java',
'cronet/android/test/src/org/chromium/cronet_test_apk/MockUrlRequestJobUtil.java',
],
'variables': {
'jni_gen_package': 'cronet_tests',
......@@ -412,8 +412,8 @@
'type': 'shared_library',
'sources': [
'cronet/android/test/cronet_test_jni.cc',
'cronet/android/test/mock_url_request_job_test.cc',
'cronet/android/test/mock_url_request_job_test.h',
'cronet/android/test/mock_url_request_job_util.cc',
'cronet/android/test/mock_url_request_job_util.h',
'../net/base/directory_lister.cc',
'../net/base/directory_lister.h',
'../net/url_request/url_request_file_job.cc',
......
......@@ -8,12 +8,12 @@
#include "base/android/jni_android.h"
#include "base/android/jni_registrar.h"
#include "components/cronet/android/cronet_loader.h"
#include "mock_url_request_job_test.h"
#include "mock_url_request_job_util.h"
namespace {
const base::android::RegistrationMethod kCronetTestsRegisteredMethods[] = {
{"MockURLRequestJobTest", cronet::RegisterMockUrlRequestJobTest},
{"MockURLRequestJobUtil", cronet::RegisterMockUrlRequestJobUtil},
};
} // namespace
......
......@@ -8,7 +8,6 @@ import android.os.ConditionVariable;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.Log;
import org.chromium.base.JNINamespace;
import org.chromium.base.test.util.Feature;
import org.chromium.net.HttpUrlRequest;
import org.chromium.net.HttpUrlRequestListener;
......@@ -16,7 +15,6 @@ import org.chromium.net.HttpUrlRequestListener;
import java.util.HashMap;
// Tests that use mock URLRequestJobs to simulate URL requests.
@JNINamespace("cronet")
public class MockUrlRequestJobTest extends CronetTestBase {
private static final String TAG = "MockURLRequestJobTest";
private static final String MOCK_CRONET_TEST_SUCCESS_URL =
......@@ -65,7 +63,7 @@ public class MockUrlRequestJobTest extends CronetTestBase {
CronetTestActivity activity = launchCronetTestApp();
assertNotNull(activity);
// AddUrlInterceptors() after native application context is initialized.
nativeAddUrlInterceptors();
MockUrlRequestJobUtil.addUrlInterceptors();
HashMap<String, String> headers = new HashMap<String, String>();
MockHttpUrlRequestListener listener = new MockHttpUrlRequestListener();
......@@ -126,6 +124,4 @@ public class MockUrlRequestJobTest extends CronetTestBase {
assertEquals(MOCK_CRONET_TEST_FAILED_URL, listener.mUrl);
assertEquals(0, listener.mHttpStatusCode);
}
private native void nativeAddUrlInterceptors();
}
......@@ -2,19 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "mock_url_request_job_test.h"
#include "mock_url_request_job_util.h"
#include "base/android/jni_android.h"
#include "base/files/file_path.h"
#include "base/path_service.h"
#include "base/threading/sequenced_worker_pool.h"
#include "jni/MockUrlRequestJobTest_jni.h"
#include "jni/MockUrlRequestJobUtil_jni.h"
#include "net/test/url_request/url_request_failed_job.h"
#include "net/test/url_request/url_request_mock_http_job.h"
namespace cronet {
static void AddUrlInterceptors(JNIEnv* env, jobject jcaller) {
void AddUrlInterceptors(JNIEnv* env, jclass jcaller) {
base::FilePath test_files_root;
PathService::Get(base::DIR_ANDROID_APP_DATA, &test_files_root);
net::URLRequestMockHTTPJob::AddUrlHandler(
......@@ -22,7 +22,7 @@ static void AddUrlInterceptors(JNIEnv* env, jobject jcaller) {
net::URLRequestFailedJob::AddUrlHandler();
}
bool RegisterMockUrlRequestJobTest(JNIEnv* env) {
bool RegisterMockUrlRequestJobUtil(JNIEnv* env) {
return RegisterNativesImpl(env);
}
......
......@@ -2,15 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CRONET_MOCK_URL_REQUEST_JOB_TEST_H_
#define CRONET_MOCK_URL_REQUEST_JOB_TEST_H_
#ifndef CRONET_MOCK_URL_REQUEST_JOB_UTIL_H_
#define CRONET_MOCK_URL_REQUEST_JOB_UTIL_H_
#include <jni.h>
namespace cronet {
bool RegisterMockUrlRequestJobTest(JNIEnv* env);
bool RegisterMockUrlRequestJobUtil(JNIEnv* env);
} // namespace cronet
#endif // CRONET_MOCK_URL_REQUEST_JOB_TEST_H_
#endif // CRONET_MOCK_URL_REQUEST_JOB_UTIL_H_
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.cronet_test_apk;
import org.chromium.base.JNINamespace;
@JNINamespace("cronet")
public final class MockUrlRequestJobUtil {
/**
* Adds url interceptors for mock urls that are used in testing.
*/
public static void addUrlInterceptors() {
nativeAddUrlInterceptors();
}
private static native void nativeAddUrlInterceptors();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment