aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-08-16 15:02:05 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-08-27 12:29:06 +0000
commit7ddbc5997e123c60c45865bae2df380174caf72c (patch)
treeee9ddd6532e0501c5dce5471cb8e0d706ae8085e /tests
parentdd61fdb5017dcd9521ec389b0b40dad9a93bfd21 (diff)
Android: Properly support the aidl tool
We now pull in the AIDL framework file and let the user set search paths for imports. Change-Id: I93460a77b064fa87849b93c0b0e4bd3bbfd7459f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml12
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/aidl.qbs8
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl7
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl5
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java18
-rw-r--r--tests/auto/blackbox/tst_blackboxandroid.cpp10
6 files changed, 59 insertions, 1 deletions
diff --git a/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml
new file mode 100644
index 000000000..e8a950847
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="io.qbs.aidltest">
+ <application android:label="AidlTest">
+ <activity android:name="MainActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/tests/auto/blackbox/testdata-android/aidl/aidl.qbs b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs
new file mode 100644
index 000000000..6e827099f
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs
@@ -0,0 +1,8 @@
+Application {
+ name: "io.qbs.aidltest"
+ Android.sdk.aidlSearchPaths: path
+ files: [
+ "AndroidManifest.xml",
+ "io/qbs/aidltest/*",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl
new file mode 100644
index 000000000..34fb0386c
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl
@@ -0,0 +1,7 @@
+package io.qbs.aidltest;
+
+import io.qbs.aidltest.Interface2;
+
+interface Interface1 {
+ void doSomething(in Interface2 param1, in Bundle param2);
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl
new file mode 100644
index 000000000..815d44f23
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl
@@ -0,0 +1,5 @@
+package io.qbs.aidltest;
+
+interface Interface2 {
+ void someFunc(in Bundle params);
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java
new file mode 100644
index 000000000..e38cfa55b
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java
@@ -0,0 +1,18 @@
+package io.qbs.aidltest;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.TextView;
+
+public class MainActivity extends Activity
+{
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ TextView label = new TextView(this);
+ label.setText("Hello world!");
+
+ setContentView(label);
+ }
+}
diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp
index 705bc6b7e..b4c431902 100644
--- a/tests/auto/blackbox/tst_blackboxandroid.cpp
+++ b/tests/auto/blackbox/tst_blackboxandroid.cpp
@@ -197,7 +197,7 @@ void TestBlackboxAndroid::android_data()
const QByteArrayList commonFiles = expandArchs(archs, {
"AndroidManifest.xml", "META-INF/ANDROIDD.RSA", "META-INF/ANDROIDD.SF",
- "META-INF/MANIFEST.MF", "classes.dex", "resources.arsc"
+ "META-INF/MANIFEST.MF", "classes.dex"
});
QTest::addColumn<QString>("projectDir");
@@ -206,6 +206,7 @@ void TestBlackboxAndroid::android_data()
QTest::newRow("teapot")
<< "teapot" << QStringList("TeapotNativeActivity")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
+ "resources.arsc",
"assets/Shaders/ShaderPlain.fsh",
"assets/Shaders/VS_ShaderPlain.vsh",
"lib/${ARCH}/gdbserver",
@@ -216,6 +217,7 @@ void TestBlackboxAndroid::android_data()
<< "no-native"
<< QStringList("com.example.android.basicmediadecoder")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
+ "resources.arsc",
"res/drawable-hdpi-v4/ic_action_play_disabled.png",
"res/drawable-hdpi-v4/ic_action_play.png",
"res/drawable-hdpi-v4/ic_launcher.png",
@@ -232,24 +234,30 @@ void TestBlackboxAndroid::android_data()
"res/menu/action_menu.xml",
"res/menu-v11/action_menu.xml",
"res/raw/vid_bigbuckbunny.mp4"}));
+ QTest::newRow("aidl") << "aidl" << QStringList("io.qbs.aidltest")
+ << QList<QByteArrayList>{commonFiles};
QTest::newRow("multiple libs")
<< "multiple-libs-per-apk"
<< QStringList("twolibs")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
+ "resources.arsc",
"lib/${ARCH}/gdbserver",
"lib/${ARCH}/liblib1.so",
"lib/${ARCH}/liblib2.so",
"lib/${ARCH}/libstlport_shared.so"}));
QByteArrayList expectedFiles1 = (commonFiles
+ expandArchs(QByteArrayList{"mips", "x86"}, {
+ "resources.arsc",
"lib/${ARCH}/gdbserver",
"lib/${ARCH}/libp1lib1.so",
"lib/${ARCH}/libstlport_shared.so"})
+ expandArchs(QByteArrayList{archs}, {
+ "resources.arsc",
"lib/${ARCH}/gdbserver",
"lib/${ARCH}/libp1lib2.so",
"lib/${ARCH}/libstlport_shared.so"})).toSet().toList();
QByteArrayList expectedFiles2 = commonFiles + expandArchs(archs, {
+ "resources.arsc",
"lib/${ARCH}/gdbserver",
"lib/${ARCH}/libp2lib1.so",
"lib/${ARCH}/libp2lib2.so",