From 269d62c8d112f1a9ccec753f8ecef6450be3f89e Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 2 Dec 2013 17:09:00 +0100 Subject: [PATCH] fix android liblinphone tester --- Makefile | 9 ++++-- liblinphone_tester/AndroidManifest.xml | 1 + .../src/org/linphone/tester/LogsActivity.java | 2 +- .../src/org/linphone/tester/MainActivity.java | 7 +++- .../src/org/linphone/tester/TestUnit.java | 32 +++++++++++++++---- .../src/org/linphone/tester/Tester.java | 2 +- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 8 files changed, 42 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 05ff76077..ec30bed8b 100644 --- a/Makefile +++ b/Makefile @@ -268,11 +268,14 @@ prepare-cunit: $(TOPDIR)/submodules/externals/cunit/CUnit/Headers/*.h $(TOPDIR)/res/raw/rootca.pem: HTTPS_CA_DIR=$(HTTPS_CA_DIR) $(TOPDIR)/submodules/linphone/scripts/mk-ca-bundle.pl $@ -prepare-liblinphone_tester: $(TOPDIR)/submodules/linphone/tester/*_lrc $(TOPDIR)/submodules/linphone/tester/*_rc $(TOPDIR)/submodules/linphone/tester/tester_hosts $(TOPDIR)/submodules/linphone/tester/certificates/* $(TOPDIR)/res/raw/rootca.pem - mkdir -p liblinphone_tester/assets/rc_files +prepare-liblinphone_tester: $(TOPDIR)/submodules/linphone/tester/*_lrc $(TOPDIR)/submodules/linphone/tester/*_rc $(TOPDIR)/submodules/linphone/tester/tester_hosts $(TOPDIR)/res/raw/rootca.pem + rm -rf liblinphone_tester/assets/config_files + mkdir -p liblinphone_tester/assets/config_files for file in $^; do \ - cp -f $$file $(TOPDIR)/liblinphone_tester/assets/rc_files/. \ + cp -rf $$file $(TOPDIR)/liblinphone_tester/assets/config_files/. \ ;done + cp -rf $(TOPDIR)/submodules/linphone/tester/certificates $(TOPDIR)/liblinphone_tester/assets/config_files + #SQLite3 SQLITE_SRC_DIR=$(TOPDIR)/submodules/externals/sqlite3 diff --git a/liblinphone_tester/AndroidManifest.xml b/liblinphone_tester/AndroidManifest.xml index 298566cbe..0bf9ab62a 100644 --- a/liblinphone_tester/AndroidManifest.xml +++ b/liblinphone_tester/AndroidManifest.xml @@ -16,6 +16,7 @@ + list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--config", path})); list.addAll(Arrays.asList(mArgs)); diff --git a/liblinphone_tester/src/org/linphone/tester/MainActivity.java b/liblinphone_tester/src/org/linphone/tester/MainActivity.java index b0502e59e..2d868eaf8 100644 --- a/liblinphone_tester/src/org/linphone/tester/MainActivity.java +++ b/liblinphone_tester/src/org/linphone/tester/MainActivity.java @@ -10,6 +10,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.res.AssetManager; +import android.util.Log; import android.view.Gravity; import android.view.Menu; import android.view.View; @@ -23,7 +24,11 @@ public class MainActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - + try { + TestUnit.copyAssetsFromPackage(getApplicationContext()); + } catch (IOException e) { + Log.e("liblinphone_tester", "Cannot install rc files",e); + } TesterList suitesTest = new TesterList(); suitesTest.run(new String[]{"tester", "--list-suites"}); LinearLayout layout = ((LinearLayout)findViewById(R.id.suites_list)); diff --git a/liblinphone_tester/src/org/linphone/tester/TestUnit.java b/liblinphone_tester/src/org/linphone/tester/TestUnit.java index 0b5b7f10f..444ff10d2 100644 --- a/liblinphone_tester/src/org/linphone/tester/TestUnit.java +++ b/liblinphone_tester/src/org/linphone/tester/TestUnit.java @@ -22,11 +22,29 @@ public class TestUnit extends AndroidTestCase { mTest = test; setName(suite + "/" + test); } - private void copyAssetsFromPackage() throws IOException { - Context ctx= getContext(); - for (String file :ctx.getAssets().list("rc_files")) { - FileOutputStream lOutputStream = ctx.openFileOutput (new File(file).getName(), 0); - InputStream lInputStream = ctx.getAssets().open("rc_files/"+file); + + static public void copyAssetsFromPackage(Context ctx) throws IOException { + copyAssetsFromPackage(ctx,"config_files"); + } + + + public static void copyAssetsFromPackage(Context ctx,String fromPath) throws IOException { + new File(ctx.getFilesDir().getPath()+"/"+fromPath).mkdir(); + + for (String f :ctx.getAssets().list(fromPath)) { + String current_name=fromPath+"/"+f; + InputStream lInputStream; + try { + lInputStream = ctx.getAssets().open(current_name); + } catch (IOException e) { + //probably a dir + new File(ctx.getFilesDir().getPath()+"/"+current_name).mkdir(); + copyAssetsFromPackage(ctx,current_name); + continue; + } + FileOutputStream lOutputStream = new FileOutputStream(new File(ctx.getFilesDir().getPath()+"/"+current_name));//ctx.openFileOutput (fromPath+"/"+f, 0); + + int readByte; byte[] buff = new byte[8048]; while (( readByte = lInputStream.read(buff)) != -1) { @@ -41,7 +59,7 @@ public class TestUnit extends AndroidTestCase { protected void setUp() throws Exception { super.setUp(); if (isAssetCopied ==false) { - copyAssetsFromPackage(); + copyAssetsFromPackage(getContext()); isAssetCopied=true; } } @@ -53,7 +71,7 @@ public class TestUnit extends AndroidTestCase { @Override protected void runTest() { - String path = getContext().getFilesDir().getPath(); + String path = getContext().getFilesDir().getPath()+"/config_files"; 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()]); diff --git a/liblinphone_tester/src/org/linphone/tester/Tester.java b/liblinphone_tester/src/org/linphone/tester/Tester.java index e115ecfd4..83f1a5fb6 100644 --- a/liblinphone_tester/src/org/linphone/tester/Tester.java +++ b/liblinphone_tester/src/org/linphone/tester/Tester.java @@ -26,7 +26,7 @@ public class Tester { LinphoneCoreFactory.instance(); - System.loadLibrary("cunit"); + System.loadLibrary("cunit"); String eabi = "armeabi"; if (Version.isX86()) { eabi = "x86"; diff --git a/submodules/belle-sip b/submodules/belle-sip index 3d37b480e..50da78666 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 3d37b480eb8219d64306a8d16ca1c581a946f18e +Subproject commit 50da78666027cd8a201ffc6a1f8c2964af7d11aa diff --git a/submodules/linphone b/submodules/linphone index 0138897ef..41b76330c 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 0138897ef049fbf124b9a324592877bfe47349b2 +Subproject commit 41b76330c857f0e7b6d9c23bfe18377f49427246