| /* |
| * Copyright 2017 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| package org.webrtc.native_test; |
| |
| import android.app.Activity; |
| import android.util.Log; |
| import org.chromium.build.NativeLibraries; |
| import org.webrtc.native_test.NativeTestWebrtc; |
| import org.webrtc.ContextUtils; |
| |
| /** |
| * Native unit test that calls ContextUtils.initialize for WebRTC. |
| */ |
| public class RTCNativeUnitTest extends NativeTestWebrtc { |
| |
| private static final String TAG = "RTCNativeUnitTest"; |
| |
| private static final String LIBRARY_UNDER_TEST_NAME = |
| "org.chromium.native_test.NativeTestInstrumentationTestRunner.LibraryUnderTest"; |
| |
| @Override |
| public void preCreate(Activity activity) { |
| super.preCreate(activity); |
| |
| // For NativeActivity based tests, dependency libraries must be loaded before |
| // NativeActivity::OnCreate, otherwise loading android.app.lib_name will fail |
| String libraryToLoad = activity.getIntent().getStringExtra(LIBRARY_UNDER_TEST_NAME); |
| loadLibraries( |
| libraryToLoad != null ? new String[] {libraryToLoad} : NativeLibraries.LIBRARIES); |
| |
| ContextUtils.initialize(activity.getApplicationContext()); |
| } |
| |
| private void loadLibraries(String[] librariesToLoad) { |
| for (String library : librariesToLoad) { |
| Log.i(TAG, "loading: " + library); |
| System.loadLibrary(library); |
| Log.i(TAG, "loaded: " + library); |
| } |
| } |
| } |