diff --git a/liblinphone_tester/AndroidManifest.xml b/liblinphone_tester/AndroidManifest.xml
index 22cda42aa..298566cbe 100644
--- a/liblinphone_tester/AndroidManifest.xml
+++ b/liblinphone_tester/AndroidManifest.xml
@@ -7,6 +7,10 @@
+
+
@@ -42,6 +46,8 @@
android:screenOrientation="nosensor"
android:launchMode="singleTask">
+
+
+
-
\ No newline at end of file
diff --git a/liblinphone_tester/src/org/linphone/tester/TestRunner.java b/liblinphone_tester/src/org/linphone/tester/TestRunner.java
new file mode 100644
index 000000000..ab928c6b1
--- /dev/null
+++ b/liblinphone_tester/src/org/linphone/tester/TestRunner.java
@@ -0,0 +1,47 @@
+package org.linphone.tester;
+
+import junit.framework.TestSuite;
+import android.os.Bundle;
+import android.test.InstrumentationTestRunner;
+
+
+public class TestRunner extends InstrumentationTestRunner {
+ String mSuite = null;
+ String mTest = null;
+
+ @Override
+ public void onCreate(Bundle arguments) {
+ mSuite = arguments.getString("suite");
+ mTest = arguments.getString("test");
+ super.onCreate(arguments);
+ }
+
+ @Override
+ public TestSuite getAllTests () {
+ TestSuite suite = new TestSuite("Tests");
+ addSuites(suite, mSuite, mTest);
+ return suite;
+ }
+
+
+ public static void addSuites(TestSuite suite, String suiteCheck, String testCheck) {
+ TesterList testerList = new TesterList();
+ testerList.run(new String[]{"tester", "--list-suites"});
+ for(String str: testerList.getList()) {
+ str = str.trim();
+ if(suiteCheck == null || suiteCheck.equals(str)) {
+ addSuite(suite, str, testCheck);
+ }
+ }
+ }
+ public static void addSuite(TestSuite suite, String suiteStr, String testCheck) {
+ TesterList testerList = new TesterList();
+ testerList.run(new String[]{"tester", "--list-tests", suiteStr});
+ for(String str: testerList.getList()) {
+ str = str.trim();
+ if(testCheck == null || testCheck.equals(str)) {
+ suite.addTest(new TestUnit(suiteStr, str));
+ }
+ }
+ }
+}
diff --git a/liblinphone_tester/src/org/linphone/tester/TestUnit.java b/liblinphone_tester/src/org/linphone/tester/TestUnit.java
new file mode 100644
index 000000000..46e959c89
--- /dev/null
+++ b/liblinphone_tester/src/org/linphone/tester/TestUnit.java
@@ -0,0 +1,38 @@
+package org.linphone.tester;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import junit.framework.Assert;
+import android.test.AndroidTestCase;
+
+public class TestUnit extends AndroidTestCase {
+ private String mSuite;
+ private String mTest;
+
+ public TestUnit(String suite, String test) {
+ mSuite = suite;
+ mTest = test;
+ setName(suite + "/" + test);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ @Override
+ protected void runTest() {
+ String path = getContext().getFilesDir().getAbsolutePath();
+ Tester tester = new Tester();
+ List list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--config", path, "--suite", mSuite, "--test", mTest}));
+ String[] array = list.toArray(new String[list.size()]);
+ Assert.assertTrue(tester.run(array) == 0);
+ }
+}
\ No newline at end of file
diff --git a/submodules/belle-sip b/submodules/belle-sip
index 079445bf2..eb411e1eb 160000
--- a/submodules/belle-sip
+++ b/submodules/belle-sip
@@ -1 +1 @@
-Subproject commit 079445bf2072a6e3336dc3f00900753b0738052c
+Subproject commit eb411e1eb623ea8e599450c4d2b30a8b39e65759
diff --git a/submodules/linphone b/submodules/linphone
index a96112586..10a18463d 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit a9611258608812e9d3a61ec4a9a516b3749c181f
+Subproject commit 10a18463d51c68e436267fe6154f1216b0351918