diff --git a/ci/generate_azure_pipelines_matrices.py b/ci/generate_azure_pipelines_matrices.py index 53d9dd1..25b75ad 100644 --- a/ci/generate_azure_pipelines_matrices.py +++ b/ci/generate_azure_pipelines_matrices.py @@ -296,17 +296,24 @@ mac_build_jobs.extend( [ BuildJob("install-qt", "6.4.0", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=True), BuildJob("install-qt", "6.2.4", "mac", "ios", "ios", "ios", module="qtsensors", is_autodesktop=False), + BuildJob("install-qt", "6.4.1", "mac", "android", "android_armv7", "android_armv7", is_autodesktop=True), BuildJob("install-qt", "6.1.0", "mac", "android", "android_armv7", "android_armv7", is_autodesktop=True), ] ) linux_build_jobs.extend( - [BuildJob("install-qt", "6.1.0", "linux", "android", "android_armv7", "android_armv7", is_autodesktop=True)] + [ + BuildJob("install-qt", "6.1.0", "linux", "android", "android_armv7", "android_armv7", is_autodesktop=True), + BuildJob("install-qt", "6.4.1", "linux", "android", "android_arm64_v8a", "android_arm64_v8a", is_autodesktop=True), + ] ) # Qt 6.3.0 for Windows-Android has win64_mingw available, but not win64_mingw81. # This will test that the path to mingw is not hardcoded. windows_build_jobs.extend( - [BuildJob("install-qt", "6.3.0", "windows", "android", "android_armv7", "android_armv7", is_autodesktop=True)] + [ + BuildJob("install-qt", "6.3.0", "windows", "android", "android_armv7", "android_armv7", is_autodesktop=True), + BuildJob("install-qt", "6.4.1", "windows", "android", "android_x86_64", "android_x86_64", is_autodesktop=True), + ] ) # Test binary patch of qmake diff --git a/tests/test_install.py b/tests/test_install.py index bd31df4..98fe844 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -635,6 +635,68 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet r"INFO : Time elapsed: .* second" ), ), + ( + "install-qt linux android 6.4.1 android_arm64_v8a".split(), + "linux", + "android", + "6.4.1", + {"std": "android_arm64_v8a"}, + {"std": "android_arm64_v8a"}, + {"std": "linux_x64/android/qt6_641_arm64_v8a/Updates.xml"}, + { + "std": [ + MockArchive( + filename_7z="qtbase-MacOS-MacOS_12-Clang-Android-Android_ANY-ARM64.7z", + update_xml_name="qt.qt6.641.android_arm64_v8a", + contents=( + # Qt 6 non-desktop should patch qconfig.pri, qmake script and target_qt.conf + PatchedFile( + filename="mkspecs/qconfig.pri", + unpatched_content="... blah blah blah ...\n" + "QT_EDITION = Not OpenSource\n" + "QT_LICHECK = Not Empty\n" + "... blah blah blah ...\n", + patched_content="... blah blah blah ...\n" + "QT_EDITION = OpenSource\n" + "QT_LICHECK =\n" + "... blah blah blah ...\n", + ), + PatchedFile( + filename="bin/target_qt.conf", + unpatched_content="Prefix=/Users/qt/work/install/target\n" + "HostPrefix=../../\n" + "HostData=target\n", + patched_content="Prefix={base_dir}{sep}6.4.1{sep}android_arm64_v8a{sep}target\n" + "HostPrefix=../../gcc_64\n" + "HostData=../android_arm64_v8a\n", + ), + PatchedFile( + filename="bin/qmake", + unpatched_content="... blah blah blah ...\n" + "/home/qt/work/install/bin\n" + "/Users/qt/work/install/bin\n" + "... blah blah blah ...\n", + patched_content="... blah blah blah ...\n" + "{base_dir}/6.4.1/gcc_64/bin\n" + "{base_dir}/6.4.1/gcc_64/bin\n" + "... blah blah blah ...\n", + ), + ), + ), + ] + }, + re.compile( + r"^INFO : aqtinstall\(aqt\) v.* on Python 3.*\n" + r"WARNING : You are installing the android version of Qt, which requires that the desktop version of " + r"Qt is also installed. You can install it with the following command:\n" + r" `aqt install-qt linux desktop 6\.4\.1 gcc_64`\n" + r"INFO : Downloading qtbase...\n" + r"Finished installation of qtbase-MacOS-MacOS_12-Clang-Android-Android_ANY-ARM64\.7z in .*\n" + r"INFO : Patching .*6\.4\.1/android_arm64_v8a/bin/qmake\n" + r"INFO : Finished installation\n" + r"INFO : Time elapsed: .* second" + ), + ), ( "install-qt linux android 6.3.0 android_arm64_v8a".split(), "linux",