Revert "This adds an Android apk for running tests on the Java layer of PeerConnection."
This reverts r7732 Reason: Breaks compilation on Linux: [813/818] LINK libjingle_media_unittest FAILED: cd ../../talk; build/build_jar.sh /usr/lib/jvm/java-7-openjdk-amd64 ../out/Debug/libjingle_peerconnection_test.jar ../out/Debug/obj/talk/libjingle_peerconnection_test_jar.gen app/webrtc/javatests/src:../out/Debug/libjingle_peerconnection.jar:../third_party/junit/junit-4.11.jar app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java build/build_jar.sh: Entering directory `/mnt/data/b/build/slave/linux64/build/src/talk' app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java:46:warning: [deprecation] Assert in junit.framework has been deprecated import static junit.framework.Assert.*; ^ app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java:36:error: cannot find symbol @Test ^ symbol: class Test location: class PeerConnectionTestJava app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java:43:error: cannot find symbol @Test ^ symbol: class Test location: class PeerConnectionTestJava 2 errors 1 warning ninja: build stopped: subcommand failed. TBR=perkj@webrtc.org BUG= Review URL: https://webrtc-codereview.appspot.com/32169004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7733 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
2751f2ab4c
commit
308e7ff613
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.webrtc.test"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
|
||||
|
||||
<uses-sdk android:minSdkVersion="13" android:targetSdkVersion="21" />
|
||||
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
|
||||
<instrumentation
|
||||
android:name="android.test.InstrumentationTestRunner"
|
||||
android:targetPackage="org.webrtc.test" />
|
||||
|
||||
<application
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name" >
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -1,18 +0,0 @@
|
||||
# This file is used to override default values used by the Ant build system.
|
||||
#
|
||||
# This file must be checked into Version Control Systems, as it is
|
||||
# integral to the build system of your project.
|
||||
|
||||
# This file is only used by the Ant script.
|
||||
|
||||
# You can use this to override default values such as
|
||||
# 'source.dir' for the location of your java source folder and
|
||||
# 'out.dir' for the location of your output folder.
|
||||
|
||||
# You can also use it define how the release builds are signed by declaring
|
||||
# the following properties:
|
||||
# 'key.store' for the location of your keystore and
|
||||
# 'key.alias' for the name of the key to use.
|
||||
# The password will be asked during the build when you use the 'release' target.
|
||||
|
||||
source.dir=../java/testcommon/src;src
|
@ -1,92 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="libjingle_peerconnection_android_unittest" default="help">
|
||||
|
||||
<!-- The local.properties file is created and updated by the 'android' tool.
|
||||
It contains the path to the SDK. It should *NOT* be checked into
|
||||
Version Control Systems. -->
|
||||
<property file="local.properties" />
|
||||
|
||||
<!-- The ant.properties file can be created by you. It is only edited by the
|
||||
'android' tool to add properties to it.
|
||||
This is the place to change some Ant specific build properties.
|
||||
Here are some properties you may want to change/update:
|
||||
|
||||
source.dir
|
||||
The name of the source directory. Default is 'src'.
|
||||
out.dir
|
||||
The name of the output directory. Default is 'bin'.
|
||||
|
||||
For other overridable properties, look at the beginning of the rules
|
||||
files in the SDK, at tools/ant/build.xml
|
||||
|
||||
Properties related to the SDK location or the project target should
|
||||
be updated using the 'android' tool with the 'update' action.
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems.
|
||||
|
||||
-->
|
||||
<property file="ant.properties" />
|
||||
|
||||
<!-- if sdk.dir was not set from one of the property file, then
|
||||
get it from the ANDROID_HOME env var.
|
||||
This must be done before we load project.properties since
|
||||
the proguard config can use sdk.dir -->
|
||||
<property environment="env" />
|
||||
<condition property="sdk.dir" value="${env.ANDROID_SDK_ROOT}">
|
||||
<isset property="env.ANDROID_SDK_ROOT" />
|
||||
</condition>
|
||||
|
||||
<!-- The project.properties file is created and updated by the 'android'
|
||||
tool, as well as ADT.
|
||||
|
||||
This contains project specific properties such as project target, and library
|
||||
dependencies. Lower level build properties are stored in ant.properties
|
||||
(or in .classpath for Eclipse projects).
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems. -->
|
||||
<loadproperties srcFile="project.properties" />
|
||||
|
||||
<!-- quick check on sdk.dir -->
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
<!--
|
||||
Import per project custom build rules if present at the root of the project.
|
||||
This is the place to put custom intermediary targets such as:
|
||||
-pre-build
|
||||
-pre-compile
|
||||
-post-compile (This is typically used for code obfuscation.
|
||||
Compiled code location: ${out.classes.absolute.dir}
|
||||
If this is not done in place, override ${out.dex.input.absolute.dir})
|
||||
-post-package
|
||||
-post-build
|
||||
-pre-clean
|
||||
-->
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- Import the actual build file.
|
||||
|
||||
To customize existing targets, there are two options:
|
||||
- Customize only one target:
|
||||
- copy/paste the target into this file, *before* the
|
||||
<import> task.
|
||||
- customize it to your needs.
|
||||
- Customize the whole content of build.xml
|
||||
- copy/paste the content of the rules files (minus the top node)
|
||||
into this file, replacing the <import> task.
|
||||
- customize to your needs.
|
||||
|
||||
***********************
|
||||
****** IMPORTANT ******
|
||||
***********************
|
||||
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||
in order to avoid having your file be overridden by tools such as "android update project"
|
||||
-->
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
|
||||
</project>
|
@ -1,2 +0,0 @@
|
||||
# This space intentionally left blank (required for Android build system).
|
||||
|
@ -1,16 +0,0 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-21
|
||||
|
||||
java.compilerargs=-Xlint:all -Werror
|
Binary file not shown.
Before Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 14 KiB |
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="app_name">AndroidPeerConnectionTests</string>
|
||||
|
||||
</resources>
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* libjingle
|
||||
* Copyright 2014, Google Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.webrtc;
|
||||
|
||||
import android.test.ActivityTestCase;
|
||||
|
||||
public class PeerConnectionAndroidTest extends ActivityTestCase {
|
||||
private PeerConnectionTest test = new PeerConnectionTest();
|
||||
|
||||
@Override
|
||||
protected void setUp() {
|
||||
assertTrue(PeerConnectionFactory.initializeAndroidGlobals(
|
||||
getInstrumentation().getContext(), true,
|
||||
true, null));
|
||||
}
|
||||
|
||||
public void testCompleteSession() throws Exception {
|
||||
// TODO(perkj): Investigate if |test.initializeThreadCheck()| can be used
|
||||
// on android as well. Currently this check fail.
|
||||
test.doTest();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -44,4 +44,4 @@ export LD_LIBRARY_PATH=`pwd`
|
||||
export JAVA_HOME=GYP_JAVA_HOME
|
||||
|
||||
${JAVA_HOME}/bin/java -Xcheck:jni -classpath $CLASSPATH \
|
||||
junit.textui.TestRunner org.webrtc.PeerConnectionTestJava
|
||||
junit.textui.TestRunner org.webrtc.PeerConnectionTest
|
||||
|
@ -27,6 +27,9 @@
|
||||
|
||||
package org.webrtc;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.webrtc.PeerConnection.IceConnectionState;
|
||||
import org.webrtc.PeerConnection.IceGatheringState;
|
||||
import org.webrtc.PeerConnection.SignalingState;
|
||||
@ -36,6 +39,7 @@ import java.lang.ref.WeakReference;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Arrays;
|
||||
import java.util.EnumSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
@ -43,13 +47,10 @@ import java.util.TreeSet;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static junit.framework.Assert.*;
|
||||
|
||||
/** End-to-end tests for PeerConnection.java. */
|
||||
public class PeerConnectionTest {
|
||||
public class PeerConnectionTest extends TestCase {
|
||||
// Set to true to render video.
|
||||
private static final boolean RENDER_TO_GUI = false;
|
||||
private TreeSet<String> threadsBeforeTest = null;
|
||||
|
||||
private static class ObserverExpectations implements PeerConnection.Observer,
|
||||
VideoRenderer.Callbacks,
|
||||
@ -112,6 +113,10 @@ public class PeerConnectionTest {
|
||||
gotIceCandidates.add(candidate);
|
||||
}
|
||||
|
||||
public synchronized void expectError() {
|
||||
++expectedErrors;
|
||||
}
|
||||
|
||||
public synchronized void expectSetSize() {
|
||||
if (RENDER_TO_GUI) {
|
||||
// When new frames are delivered to the GUI renderer we don't get
|
||||
@ -435,7 +440,6 @@ public class PeerConnectionTest {
|
||||
public int height = -1;
|
||||
public int numFramesDelivered = 0;
|
||||
|
||||
@Override
|
||||
public void setSize(int width, int height) {
|
||||
assertEquals(this.width, -1);
|
||||
assertEquals(this.height, -1);
|
||||
@ -443,7 +447,6 @@ public class PeerConnectionTest {
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderFrame(VideoRenderer.I420Frame frame) {
|
||||
++numFramesDelivered;
|
||||
}
|
||||
@ -485,21 +488,40 @@ public class PeerConnectionTest {
|
||||
return new WeakReference<MediaStream>(lMS);
|
||||
}
|
||||
|
||||
// Used for making sure thread handles are not leaked.
|
||||
// Call initializeThreadCheck before a test and finalizeThreadCheck after
|
||||
// a test.
|
||||
void initializeThreadCheck() {
|
||||
private static void assertEquals(
|
||||
SessionDescription lhs, SessionDescription rhs) {
|
||||
assertEquals(lhs.type, rhs.type);
|
||||
assertEquals(lhs.description, rhs.description);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompleteSession() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompleteSessionOnNonMainThread() throws Exception {
|
||||
final Exception[] exceptionHolder = new Exception[1];
|
||||
Thread nonMainThread = new Thread("PeerConnectionTest-nonMainThread") {
|
||||
@Override public void run() {
|
||||
try {
|
||||
doTest();
|
||||
} catch (Exception e) {
|
||||
exceptionHolder[0] = e;
|
||||
}
|
||||
}
|
||||
};
|
||||
nonMainThread.start();
|
||||
nonMainThread.join();
|
||||
if (exceptionHolder[0] != null)
|
||||
throw exceptionHolder[0];
|
||||
}
|
||||
|
||||
private void doTest() throws Exception {
|
||||
CountDownLatch testDone = new CountDownLatch(1);
|
||||
System.gc(); // Encourage any GC-related threads to start up.
|
||||
threadsBeforeTest = allThreads();
|
||||
}
|
||||
TreeSet<String> threadsBeforeTest = allThreads();
|
||||
|
||||
void finalizeThreadCheck() throws Exception {
|
||||
TreeSet<String> threadsAfterTest = allThreads();
|
||||
assertEquals(threadsBeforeTest, threadsAfterTest);
|
||||
Thread.sleep(100);
|
||||
}
|
||||
|
||||
void doTest() throws Exception {
|
||||
PeerConnectionFactory factory = new PeerConnectionFactory();
|
||||
// Uncomment to get ALL WebRTC tracing and SENSITIVE libjingle logging.
|
||||
// NOTE: this _must_ happen while |factory| is alive!
|
||||
@ -714,6 +736,10 @@ public class PeerConnectionTest {
|
||||
videoSource.dispose();
|
||||
factory.dispose();
|
||||
System.gc();
|
||||
|
||||
TreeSet<String> threadsAfterTest = allThreads();
|
||||
assertEquals(threadsBeforeTest, threadsAfterTest);
|
||||
Thread.sleep(100);
|
||||
}
|
||||
|
||||
private static void shutdownPC(
|
||||
@ -756,4 +782,16 @@ public class PeerConnectionTest {
|
||||
}
|
||||
return threads;
|
||||
}
|
||||
|
||||
// Return a String form of |strings| joined by |separator|.
|
||||
private static String joinStrings(String separator, TreeSet<String> strings) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String s : strings) {
|
||||
if (builder.length() > 0) {
|
||||
builder.append(separator);
|
||||
}
|
||||
builder.append(s);
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
/*
|
||||
* libjingle
|
||||
* Copyright 2014, Google Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.webrtc;
|
||||
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/** End-to-end tests for PeerConnection.java. */
|
||||
public class PeerConnectionTestJava extends TestCase {
|
||||
private PeerConnectionTest test = new PeerConnectionTest();
|
||||
@Test
|
||||
public void testCompleteSession() throws Exception {
|
||||
test.initializeThreadCheck();
|
||||
test.doTest();
|
||||
test.finalizeThreadCheck();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompleteSessionOnNonMainThread() throws Exception {
|
||||
final Exception[] exceptionHolder = new Exception[1];
|
||||
Thread nonMainThread = new Thread("PeerConnectionTest-nonMainThread") {
|
||||
@Override public void run() {
|
||||
try {
|
||||
test.initializeThreadCheck();
|
||||
test.doTest();
|
||||
test.finalizeThreadCheck();
|
||||
} catch (Exception e) {
|
||||
exceptionHolder[0] = e;
|
||||
}
|
||||
}
|
||||
};
|
||||
nonMainThread.start();
|
||||
nonMainThread.join();
|
||||
if (exceptionHolder[0] != null)
|
||||
throw exceptionHolder[0];
|
||||
}
|
||||
}
|
@ -263,8 +263,7 @@
|
||||
'variables': {
|
||||
'java_src_dir': 'app/webrtc/javatests/src',
|
||||
'java_files': [
|
||||
'app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java',
|
||||
'app/webrtc/javatests/src/org/webrtc/PeerConnectionTestJava.java',
|
||||
'app/webrtc/javatests/src/org/webrtc/PeerConnectionTest.java',
|
||||
],
|
||||
},
|
||||
'action_name': 'create_jar',
|
||||
@ -314,61 +313,6 @@
|
||||
},
|
||||
],
|
||||
}],
|
||||
['OS=="android"', {
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'libjingle_peerconnection_android_unittest',
|
||||
'type': 'none',
|
||||
'dependencies': [
|
||||
'libjingle.gyp:libjingle_peerconnection_jar',
|
||||
],
|
||||
'actions': [
|
||||
{
|
||||
# TODO(perkj): convert from a custom script to a standard gyp
|
||||
# apk build once chromium's apk-building gyp machinery can be used
|
||||
# (http://crbug.com/225101)
|
||||
'action_name': 'build_peerconnection_unittests_apk',
|
||||
'inputs' : [
|
||||
'<(PRODUCT_DIR)/libjingle_peerconnection.jar',
|
||||
'<(PRODUCT_DIR)/libjingle_peerconnection_so.so',
|
||||
'app/webrtc/androidtests/AndroidManifest.xml',
|
||||
'app/webrtc/androidtests/ant.properties',
|
||||
'app/webrtc/androidtests/build.xml',
|
||||
'app/webrtc/androidtests/jni/Android.mk',
|
||||
'app/webrtc/androidtests/project.properties',
|
||||
'app/webrtc/androidtests/res/drawable-hdpi/ic_launcher.png',
|
||||
'app/webrtc/androidtests/res/drawable-ldpi/ic_launcher.png',
|
||||
'app/webrtc/androidtests/res/drawable-mdpi/ic_launcher.png',
|
||||
'app/webrtc/androidtests/res/drawable-xhdpi/ic_launcher.png',
|
||||
'app/webrtc/androidtests/res/values/strings.xml',
|
||||
'app/webrtc/androidtests/src/org/webrtc/PeerConnectionAndroidTest.java',
|
||||
'app/webrtc/java/testcommon/src/org/webrtc/PeerConnectionTest.java',
|
||||
],
|
||||
'outputs': [
|
||||
'<(PRODUCT_DIR)/libjingle_peerconnection_android_unittest.apk',
|
||||
],
|
||||
'variables': {
|
||||
'ant_log': '../../../<(INTERMEDIATE_DIR)/ant.log', # ../.. to compensate for the cd app/webrtc/androidtests below.
|
||||
},
|
||||
'action': [
|
||||
'bash', '-ec',
|
||||
'rm -fr <(_outputs) app/webrtc/androidtests/{bin,libs} && '
|
||||
'mkdir -p <(INTERMEDIATE_DIR) && ' # Must happen _before_ the cd below
|
||||
'mkdir -p app/webrtc/androidtests/libs/<(android_app_abi) && '
|
||||
'cp <(PRODUCT_DIR)/libjingle_peerconnection.jar app/webrtc/androidtests/libs/ &&'
|
||||
'<(android_strip) -o app/webrtc/androidtests/libs/<(android_app_abi)/libjingle_peerconnection_so.so <(PRODUCT_DIR)/libjingle_peerconnection_so.so &&'
|
||||
'cd app/webrtc/androidtests && '
|
||||
'{ ANDROID_SDK_ROOT=<(android_sdk_root) '
|
||||
'ant debug > <(ant_log) 2>&1 || '
|
||||
' { cat <(ant_log) ; exit 1; } } && '
|
||||
'cd - > /dev/null && '
|
||||
'cp app/webrtc/androidtests/bin/libjingle_peerconnection_android_unittest-debug.apk <(_outputs)'
|
||||
],
|
||||
},
|
||||
],
|
||||
}, # target AppRTCDemo
|
||||
], # targets
|
||||
}], # OS=="android"
|
||||
['OS=="ios" or (OS=="mac" and target_arch!="ia32" and mac_sdk>="10.7")', {
|
||||
# The >=10.7 above is required to make ARC link cleanly (e.g. as
|
||||
# opposed to _compile_ cleanly, which the library under test
|
||||
|
Loading…
x
Reference in New Issue
Block a user