summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kde.org>2013-03-21 21:09:42 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-03 10:15:40 +0200
commit448c3e85dddbfc5c101aceeeceb8584a3d41c913 (patch)
treecbc5ab24f3a9f7b1164077b779762075f0305bc7 /tests/auto
parentb02b6172a254fd9a51fcbd7b2d2596e83e2dafd7 (diff)
Fix Qt tests for Android.
Change-Id: I53856056a00684a9a37596a74b79f46d3b47331f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/android/AndroidManifest.xml2
-rw-r--r--tests/auto/android/res/values/libs.xml28
-rwxr-xr-xtests/auto/android/runtests.pl26
-rw-r--r--tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java7
-rw-r--r--tests/auto/android/src/org/qtproject/qt5/android/QtNative.java55
5 files changed, 87 insertions, 31 deletions
diff --git a/tests/auto/android/AndroidManifest.xml b/tests/auto/android/AndroidManifest.xml
index 32e2b88d66..bd1e0afc68 100644
--- a/tests/auto/android/AndroidManifest.xml
+++ b/tests/auto/android/AndroidManifest.xml
@@ -4,7 +4,7 @@
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
- <application android:icon="@drawable/icon" android:label="@string/app_name" android:name="org.qtproject.qt5.android.QtNative">
+ <application android:label="@string/app_name" android:name="org.qtproject.qt5.android.QtNative">
<activity android:label="@string/app_name" android:name="org.qtproject.qt5.android.QtActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/tests/auto/android/res/values/libs.xml b/tests/auto/android/res/values/libs.xml
index 7f2858e554..43f1d4aff4 100644
--- a/tests/auto/android/res/values/libs.xml
+++ b/tests/auto/android/res/values/libs.xml
@@ -1,19 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<array name="qt_libs">
- <item>QtCore</item>
- <item>QtGui</item>
- <item>QtTest</item>
- <item>QtOpenGL</item>
- <item>QtNetwork</item>
- <item>QtScript</item>
- <item>QtSql</item>
- <item>QtXml</item>
- <item>QtScriptTools</item>
- <item>QtSvg</item>
- <item>QtXmlPatterns</item>
- <item>QtDeclarative</item>
- <item>QtWebKit</item>
+ <item>gnustl_shared</item>
+ <item>Qt5Core</item>
+ <item>Qt5Gui</item>
+ <item>Qt5Widgets</item>
+ <item>Qt5Test</item>
+ <item>Qt5OpenGL</item>
+ <item>Qt5Network</item>
+ <item>Qt5Script</item>
+ <item>Qt5Sql</item>
+ <item>Qt5Xml</item>
+ <item>Qt5ScriptTools</item>
+ <item>Qt5Svg</item>
+ <item>Qt5XmlPatterns</item>
+ <item>Qt5Declarative</item>
+ <item>Qt5WebKit</item>
</array>
<array name="bundled_libs"/>
</resources>
diff --git a/tests/auto/android/runtests.pl b/tests/auto/android/runtests.pl
index 70a242f29f..7bb6833859 100755
--- a/tests/auto/android/runtests.pl
+++ b/tests/auto/android/runtests.pl
@@ -1,8 +1,8 @@
#!/usr/bin/perl -w
#############################################################################
##
+## Copyright (C) 2012-2013 BogDan Vatra <bogdan@kde.org>
## Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-## Copyright (C) 2012 BogDan Vatra <bogdan@kde.org>
## Contact: http://www.qt-project.org/legal
##
## This file is part of the test suite of the Qt Toolkit.
@@ -61,7 +61,8 @@ my $help = 0;
my $make_clean = 0;
my $deploy_qt = 0;
my $time_out=400;
-my $android_sdk_dir = "$ENV{'HOME'}/NecessitasQtSDK/android-sdk";
+my $android_sdk_dir = "$ENV{'ANDROID_SDK_ROOT'}";
+my $android_ndk_dir = "$ENV{'ANDROID_NDK_ROOT'}";
my $ant_tool = `which ant`;
chomp $ant_tool;
my $strip_tool="";
@@ -74,6 +75,7 @@ GetOptions('h|help' => \$help
, 'd|deploy' => \$deploy_qt
, 'j|jobs=i' => \$jobs
, 'sdk=s' => \$android_sdk_dir
+ , 'ndk=s' => \$android_ndk_dir
, 'ant=s' => \$ant_tool
, 'strip=s' => \$strip_tool
, 'readelf=s' => \$readelf_tool
@@ -87,8 +89,8 @@ system("$adb_tool devices") == 0 or die "No device found, please plug/start at l
$device_serial = "-s $device_serial" if ($device_serial);
$testsubset="/$testsubset" if ($testsubset);
-$strip_tool="$ENV{'HOME'}/NecessitasQtSDK/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip" unless($strip_tool);
-$readelf_tool="$ENV{'HOME'}/NecessitasQtSDK/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-readelf" unless($readelf_tool);
+$strip_tool="$android_ndk_dir/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/arm-linux-androideabi-strip" unless($strip_tool);
+$readelf_tool="$android_ndk_dir/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86/bin/arm-linux-androideabi-readelf" unless($readelf_tool);
$readelf_tool="$readelf_tool -d -w ";
sub dir
@@ -141,7 +143,7 @@ sub waitForProcess
return 0;
}
-my $src_dir_qt=abs_path(dirname($0)."/..");
+my $src_dir_qt=abs_path(dirname($0)."/../../..");
my $quadruplor_dir="$src_dir_qt/tests/auto/android";
my $qmake_path="$src_dir_qt/bin/qmake";
my $tests_dir="$src_dir_qt/tests$testsubset";
@@ -232,11 +234,12 @@ if ($deploy_qt)
}
system("cp -a plugins $temp_dir");
system("cp -a imports $temp_dir");
+ system("cp -a qml $temp_dir");
pushd($temp_dir);
system("find -name *.so | xargs $strip_tool --strip-unneeded");
popd;
- system("$adb_tool $device_serial shell rm -r /data/local/qt"); # remove old qt libs
- system("$adb_tool $device_serial push $temp_dir /data/local/qt"); # copy newer qt libs
+ system("$adb_tool $device_serial shell rm -r /data/local/tmp/qt"); # remove old qt libs
+ system("$adb_tool $device_serial push $temp_dir /data/local/tmp/qt"); # copy newer qt libs
popd;
}
@@ -245,6 +248,7 @@ reinstallQuadruplor;
########### build qt tests and benchmarks ###########
pushd($tests_dir);
+print "Building $tests_dir \n";
system("make distclean") if ($make_clean);
system("$qmake_path CONFIG-=QTDIR_build -r") == 0 or die "Can't run qmake\n"; #exec qmake
system("make -j$jobs") == 0 or warn "Can't build all tests\n"; #exec make
@@ -273,12 +277,12 @@ foreach (split("\n",$testsFiles))
{
if (needsOpenGl("$temp_dir/libtst_$application.so"))
{
- startTest("/data/local/qt/plugins/platforms/android/libandroidGL-$sdk_api.so", "/data/data/$packageName/app_files/libtst_$application.so", 1
+ startTest("/data/local/tmp/qt/plugins/platforms/android/libqtforandroidGL.so", "/data/data/$packageName/app_files/libtst_$application.so", 1
, "$output_name.xml") or warn "Can't run $application ...\n";
}
else
{
- startTest("/data/local/qt/plugins/platforms/android/libandroid-$sdk_api.so", "/data/data/$packageName/app_files/libtst_$application.so", 0
+ startTest("/data/local/tmp/qt/plugins/platforms/android/libqtforandroid.so", "/data/data/$packageName/app_files/libtst_$application.so", 0
, "$output_name.xml") or warn "Can't run $application stopping tests ...\n";
}
}
@@ -329,6 +333,10 @@ Make jobs when building tests.
Android SDK path.
+=item B<--ndk = ndk_path>
+
+Android NDK path.
+
=item B<--ant = ant_tool_path>
Ant tool path.
diff --git a/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java b/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java
index ae4ca3c30a..6242f55488 100644
--- a/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java
+++ b/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java
@@ -90,7 +90,7 @@ public class QtActivity extends Activity {
String qtLibs[] = getResources().getStringArray(R.array.qt_libs);
ArrayList<String> libraryList = new ArrayList<String>();
for (int i = 0; i < qtLibs.length; i++)
- libraryList.add("/data/local/qt/lib/lib" + qtLibs[i] + ".so");
+ libraryList.add("/data/local/tmp/qt/lib/lib" + qtLibs[i] + ".so");
String mainLib = null;
String nativeLibDir = null;
@@ -124,8 +124,9 @@ public class QtActivity extends Activity {
}
String[] libs = new String[libraryList.size()];
libs = libraryList.toArray(libs);
- loadQtLibs(libs, "QML_IMPORT_PATH=/data/local/qt/imports\tQT_PLUGIN_PATH=/data/local/qt/plugins",
- "-xml\t-silent\t-o\toutput.xml", mainLib, nativeLibDir);
+ loadQtLibs(libs
+ ,"QT_QPA_EGLFS_HIDECURSOR=1\tQML2_IMPORT_PATH=/data/local/tmp/qt/qml\tQML_IMPORT_PATH=/data/local/tmp/qt/imports\tQT_PLUGIN_PATH=/data/local/tmp/qt/plugins"
+ , "-xml\t-silent\t-o\toutput.xml", mainLib, nativeLibDir);
} catch (Exception e) {
Log.e(QtNative.QtTAG, "Can't create main activity", e);
}
diff --git a/tests/auto/android/src/org/qtproject/qt5/android/QtNative.java b/tests/auto/android/src/org/qtproject/qt5/android/QtNative.java
index 8faeabe5b0..d9995e3178 100644
--- a/tests/auto/android/src/org/qtproject/qt5/android/QtNative.java
+++ b/tests/auto/android/src/org/qtproject/qt5/android/QtNative.java
@@ -34,6 +34,7 @@ import android.app.Application;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
+import android.view.ContextMenu;
import android.view.Menu;
import android.view.MotionEvent;
@@ -294,6 +295,9 @@ public class QtNative extends Application
}
}
+ private static void updateSelection(final int selStart, final int selEnd, final int candidatesStart, final int candidatesEnd)
+ {
+ }
private static void showSoftwareKeyboard(final int x, final int y
, final int width, final int height
@@ -327,6 +331,11 @@ public class QtNative extends Application
});
}
+ private static boolean isSoftwareKeyboardVisible()
+ {
+ return false;
+ }
+
private static void setFullScreen(final boolean fullScreen)
{
runAction(new Runnable() {
@@ -338,10 +347,41 @@ public class QtNative extends Application
});
}
+ private static void registerClipboardManager()
+ {
+ }
+
+ private static void setClipboardText(String text)
+ {
+ }
+
+ private static boolean hasClipboardText()
+ {
+ return false;
+ }
+
+ private static String getClipboardText()
+ {
+ return "Qt";
+ }
+
+ private static void openContextMenu()
+ {
+ }
+
+ private static void closeContextMenu()
+ {
+ }
+
+ private static void resetOptionsMenu()
+ {
+ }
+
// screen methods
public static native void setDisplayMetrics(int screenWidthPixels,
int screenHeightPixels, int desktopWidthPixels,
int desktopHeightPixels, double XDpi, double YDpi);
+ public static native void handleOrientationChanged(int newOrientation);
// screen methods
private static void showOptionsMenu()
@@ -395,6 +435,7 @@ public class QtNative extends Application
public static native void touchBegin(int winId);
public static native void touchAdd(int winId, int pointerId, int action, boolean primary, int x, int y, float size, float pressure);
public static native void touchEnd(int winId, int action);
+ public static native void longPress(int winId, int x, int y);
// pointer methods
// keyboard methods
@@ -413,9 +454,13 @@ public class QtNative extends Application
public static native void updateWindow();
// window methods
- // options menu methods
- public static native void createOptionsMenu(Menu menu);
- public static native boolean prepareOptionsMenu(Menu menu);
- public static native boolean optionsItemSelected(int groupId, int itemId);
- // options menu methods
+ // menu methods
+ public static native boolean onPrepareOptionsMenu(Menu menu);
+ public static native boolean onOptionsItemSelected(int itemId, boolean checked);
+ public static native void onOptionsMenuClosed(Menu menu);
+
+ public static native void onCreateContextMenu(ContextMenu menu);
+ public static native boolean onContextItemSelected(int itemId, boolean checked);
+ public static native void onContextMenuClosed(Menu menu);
+ // menu methods
}