Add JUnit tests in liblinphone_tester

This commit is contained in:
Yann Diorcet 2013-03-12 15:31:09 +01:00
parent a106a5f4e8
commit f0abd412e4
5 changed files with 94 additions and 3 deletions

View file

@ -7,6 +7,10 @@
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<instrumentation
android:targetPackage="org.linphone.tester"
android:name="org.linphone.tester.TestRunner" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
@ -42,6 +46,8 @@
android:screenOrientation="nosensor"
android:launchMode="singleTask">
</activity>
<uses-library android:name="android.test.runner" />
</application>
</manifest>

View file

@ -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));
}
}
}
}

View file

@ -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<String> list = new LinkedList<String>(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);
}
}

@ -1 +1 @@
Subproject commit 079445bf2072a6e3336dc3f00900753b0738052c
Subproject commit eb411e1eb623ea8e599450c4d2b30a8b39e65759

@ -1 +1 @@
Subproject commit a9611258608812e9d3a61ec4a9a516b3749c181f
Subproject commit 10a18463d51c68e436267fe6154f1216b0351918