GeezerVison is showing github.com — `pip install` does not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel · Issue #145616 · python/cpython
pip install does not work in Python 3.13 on 32-bit ARM Android running on 64-bit ARM kernel #145616
DescriptionBug report
Bug description:
Unfortunately, this line of code does not work on 32-bit ARM Python 3.13 when it is running on an Android device that has a 32-bit ARM /system folder but a 64-bit ARM kernel.
On 32-bit ARM Python 3.13 when it is running on an Android device that has a 32-bit ARM /system folder but a 64-bit ARM kernel, this command (and any other pip command):
unfortunately results in this error:
ERROR: Exception:
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 107, in _run_wrapper
status = _inner_run()
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/base_command.py", line 98, in _inner_run
return self.run(options, args)
~~~~~~~~^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 96, in wrapper
return func(self, options, args)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/commands/install.py", line 391, in run
resolver = self.make_resolver(
preparer=preparer,
...<8 lines>...
py_version_info=options.python_version,
)
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/cli/req_command.py", line 256, in make_resolver
return pip._internal.resolution.resolvelib.resolver.Resolver(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
preparer=preparer,
^^^^^^^^^^^^^^^^^^
...<9 lines>...
py_version_info=py_version_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 61, in __init__
self.factory = Factory(
~~~~~~~^
finder=finder,
^^^^^^^^^^^^^^
...<7 lines>...
py_version_info=py_version_info,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 118, in __init__
self._supported_tags_cache = get_supported()
~~~~~~~~~~~~~^^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_internal/utils/compatibility_tags.py", line 178, in get_supported
supported.extend(
~~~~~~~~~~~~~~~~^
cpython_tags(
^^^^^^^^^^^^^
...<3 lines>...
)
^
)
^
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_vendor/packaging/tags.py", line 229, in cpython_tags
platforms = list(platforms or platform_tags())
File "/data/data/com.termux/files/usr/lib/python3.13/site-packages/pip/_vendor/packaging/tags.py", line 558, in android_platforms
abi = sysconfig.get_platform().split("-")[-1]
~~~~~~~~~~~~~~~~~~~~~~^^
File "/data/data/com.termux/files/usr/lib/python3.13/sysconfig/__init__.py", line 647, in get_platform
machine = {
~
...<3 lines>...
"armv7l": "armeabi_v7a",
~~~~~~~~~~~~~~~~~~~~~~~~
}[machine]
~^^^^^^^^^
KeyError: 'armv8l'
Note Manually editing sysconfig/__init__.py to look like this:
machine = {
"x86_64": "x86_64",
"i686": "x86",
"aarch64": "arm64_v8a",
"armv7l": "armeabi_v7a",
"armv8l": "armeabi_v7a",
}[machine]
does allow pip install to work successfully on 32-bit ARM Android running on a 64-bit ARM kernel without any further unique changes additionally being required
CPython versions tested on:
3.13
Operating systems tested on:
Android
Linked PRs
Activityrobertkirkman commented on Mar 7, 2026 ContributorAuthor More actions CC: @thunder-coding , you did not cause this bug, but it is something that you might want to be aware is being discussed thunder-coding commented on Mar 7, 2026 This issue belongs to https://github.com/pypa/pip. Python only maintains pip in its tree for packaging purposes nevermind, the fix belongs here. Thanks for the headsup. I dont have a arm64 device with 32-bit OS to test this against
robertkirkman commented on Mar 7, 2026 ContributorAuthor More actions
I dont have a arm64 device with 32-bit OS to test this against
You have received documentation in the past for how to install 32-bit ARM termux-docker inside 64-bit ARM Docker inside 64-bit ARM Debian inside qemu-system-aarch64 full system emulator,
and I understand that it is slow and tedious to use that, but that's my device for reproducing and troubleshooting this issue! so technically if you wanted to check this, you could as well if you had time (I understand the emulator is very slow so it might spend too much of your time to use) robertkirkman commented on Mar 7, 2026 ContributorAuthor More actions Also, another way is: some physical devices (a subset of 64-bit devices) have both a /system/lib folder and a /system/lib64 folder. This is called "Android system multilib". On those devices, it is possible to install this APK https://github.com/termux/termux-app/releases/download/v0.118.3/termux-app_v0.118.3+github-debug_armeabi-v7a.apk , the 32-bit ARM APK of Termux, and then in that situation the error would also be reproducible.
The tradeoff with that reproduction method is that if one already has a copy of 64-bit ARM Termux installed on the device, then it would be necessary to either uninstall that Termux first, or leave it installed but build the 32-bit ARM Termux APK with a different package name before installing it, both of which could be more inconvenient than using an emulator on PC, especially if one only has a single Android device. robertkirkman commented on Mar 7, 2026 ContributorAuthor More actions robertkirkman commented on Mar 15, 2026 ContributorAuthor More actions I have also been able to reproduce this error using build settings very close to the official CPython test suite for Android, rather than only using the downstream Termux build of CPython for Android, but in order to do so, I had to first make several other modifications to the code in order to bypass several other errors that occured due to missing support for 32-bit Android in general in other areas.
Dockerfile which can build the CPython official Android test suite for 32-bit ARM Android
FROM ubuntu:24.04 AS build
# based on
# https://github.com/thunder-coding/containerTube/blob/93062c010527382b0eb5372e9fd0842cb9f9a3f5/python-android-builder/Dockerfile
# Install necessary packages we need to build Python
RUN <<DOCKEREOF
# First update our package lists, and update our packages to not do a partial upgrade.
apt-get update && apt-get full-upgrade -y
# Needed for getting the sources and SDK
apt-get install -y git curl unzip
# For actually building Python
apt-get install -y build-essential python-is-python3 autoconf autoconf-archive m4 autotools-dev libffi-dev
# Needed for Android command line tools
apt-get install -y openjdk-21-jdk
# Get rid of the apt cache to save space in the image.
apt-get clean
rm -rf /var/lib/apt/lists/*
DOCKEREOF
# Switch to a non-root user to do the rest of our work, as we don't want to be building Python as root.
USER ubuntu
# Setup Android command line tools needed by Python to build
ENV ANDROID_HOME=/home/ubuntu/.android
ARG ANDROID_COMMAND_LINE_TOOLS_VERSION=14742923
ARG ANDROID_COMMAND_LINE_TOOLS_SHA1=48833c34b761c10cb20bcd16582129395d121b27
RUN <<DOCKEREOF
mkdir "$ANDROID_HOME"
curl -o /tmp/cmdline-tools.zip \
https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_COMMAND_LINE_TOOLS_VERSION}_latest.zip
echo "${ANDROID_COMMAND_LINE_TOOLS_SHA1} /tmp/cmdline-tools.zip" | sha1sum -c -
mkdir -p "$ANDROID_HOME/cmdline-tools"
cd $ANDROID_HOME/cmdline-tools
unzip /tmp/cmdline-tools.zip -d .
mv cmdline-tools/ latest/
rm /tmp/cmdline-tools.zip
DOCKEREOF
ARG GIT_REPO=https://github.com/python/cpython.git
ARG GIT_BRANCH=main
RUN <<DOCKEREOF
git clone --branch $GIT_BRANCH $GIT_REPO /home/ubuntu/cpython
cd /home/ubuntu/cpython
git apply -v << 'PATCHEOF'
--- a/Android/android.py
+++ b/Android/android.py
@@ -34,7 +34,7 @@
TESTBED_DIR = ANDROID_DIR / "testbed"
CROSS_BUILD_DIR = PYTHON_DIR / "cross-build"
-HOSTS = ["aarch64-linux-android", "x86_64-linux-android"]
+HOSTS = ["aarch64-linux-android", "x86_64-linux-android", "arm-linux-androideabi"]
APP_ID = "org.python.testbed"
DECODE_ARGS = ("UTF-8", "backslashreplace")
--- a/Android/testbed/app/build.gradle.kts
+++ b/Android/testbed/app/build.gradle.kts
@@ -16,6 +16,7 @@ val inSourceTree = (
val KNOWN_ABIS = mapOf(
"aarch64-linux-android" to "arm64-v8a",
"x86_64-linux-android" to "x86_64",
+ "arm-linux-androideabi" to "armeabi-v7a",
)
// Discover prefixes.
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -701,6 +701,7 @@ def get_platform():
"i686": "x86",
"aarch64": "arm64_v8a",
"armv7l": "armeabi_v7a",
+ "arm": "armeabi_v7a",
}[machine]
elif osname == "linux":
# At least on Linux/Intel, 'machine' is the processor --
PATCHEOF
cd Android/
./android.py configure-build
./android.py make-build
./android.py configure-host arm-linux-androideabi
./android.py make-host arm-linux-androideabi
./android.py package arm-linux-androideabi
mv ../cross-build/arm-linux-androideabi/dist/python-*-arm-linux-androideabi.tar.gz \
/home/ubuntu/python-arm-linux-androideabi.tar.gz
DOCKEREOF
FROM scratch
COPY --from=build /home/ubuntu/python-arm-linux-androideabi.tar.gz /
Yes, in order to compile CPython for 32-bit ARM Android using the official build system to get to the point of being able to reproduce the error reported here, it is necessary to first edit the same switch statement in Lib/sysconfig/__init__.py to handle the "arm" case, which seems to be the same "arm" from the variable that I had to set to "arm-linux-androideabi" to match the download release from the cpython-android-source-deps repository that I observed present here:
https://github.com/beeware/cpython-android-source-deps/blob/2b375bd9ab92796f92aa799b21d8bd4157b6068c/.github/workflows/release.yaml#L17
Then, I was able to use these commands to build, extract and run the python-arm-linux-androideabi.tar.gz on my armv8l device connected to ADB, with ID 4251484430323498.
docker build --output=. .
tar xf python-arm-linux-androideabi.tar.gz
./android.py test --connected 4251484430323498
The name of the failing test that matches the error I reported in this issue is "test_build_details".
0:04:51 [111/501/2] test_build_details
test test_build_details failed -- Traceback (most recent call last):
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/test/test_build_details.py", line 80, in test_platform
self.assertEqual(self.key('platform'), sysconfig.get_platform())
~~~~~~~~~~~~~~~~~~~~~~^^
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/sysconfig/__init__.py", line 699, in get_platform
machine = {
~
...<4 lines>...
"arm": "armeabi_v7a",
~~~~~~~~~~~~~~~~~~~~~
}[machine]
~^^^^^^^^^
KeyError: 'armv8l'
0:04:51 [111/501/3] test_build_details failed (1 error)
full test log
> curl -Lf --retry 5 --retry-all-errors -o /home/tacokoneko/code/python/testbed/gradlew https://raw.githubusercontent.com/gradle/gradle/v8.9.0/gradlew
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8784 100 8784 0 0 58073 0 0
> curl -Lf --retry 5 --retry-all-errors -o /home/tacokoneko/code/python/testbed/gradlew.bat https://raw.githubusercontent.com/gradle/gradle/v8.9.0/gradlew.bat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2894 100 2894 0 0 20367 0 0
> curl -Lf --retry 5 --retry-all-errors -o /home/tacokoneko/code/python/testbed/gradle/wrapper/gradle-wrapper.jar https://raw.githubusercontent.com/gradle/gradle/v8.9.0/gradle/wrapper/gradle-wrapper.jar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 43504 100 43504 0 0 273.5k 0 0
Waiting for app to start - this may take several minutes
PID: 13926
== CPython 3.15.0a7+ (heads/main-dirty:2f4e4ec2e72, Mar 15 2026, 15:04:38) [Clang 18.0.4 (https://android.googlesource.com/toolchain/llvm-project d8003a456
== Android-10-armv8l-32bit little-endian
== Python build: release shared
== cwd: /data/data/org.python.testbed/cache/test_python_worker_13926æ
== CPU count: 8
== encodings: locale=utf-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests
Using random seed: 48355940
0:00:00 Run 501 tests sequentially in a single process
0:00:00 [ 1/501] test.test_asyncio.test_base_events
0:00:03 [ 1/501] test.test_asyncio.test_base_events passed
0:00:03 [ 2/501] test.test_asyncio.test_buffered_proto
0:00:03 [ 2/501] test.test_asyncio.test_buffered_proto passed
0:00:03 [ 3/501] test.test_asyncio.test_context
0:00:04 [ 3/501] test.test_asyncio.test_context passed
0:00:04 [ 4/501] test.test_asyncio.test_eager_task_factory
0:00:09 [ 4/501] test.test_asyncio.test_eager_task_factory passed
0:00:09 [ 5/501] test.test_asyncio.test_events
test test.test_asyncio.test_events failed -- multiple errors occurred; run in verbose mode for details
0:00:36 [ 5/501/1] test.test_asyncio.test_events failed (3 errors)
0:00:36 [ 6/501/1] test.test_asyncio.test_free_threading
0:00:40 [ 6/501/1] test.test_asyncio.test_free_threading passed
0:00:40 [ 7/501/1] test.test_asyncio.test_futures
0:00:48 [ 7/501/1] test.test_asyncio.test_futures passed
0:00:48 [ 8/501/1] test.test_asyncio.test_futures2
0:00:48 [ 8/501/1] test.test_asyncio.test_futures2 passed
0:00:48 [ 9/501/1] test.test_asyncio.test_graph
0:00:48 [ 9/501/1] test.test_asyncio.test_graph passed
0:00:48 [ 10/501/1] test.test_asyncio.test_locks
0:00:50 [ 10/501/1] test.test_asyncio.test_locks passed
0:00:50 [ 11/501/1] test.test_asyncio.test_pep492
0:00:50 [ 11/501/1] test.test_asyncio.test_pep492 passed
0:00:50 [ 12/501/1] test.test_asyncio.test_proactor_events
0:00:51 [ 12/501/1] test.test_asyncio.test_proactor_events passed
0:00:51 [ 13/501/1] test.test_asyncio.test_protocols
0:00:51 [ 13/501/1] test.test_asyncio.test_protocols passed
0:00:51 [ 14/501/1] test.test_asyncio.test_queues
0:00:52 [ 14/501/1] test.test_asyncio.test_queues passed
0:00:52 [ 15/501/1] test.test_asyncio.test_runners
0:00:52 [ 15/501/1] test.test_asyncio.test_runners passed
0:00:52 [ 16/501/1] test.test_asyncio.test_selector_events
0:00:53 [ 16/501/1] test.test_asyncio.test_selector_events passed
0:00:53 [ 17/501/1] test.test_asyncio.test_sendfile
0:01:01 [ 17/501/1] test.test_asyncio.test_sendfile passed
0:01:01 [ 18/501/1] test.test_asyncio.test_server
0:01:02 [ 18/501/1] test.test_asyncio.test_server passed
0:01:02 [ 19/501/1] test.test_asyncio.test_sock_lowlevel
0:01:06 [ 19/501/1] test.test_asyncio.test_sock_lowlevel passed
0:01:06 [ 20/501/1] test.test_asyncio.test_ssl
0:01:28 [ 20/501/1] test.test_asyncio.test_ssl passed
0:01:28 [ 21/501/1] test.test_asyncio.test_sslproto
0:01:34 [ 21/501/1] test.test_asyncio.test_sslproto passed
0:01:34 [ 22/501/1] test.test_asyncio.test_staggered
0:01:34 [ 22/501/1] test.test_asyncio.test_staggered passed
0:01:34 [ 23/501/1] test.test_asyncio.test_streams
0:01:36 [ 23/501/1] test.test_asyncio.test_streams passed
0:01:36 [ 24/501/1] test.test_asyncio.test_subprocess
test.test_asyncio.test_subprocess skipped -- test module requires subprocess
0:01:36 [ 24/501/1] test.test_asyncio.test_subprocess skipped
0:01:36 [ 25/501/1] test.test_asyncio.test_taskgroups
0:01:51 [ 25/501/1] test.test_asyncio.test_taskgroups passed
0:01:51 [ 26/501/1] test.test_asyncio.test_tasks
0:02:26 [ 26/501/1] test.test_asyncio.test_tasks passed in 35.2 sec
0:02:26 [ 27/501/1] test.test_asyncio.test_threads
0:02:26 [ 27/501/1] test.test_asyncio.test_threads passed
0:02:26 [ 28/501/1] test.test_asyncio.test_timeouts
0:02:27 [ 28/501/1] test.test_asyncio.test_timeouts passed
0:02:27 [ 29/501/1] test.test_asyncio.test_tools
0:02:28 [ 29/501/1] test.test_asyncio.test_tools passed
0:02:28 [ 30/501/1] test.test_asyncio.test_transports
0:02:28 [ 30/501/1] test.test_asyncio.test_transports passed
0:02:28 [ 31/501/1] test.test_asyncio.test_unix_events
0:02:29 [ 31/501/1] test.test_asyncio.test_unix_events passed
0:02:29 [ 32/501/1] test.test_asyncio.test_waitfor
0:02:30 [ 32/501/1] test.test_asyncio.test_waitfor passed
0:02:30 [ 33/501/1] test.test_asyncio.test_windows_events
test.test_asyncio.test_windows_events skipped -- Windows only
0:02:30 [ 33/501/1] test.test_asyncio.test_windows_events skipped
0:02:30 [ 34/501/1] test.test_asyncio.test_windows_utils
test.test_asyncio.test_windows_utils skipped -- Windows only
0:02:30 [ 34/501/1] test.test_asyncio.test_windows_utils skipped
0:02:30 [ 35/501/1] test.test_concurrent_futures.test_as_completed
0:02:39 [ 35/501/1] test.test_concurrent_futures.test_as_completed passed
0:02:39 [ 36/501/1] test.test_concurrent_futures.test_deadlock
0:02:39 [ 36/501/1] test.test_concurrent_futures.test_deadlock passed
0:02:39 [ 37/501/1] test.test_concurrent_futures.test_future
0:02:43 [ 37/501/1] test.test_concurrent_futures.test_future passed
0:02:43 [ 38/501/1] test.test_concurrent_futures.test_init
0:02:44 [ 38/501/1] test.test_concurrent_futures.test_init passed
0:02:44 [ 39/501/1] test.test_concurrent_futures.test_interpreter_pool
0:02:59 [ 39/501/1] test.test_concurrent_futures.test_interpreter_pool passed
0:02:59 [ 40/501/1] test.test_concurrent_futures.test_process_pool
0:03:00 [ 40/501/1] test.test_concurrent_futures.test_process_pool passed
0:03:00 [ 41/501/1] test.test_concurrent_futures.test_shutdown
0:03:01 [ 41/501/1] test.test_concurrent_futures.test_shutdown passed
0:03:01 [ 42/501/1] test.test_concurrent_futures.test_thread_pool
0:03:02 [ 42/501/1] test.test_concurrent_futures.test_thread_pool passed
0:03:02 [ 43/501/1] test.test_concurrent_futures.test_wait
0:03:03 [ 43/501/1] test.test_concurrent_futures.test_wait passed
0:03:03 [ 44/501/1] test.test_future_stmt.test_future
0:03:03 [ 44/501/1] test.test_future_stmt.test_future passed
0:03:03 [ 45/501/1] test.test_future_stmt.test_future_flags
0:03:03 [ 45/501/1] test.test_future_stmt.test_future_flags passed
0:03:03 [ 46/501/1] test.test_future_stmt.test_future_multiple_features
0:03:04 [ 46/501/1] test.test_future_stmt.test_future_multiple_features passed
0:03:04 [ 47/501/1] test.test_future_stmt.test_future_multiple_imports
0:03:04 [ 47/501/1] test.test_future_stmt.test_future_multiple_imports passed
0:03:04 [ 48/501/1] test.test_future_stmt.test_future_single_import
0:03:04 [ 48/501/1] test.test_future_stmt.test_future_single_import passed
0:03:04 [ 49/501/1] test.test_gdb.test_backtrace
test.test_gdb.test_backtrace skipped -- test_gdb only works on source builds at the moment.
0:03:04 [ 49/501/1] test.test_gdb.test_backtrace skipped
0:03:04 [ 50/501/1] test.test_gdb.test_cfunction
test.test_gdb.test_cfunction skipped -- test_gdb only works on source builds at the moment.
0:03:04 [ 50/501/1] test.test_gdb.test_cfunction skipped
0:03:04 [ 51/501/1] test.test_gdb.test_cfunction_full
test.test_gdb.test_cfunction_full skipped -- test_gdb only works on source builds at the moment.
0:03:05 [ 51/501/1] test.test_gdb.test_cfunction_full skipped
0:03:05 [ 52/501/1] test.test_gdb.test_misc
test.test_gdb.test_misc skipped -- test_gdb only works on source builds at the moment.
0:03:05 [ 52/501/1] test.test_gdb.test_misc skipped
0:03:05 [ 53/501/1] test.test_gdb.test_pretty_print
test.test_gdb.test_pretty_print skipped -- test_gdb only works on source builds at the moment.
0:03:05 [ 53/501/1] test.test_gdb.test_pretty_print skipped
0:03:05 [ 54/501/1] test.test_inspect.test_inspect
0:03:07 [ 54/501/1] test.test_inspect.test_inspect passed
0:03:07 [ 55/501/1] test.test_io.test_bufferedio
0:03:12 [ 55/501/1] test.test_io.test_bufferedio passed
0:03:12 [ 56/501/1] test.test_io.test_file
0:03:13 [ 56/501/1] test.test_io.test_file passed
0:03:13 [ 57/501/1] test.test_io.test_fileio
0:03:13 [ 57/501/1] test.test_io.test_fileio passed
0:03:13 [ 58/501/1] test.test_io.test_general
0:03:17 [ 58/501/1] test.test_io.test_general passed
0:03:17 [ 59/501/1] test.test_io.test_largefile
0:03:17 [ 59/501/1] test.test_io.test_largefile passed
0:03:17 [ 60/501/1] test.test_io.test_memoryio
0:03:18 [ 60/501/1] test.test_io.test_memoryio passed
0:03:18 [ 61/501/1] test.test_io.test_signals
0:03:27 [ 61/501/1] test.test_io.test_signals passed
0:03:27 [ 62/501/1] test.test_io.test_textio
0:03:30 [ 62/501/1] test.test_io.test_textio passed
0:03:30 [ 63/501/1] test.test_io.test_univnewlines
0:03:30 [ 63/501/1] test.test_io.test_univnewlines passed
0:03:30 [ 64/501/1] test.test_multiprocessing_fork.test_manager
test.test_multiprocessing_fork.test_manager skipped -- No module named '_multiprocessing'
0:03:31 [ 64/501/1] test.test_multiprocessing_fork.test_manager skipped
0:03:31 [ 65/501/1] test.test_multiprocessing_fork.test_misc
test.test_multiprocessing_fork.test_misc skipped -- No module named '_multiprocessing'
0:03:31 [ 65/501/1] test.test_multiprocessing_fork.test_misc skipped
0:03:31 [ 66/501/1] test.test_multiprocessing_fork.test_processes
test.test_multiprocessing_fork.test_processes skipped -- No module named '_multiprocessing'
0:03:31 [ 66/501/1] test.test_multiprocessing_fork.test_processes skipped
0:03:31 [ 67/501/1] test.test_multiprocessing_fork.test_threads
test.test_multiprocessing_fork.test_threads skipped -- No module named '_multiprocessing'
0:03:31 [ 67/501/1] test.test_multiprocessing_fork.test_threads skipped
0:03:31 [ 68/501/1] test.test_multiprocessing_forkserver.test_manager
test.test_multiprocessing_forkserver.test_manager skipped -- requires working os.fork()
0:03:32 [ 68/501/1] test.test_multiprocessing_forkserver.test_manager skipped
0:03:32 [ 69/501/1] test.test_multiprocessing_forkserver.test_misc
test.test_multiprocessing_forkserver.test_misc skipped -- requires working os.fork()
0:03:32 [ 69/501/1] test.test_multiprocessing_forkserver.test_misc skipped
0:03:32 [ 70/501/1] test.test_multiprocessing_forkserver.test_preload
test.test_multiprocessing_forkserver.test_preload skipped -- requires working os.fork()
0:03:32 [ 70/501/1] test.test_multiprocessing_forkserver.test_preload skipped
0:03:32 [ 71/501/1] test.test_multiprocessing_forkserver.test_processes
test.test_multiprocessing_forkserver.test_processes skipped -- requires working os.fork()
0:03:32 [ 71/501/1] test.test_multiprocessing_forkserver.test_processes skipped
0:03:32 [ 72/501/1] test.test_multiprocessing_forkserver.test_threads
test.test_multiprocessing_forkserver.test_threads skipped -- requires working os.fork()
0:03:32 [ 72/501/1] test.test_multiprocessing_forkserver.test_threads skipped
0:03:32 [ 73/501/1] test.test_multiprocessing_spawn.test_manager
test.test_multiprocessing_spawn.test_manager skipped -- No module named '_multiprocessing'
0:03:33 [ 73/501/1] test.test_multiprocessing_spawn.test_manager skipped
0:03:33 [ 74/501/1] test.test_multiprocessing_spawn.test_misc
test.test_multiprocessing_spawn.test_misc skipped -- No module named '_multiprocessing'
0:03:33 [ 74/501/1] test.test_multiprocessing_spawn.test_misc skipped
0:03:33 [ 75/501/1] test.test_multiprocessing_spawn.test_processes
test.test_multiprocessing_spawn.test_processes skipped -- No module named '_multiprocessing'
0:03:33 [ 75/501/1] test.test_multiprocessing_spawn.test_processes skipped
0:03:33 [ 76/501/1] test.test_multiprocessing_spawn.test_threads
test.test_multiprocessing_spawn.test_threads skipped -- No module named '_multiprocessing'
0:03:33 [ 76/501/1] test.test_multiprocessing_spawn.test_threads skipped
0:03:33 [ 77/501/1] test.test_os.test_os
0:03:35 [ 77/501/1] test.test_os.test_os passed
0:03:35 [ 78/501/1] test.test_os.test_posix
0:03:36 [ 78/501/1] test.test_os.test_posix passed
0:03:36 [ 79/501/1] test.test_os.test_windows
test.test_os.test_windows skipped -- Win32 specific tests
0:03:36 [ 79/501/1] test.test_os.test_windows skipped
0:03:36 [ 80/501/1] test.test_pydoc.test_pydoc
0:03:39 [ 80/501/1] test.test_pydoc.test_pydoc passed
0:03:39 [ 81/501/1] test___all__
0:03:49 [ 81/501/1] test___all__ passed
0:03:49 [ 82/501/1] test__colorize
0:03:50 [ 82/501/1] test__colorize passed
0:03:50 [ 83/501/1] test__interpchannels
0:03:52 [ 83/501/1] test__interpchannels passed
0:03:52 [ 84/501/1] test__interpreters
0:03:56 [ 84/501/1] test__interpreters passed
0:03:56 [ 85/501/1] test__locale
0:03:56 [ 85/501/1] test__locale passed
0:03:56 [ 86/501/1] test__opcode
0:03:57 [ 86/501/1] test__opcode passed
0:03:57 [ 87/501/1] test__osx_support
0:03:57 [ 87/501/1] test__osx_support passed
0:03:57 [ 88/501/1] test_abc
0:03:58 [ 88/501/1] test_abc passed
0:03:58 [ 89/501/1] test_abstract_numbers
0:03:58 [ 89/501/1] test_abstract_numbers passed
0:03:58 [ 90/501/1] test_android
aHelloHello world olé中文😀\xc0\x80a\xc0\x80\xc0\x80ba\xc0\x80b\xffa\xff\xffba\xffb
x
a
b
c
d
exxf
g
hello
hello
world
bytearraymemoryviewmmrve\xc0\x80\xc0\x80\xc0\x80\xfe\xff\xff\xffaHelloHello world olé中文😀\xc0\x80a\xc0\x80\xc0\x80ba\xc0\x80b\xffa\xff\xffba\xffb
x
a
b
c
d
exxf
g
hello
hello
world
bytearraymemoryviewmmrve\xc0\x80\xc0\x80\xc0\x80\xfe\xff\xff\xffaHelloHello world olé中文😀\ud800\udc00\udc80\xc0\x80a\xc0\x80\xc0\x80ba\xc0\x80b
x
a
aHelloHello world olé中文😀\ud800\udc00\udc80\xc0\x80a\xc0\x80\xc0\x80ba\xc0\x80b
x
a
test test_android failed -- multiple errors occurred; run in verbose mode for details
0:04:21 [ 90/501/2] test_android failed (2 failures)
0:04:21 [ 91/501/2] test_annotationlib
0:04:22 [ 91/501/2] test_annotationlib passed
0:04:22 [ 92/501/2] test_apple
test_apple skipped -- Apple-specific
0:04:22 [ 92/501/2] test_apple skipped
0:04:22 [ 93/501/2] test_argparse
test_argparse skipped -- test module requires subprocess
0:04:23 [ 93/501/2] test_argparse skipped
0:04:23 [ 94/501/2] test_array
0:04:32 [ 94/501/2] test_array passed
0:04:32 [ 95/501/2] test_asdl_parser
test_asdl_parser skipped -- test irrelevant for an installed Python
0:04:33 [ 95/501/2] test_asdl_parser skipped
0:04:33 [ 96/501/2] test_ast
0:04:36 [ 96/501/2] test_ast passed
0:04:36 [ 97/501/2] test_asyncgen
0:04:39 [ 97/501/2] test_asyncgen passed
0:04:39 [ 98/501/2] test_atexit
0:04:41 [ 98/501/2] test_atexit passed
0:04:41 [ 99/501/2] test_audit
0:04:42 [ 99/501/2] test_audit passed
0:04:42 [100/501/2] test_augassign
0:04:42 [100/501/2] test_augassign passed
0:04:42 [101/501/2] test_base64
0:04:43 [101/501/2] test_base64 passed
0:04:43 [102/501/2] test_baseexception
0:04:43 [102/501/2] test_baseexception passed
0:04:43 [103/501/2] test_bdb
0:04:44 [103/501/2] test_bdb passed
0:04:44 [104/501/2] test_bigaddrspace
0:04:45 [104/501/2] test_bigaddrspace passed
0:04:45 [105/501/2] test_bigmem
0:04:45 [105/501/2] test_bigmem passed
0:04:45 [106/501/2] test_binascii
0:04:46 [106/501/2] test_binascii passed
0:04:46 [107/501/2] test_binop
0:04:46 [107/501/2] test_binop passed
0:04:46 [108/501/2] test_bisect
0:04:47 [108/501/2] test_bisect passed
0:04:47 [109/501/2] test_bool
0:04:47 [109/501/2] test_bool passed
0:04:47 [110/501/2] test_buffer
0:04:51 [110/501/2] test_buffer passed
0:04:51 [111/501/2] test_build_details
test test_build_details failed -- Traceback (most recent call last):
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/test/test_build_details.py", line 80, in test_platform
self.assertEqual(self.key('platform'), sysconfig.get_platform())
~~~~~~~~~~~~~~~~~~~~~~^^
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/sysconfig/__init__.py", line 699, in get_platform
machine = {
~
...<4 lines>...
"arm": "armeabi_v7a",
~~~~~~~~~~~~~~~~~~~~~
}[machine]
~^^^^^^^^^
KeyError: 'armv8l'
0:04:51 [111/501/3] test_build_details failed (1 error)
0:04:51 [112/501/3] test_builtin
0:04:52 [112/501/3] test_builtin passed
0:04:52 [113/501/3] test_bytes
0:05:03 [113/501/3] test_bytes passed
0:05:03 [114/501/3] test_bz2
0:05:07 [114/501/3] test_bz2 passed
0:05:07 [115/501/3] test_c_locale_coercion
0:05:07 [115/501/3] test_c_locale_coercion passed
0:05:07 [116/501/3] test_calendar
0:05:08 [116/501/3] test_calendar passed
0:05:08 [117/501/3] test_call
0:05:09 [117/501/3] test_call passed
0:05:09 [118/501/3] test_capi
0:05:25 [118/501/3] test_capi passed
0:05:25 [119/501/3] test_cext
0:05:25 [119/501/3] test_cext passed
0:05:25 [120/501/3] test_charmapcodec
0:05:26 [120/501/3] test_charmapcodec passed
0:05:26 [121/501/3] test_class
0:05:26 [121/501/3] test_class passed
0:05:26 [122/501/3] test_clinic
test_clinic skipped -- test module requires subprocess
0:05:27 [122/501/3] test_clinic skipped
0:05:27 [123/501/3] test_cmath
0:05:28 [123/501/3] test_cmath passed
0:05:28 [124/501/3] test_cmd
0:05:28 [124/501/3] test_cmd passed
0:05:28 [125/501/3] test_cmd_line
test_cmd_line skipped -- test module requires subprocess
0:05:29 [125/501/3] test_cmd_line skipped
0:05:29 [126/501/3] test_cmd_line_script
0:05:29 [126/501/3] test_cmd_line_script passed
0:05:29 [127/501/3] test_code
0:05:31 [127/501/3] test_code passed
0:05:31 [128/501/3] test_code_module
0:05:31 [128/501/3] test_code_module passed
0:05:31 [129/501/3] test_codeccallbacks
0:05:32 [129/501/3] test_codeccallbacks passed
0:05:32 [130/501/3] test_codecencodings_cn
0:05:33 [130/501/3] test_codecencodings_cn passed
0:05:33 [131/501/3] test_codecencodings_hk
0:05:33 [131/501/3] test_codecencodings_hk passed
0:05:33 [132/501/3] test_codecencodings_iso2022
0:05:34 [132/501/3] test_codecencodings_iso2022 passed
0:05:34 [133/501/3] test_codecencodings_jp
0:05:35 [133/501/3] test_codecencodings_jp passed
0:05:35 [134/501/3] test_codecencodings_kr
0:05:36 [134/501/3] test_codecencodings_kr passed
0:05:36 [135/501/3] test_codecencodings_tw
0:05:37 [135/501/3] test_codecencodings_tw passed
0:05:37 [136/501/3] test_codecmaps_cn
0:05:37 [136/501/3] test_codecmaps_cn passed
0:05:37 [137/501/3] test_codecmaps_hk
0:05:38 [137/501/3] test_codecmaps_hk passed
0:05:38 [138/501/3] test_codecmaps_jp
0:05:38 [138/501/3] test_codecmaps_jp passed
0:05:38 [139/501/3] test_codecmaps_kr
0:05:39 [139/501/3] test_codecmaps_kr passed
0:05:39 [140/501/3] test_codecmaps_tw
0:05:39 [140/501/3] test_codecmaps_tw passed
0:05:39 [141/501/3] test_codecs
0:05:41 [141/501/3] test_codecs passed
0:05:41 [142/501/3] test_codeop
0:05:42 [142/501/3] test_codeop passed
0:05:42 [143/501/3] test_collections
0:05:44 [143/501/3] test_collections passed
0:05:44 [144/501/3] test_colorsys
0:05:45 [144/501/3] test_colorsys passed
0:05:45 [145/501/3] test_compare
0:05:46 [145/501/3] test_compare passed
0:05:46 [146/501/3] test_compile
0:05:51 [146/501/3] test_compile passed
0:05:51 [147/501/3] test_compileall
0:05:52 [147/501/3] test_compileall passed
0:05:52 [148/501/3] test_compiler_assemble
0:05:52 [148/501/3] test_compiler_assemble passed
0:05:52 [149/501/3] test_compiler_codegen
0:05:53 [149/501/3] test_compiler_codegen passed
0:05:53 [150/501/3] test_complex
0:05:54 [150/501/3] test_complex passed
0:05:54 [151/501/3] test_configparser
0:05:55 [151/501/3] test_configparser passed
0:05:55 [152/501/3] test_contains
0:05:56 [152/501/3] test_contains passed
0:05:56 [153/501/3] test_context
0:05:59 [153/501/3] test_context passed
0:05:59 [154/501/3] test_contextlib
0:06:03 [154/501/3] test_contextlib passed
0:06:03 [155/501/3] test_contextlib_async
0:06:05 [155/501/3] test_contextlib_async passed
0:06:05 [156/501/3] test_copy
0:06:10 [156/501/3] test_copy passed
0:06:10 [157/501/3] test_copyreg
0:06:12 [157/501/3] test_copyreg passed
0:06:12 [158/501/3] test_coroutines
0:06:17 [158/501/3] test_coroutines passed
0:06:17 [159/501/3] test_cppext
0:06:19 [159/501/3] test_cppext passed
0:06:19 [160/501/3] test_crossinterp
0:06:23 [160/501/3] test_crossinterp passed
0:06:23 [161/501/3] test_csv
0:06:24 [161/501/3] test_csv passed
0:06:24 [162/501/3] test_ctypes
0:06:28 [162/501/3] test_ctypes passed
0:06:28 [163/501/3] test_curses
test_curses skipped -- Use of the 'curses' resource not enabled
0:06:29 [163/501/3] test_curses skipped (resource denied)
0:06:29 [164/501/3] test_dataclasses
0:06:31 [164/501/3] test_dataclasses passed
0:06:31 [165/501/3] test_datetime
0:06:35 [165/501/3] test_datetime passed
0:06:35 [166/501/3] test_dbm
0:06:37 [166/501/3] test_dbm passed
0:06:37 [167/501/3] test_dbm_dumb
0:06:38 [167/501/3] test_dbm_dumb passed
0:06:38 [168/501/3] test_dbm_gnu
test_dbm_gnu skipped -- No module named '_gdbm'
0:06:38 [168/501/3] test_dbm_gnu skipped
0:06:38 [169/501/3] test_dbm_ndbm
test_dbm_ndbm skipped -- No module named '_dbm'
0:06:39 [169/501/3] test_dbm_ndbm skipped
0:06:39 [170/501/3] test_dbm_sqlite3
0:06:41 [170/501/3] test_dbm_sqlite3 passed
0:06:41 [171/501/3] test_decimal
C tests skipped: no module named _decimal.
0:06:45 [171/501/3] test_decimal passed
0:06:45 [172/501/3] test_decorators
0:06:46 [172/501/3] test_decorators passed
0:06:46 [173/501/3] test_defaultdict
0:06:46 [173/501/3] test_defaultdict passed
0:06:46 [174/501/3] test_deque
0:06:55 [174/501/3] test_deque passed
0:06:55 [175/501/3] test_descr
0:06:59 [175/501/3] test_descr passed
0:06:59 [176/501/3] test_descrtut
0:07:00 [176/501/3] test_descrtut passed
0:07:00 [177/501/3] test_devpoll
test_devpoll skipped -- test works only on Solaris OS family
0:07:00 [177/501/3] test_devpoll skipped
0:07:00 [178/501/3] test_dict
0:07:03 [178/501/3] test_dict passed
0:07:03 [179/501/3] test_dictcomps
0:07:04 [179/501/3] test_dictcomps passed
0:07:04 [180/501/3] test_dictviews
0:07:05 [180/501/3] test_dictviews passed
0:07:05 [181/501/3] test_difflib
0:07:07 [181/501/3] test_difflib passed
0:07:07 [182/501/3] test_dis
0:07:09 [182/501/3] test_dis passed
0:07:09 [183/501/3] test_doctest
0:07:10 [183/501/3] test_doctest passed
0:07:10 [184/501/3] test_docxmlrpc
0:07:13 [184/501/3] test_docxmlrpc passed
0:07:13 [185/501/3] test_dtrace
test_dtrace skipped -- test module requires subprocess
0:07:14 [185/501/3] test_dtrace skipped
0:07:14 [186/501/3] test_dynamic
0:07:14 [186/501/3] test_dynamic passed
0:07:14 [187/501/3] test_dynamicclassattribute
0:07:15 [187/501/3] test_dynamicclassattribute passed
0:07:15 [188/501/3] test_eintr
0:07:15 [188/501/3] test_eintr passed
0:07:15 [189/501/3] test_email
0:07:20 [189/501/3] test_email passed
0:07:20 [190/501/3] test_embed
test_embed skipped -- test module requires subprocess
0:07:20 [190/501/3] test_embed skipped
0:07:20 [191/501/3] test_ensurepip
0:07:21 [191/501/3] test_ensurepip passed
0:07:21 [192/501/3] test_enum
0:07:24 [192/501/3] test_enum passed
0:07:24 [193/501/3] test_enumerate
0:07:26 [193/501/3] test_enumerate passed
0:07:26 [194/501/3] test_eof
0:07:26 [194/501/3] test_eof passed
0:07:26 [195/501/3] test_epoll
0:07:27 [195/501/3] test_epoll passed
0:07:27 [196/501/3] test_errno
0:07:28 [196/501/3] test_errno passed
0:07:28 [197/501/3] test_except_star
0:07:28 [197/501/3] test_except_star passed
0:07:28 [198/501/3] test_exception_group
0:07:30 [198/501/3] test_exception_group passed
0:07:30 [199/501/3] test_exception_hierarchy
0:07:31 [199/501/3] test_exception_hierarchy passed
0:07:31 [200/501/3] test_exception_variations
0:07:31 [200/501/3] test_exception_variations passed
0:07:31 [201/501/3] test_exceptions
0:07:37 [201/501/3] test_exceptions passed
0:07:37 [202/501/3] test_extcall
0:07:38 [202/501/3] test_extcall passed
0:07:38 [203/501/3] test_external_inspection
0:07:39 [203/501/3] test_external_inspection passed
0:07:39 [204/501/3] test_faulthandler
test_faulthandler skipped -- test module requires subprocess
0:07:39 [204/501/3] test_faulthandler skipped
0:07:39 [205/501/3] test_fcntl
0:07:40 [205/501/3] test_fcntl passed
0:07:40 [206/501/3] test_file_eintr
test_file_eintr skipped -- test module requires subprocess
0:07:40 [206/501/3] test_file_eintr skipped
0:07:40 [207/501/3] test_filecmp
0:07:41 [207/501/3] test_filecmp passed
0:07:41 [208/501/3] test_fileinput
0:07:42 [208/501/3] test_fileinput passed
0:07:42 [209/501/3] test_fileutils
0:07:43 [209/501/3] test_fileutils passed
0:07:43 [210/501/3] test_finalization
0:07:48 [210/501/3] test_finalization passed
0:07:48 [211/501/3] test_float
0:07:49 [211/501/3] test_float passed
0:07:49 [212/501/3] test_flufl
0:07:50 [212/501/3] test_flufl passed
0:07:50 [213/501/3] test_fnmatch
0:07:51 [213/501/3] test_fnmatch passed
0:07:51 [214/501/3] test_fork1
test_fork1 skipped -- test module requires working os.fork
0:07:51 [214/501/3] test_fork1 skipped
0:07:51 [215/501/3] test_format
0:07:52 [215/501/3] test_format passed
0:07:52 [216/501/3] test_fractions
0:07:53 [216/501/3] test_fractions passed
0:07:53 [217/501/3] test_frame
0:07:56 [217/501/3] test_frame passed
0:07:56 [218/501/3] test_frame_pointer_unwind
test_frame_pointer_unwind skipped -- test requires subprocess support
0:07:57 [218/501/3] test_frame_pointer_unwind skipped
0:07:57 [219/501/3] test_free_threading
test_free_threading skipped -- GIL enabled
0:07:57 [219/501/3] test_free_threading skipped
0:07:57 [220/501/3] test_frozen
0:07:58 [220/501/3] test_frozen passed
0:07:58 [221/501/3] test_fstring
0:08:28 [221/501/3] test_fstring passed
0:08:28 [222/501/3] test_ftplib
0:08:31 [222/501/3] test_ftplib passed
0:08:31 [223/501/3] test_funcattrs
0:08:32 [223/501/3] test_funcattrs passed
0:08:32 [224/501/3] test_functools
0:08:36 [224/501/3] test_functools passed
0:08:36 [225/501/3] test_gc
0:08:48 [225/501/3] test_gc passed
0:08:48 [226/501/3] test_generated_cases
test_generated_cases skipped -- test module requires subprocess
0:08:48 [226/501/3] test_generated_cases skipped
0:08:48 [227/501/3] test_generator_stop
0:08:49 [227/501/3] test_generator_stop passed
0:08:49 [228/501/3] test_generators
0:08:51 [228/501/3] test_generators passed
0:08:51 [229/501/3] test_genericalias
0:08:52 [229/501/3] test_genericalias passed
0:08:52 [230/501/3] test_genericclass
0:08:53 [230/501/3] test_genericclass passed
0:08:53 [231/501/3] test_genericpath
0:08:53 [231/501/3] test_genericpath passed
0:08:53 [232/501/3] test_genexps
0:08:54 [232/501/3] test_genexps passed
0:08:54 [233/501/3] test_getopt
test_getopt skipped -- test module requires subprocess
0:08:55 [233/501/3] test_getopt skipped
0:08:55 [234/501/3] test_getpass
0:08:55 [234/501/3] test_getpass passed
0:08:55 [235/501/3] test_getpath
0:08:56 [235/501/3] test_getpath passed
0:08:56 [236/501/3] test_gettext
0:08:57 [236/501/3] test_gettext passed
0:08:57 [237/501/3] test_glob
0:08:58 [237/501/3] test_glob passed
0:08:58 [238/501/3] test_global
0:08:59 [238/501/3] test_global passed
0:08:59 [239/501/3] test_grammar
0:08:59 [239/501/3] test_grammar passed
0:08:59 [240/501/3] test_graphlib
0:09:00 [240/501/3] test_graphlib passed
0:09:00 [241/501/3] test_grp
test_grp skipped -- No module named 'grp'
0:09:01 [241/501/3] test_grp skipped
0:09:01 [242/501/3] test_gzip
0:09:03 [242/501/3] test_gzip passed
0:09:03 [243/501/3] test_hash
0:09:03 [243/501/3] test_hash passed
0:09:03 [244/501/3] test_hashlib
0:09:07 [244/501/3] test_hashlib passed
0:09:07 [245/501/3] test_heapq
0:09:09 [245/501/3] test_heapq passed
0:09:09 [246/501/3] test_hmac
0:09:10 [246/501/3] test_hmac passed
0:09:10 [247/501/3] test_html
0:09:10 [247/501/3] test_html passed
0:09:10 [248/501/3] test_htmlparser
0:09:11 [248/501/3] test_htmlparser passed
0:09:11 [249/501/3] test_http_cookiejar
0:09:13 [249/501/3] test_http_cookiejar passed
0:09:13 [250/501/3] test_http_cookies
0:09:13 [250/501/3] test_http_cookies passed
0:09:13 [251/501/3] test_httplib
0:09:15 [251/501/3] test_httplib passed
0:09:15 [252/501/3] test_httpservers
0:09:19 [252/501/3] test_httpservers passed
0:09:19 [253/501/3] test_idle
test_idle skipped -- No module named '_tkinter'
0:09:20 [253/501/3] test_idle skipped
0:09:20 [254/501/3] test_imaplib
0:09:48 [254/501/3] test_imaplib passed
0:09:48 [255/501/3] test_import
0:09:53 [255/501/3] test_import passed
0:09:53 [256/501/3] test_importlib
0:10:04 [256/501/3] test_importlib passed
0:10:04 [257/501/3] test_index
0:10:05 [257/501/3] test_index passed
0:10:05 [258/501/3] test_int
0:10:08 [258/501/3] test_int passed
0:10:08 [259/501/3] test_int_literal
0:10:09 [259/501/3] test_int_literal passed
0:10:09 [260/501/3] test_interpreters
0:10:45 [260/501/3] test_interpreters passed in 35.7 sec
0:10:45 [261/501/3] test_ioctl
0:10:47 [261/501/3] test_ioctl passed
0:10:47 [262/501/3] test_ipaddress
0:10:51 [262/501/3] test_ipaddress passed
0:10:51 [263/501/3] test_isinstance
0:10:55 [263/501/3] test_isinstance passed
0:10:55 [264/501/3] test_iter
0:10:59 [264/501/3] test_iter passed
0:10:59 [265/501/3] test_iterlen
0:11:00 [265/501/3] test_iterlen passed
0:11:00 [266/501/3] test_itertools
0:11:05 [266/501/3] test_itertools passed
0:11:05 [267/501/3] test_json
0:11:07 [267/501/3] test_json passed
0:11:07 [268/501/3] test_keyword
0:11:08 [268/501/3] test_keyword passed
0:11:08 [269/501/3] test_keywordonlyarg
0:11:09 [269/501/3] test_keywordonlyarg passed
0:11:09 [270/501/3] test_kqueue
test_kqueue skipped -- test works only on BSD
0:11:09 [270/501/3] test_kqueue skipped
0:11:09 [271/501/3] test_launcher
test_launcher skipped -- test only applies to Windows
0:11:10 [271/501/3] test_launcher skipped
0:11:10 [272/501/3] test_lazy_import
BAR_MODULE_LOADED
0:11:11 [272/501/3] test_lazy_import passed
0:11:11 [273/501/3] test_linecache
0:11:12 [273/501/3] test_linecache passed
0:11:12 [274/501/3] test_list
0:11:13 [274/501/3] test_list passed
0:11:13 [275/501/3] test_listcomps
0:11:14 [275/501/3] test_listcomps passed
0:11:14 [276/501/3] test_lltrace
0:11:15 [276/501/3] test_lltrace passed
0:11:15 [277/501/3] test_locale
0:11:16 [277/501/3] test_locale passed
0:11:16 [278/501/3] test_logging
0:11:33 [278/501/3] test_logging passed
0:11:33 [279/501/3] test_long
0:11:46 [279/501/3] test_long passed
0:11:46 [280/501/3] test_longexp
0:11:47 [280/501/3] test_longexp passed
0:11:47 [281/501/3] test_lzma
0:11:49 [281/501/3] test_lzma passed
0:11:49 [282/501/3] test_mailbox
0:11:54 [282/501/3] test_mailbox passed
0:11:54 [283/501/3] test_marshal
0:11:55 [283/501/3] test_marshal passed
0:11:55 [284/501/3] test_math
test test_math failed -- Traceback (most recent call last):
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/test/test_math.py", line 2739, in test_fma_zero_result
self.assertIsNegativeZero(math.fma(x-y, x+y, -z))
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/test/test_math.py", line 2844, in assertIsNegativeZero
self.assertTrue(
~~~~~~~~~~~~~~~^
value == 0 and math.copysign(1, value) < 0,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
msg="Expected a negative zero, got {!r}".format(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
AssertionError: False is not true : Expected a negative zero, got 0.0
0:11:59 [284/501/4] test_math failed (1 failure)
0:11:59 [285/501/4] test_math_integer
0:12:02 [285/501/4] test_math_integer passed
0:12:02 [286/501/4] test_math_property
0:12:03 [286/501/4] test_math_property passed
0:12:03 [287/501/4] test_memoryview
0:12:08 [287/501/4] test_memoryview passed
0:12:08 [288/501/4] test_metaclass
0:12:08 [288/501/4] test_metaclass passed
0:12:08 [289/501/4] test_mimetypes
0:12:09 [289/501/4] test_mimetypes passed
0:12:09 [290/501/4] test_minidom
0:12:10 [290/501/4] test_minidom passed
0:12:10 [291/501/4] test_mmap
0:12:11 [291/501/4] test_mmap passed
0:12:11 [292/501/4] test_module
0:12:13 [292/501/4] test_module passed
0:12:13 [293/501/4] test_modulefinder
0:12:15 [293/501/4] test_modulefinder passed
0:12:15 [294/501/4] test_monitoring
0:12:16 [294/501/4] test_monitoring passed
0:12:16 [295/501/4] test_msvcrt
test_msvcrt skipped -- windows related tests
0:12:17 [295/501/4] test_msvcrt skipped
0:12:17 [296/501/4] test_multibytecodec
0:12:18 [296/501/4] test_multibytecodec passed
0:12:18 [297/501/4] test_multiprocessing_main_handling
test_multiprocessing_main_handling skipped -- No module named '_multiprocessing'
0:12:18 [297/501/4] test_multiprocessing_main_handling skipped
0:12:18 [298/501/4] test_named_expressions
0:12:19 [298/501/4] test_named_expressions passed
0:12:19 [299/501/4] test_netrc
0:12:20 [299/501/4] test_netrc passed
0:12:20 [300/501/4] test_ntpath
0:12:21 [300/501/4] test_ntpath passed
0:12:21 [301/501/4] test_nturl2path
0:12:21 [301/501/4] test_nturl2path passed
0:12:21 [302/501/4] test_numeric_tower
0:12:23 [302/501/4] test_numeric_tower passed
0:12:23 [303/501/4] test_opcache
0:12:28 [303/501/4] test_opcache passed
0:12:28 [304/501/4] test_opcodes
0:12:29 [304/501/4] test_opcodes passed
0:12:29 [305/501/4] test_openpty
0:12:30 [305/501/4] test_openpty passed
0:12:30 [306/501/4] test_operator
0:12:31 [306/501/4] test_operator passed
0:12:31 [307/501/4] test_optimizer
0:12:31 [307/501/4] test_optimizer passed
0:12:31 [308/501/4] test_optparse
test_optparse skipped -- test module requires subprocess
0:12:32 [308/501/4] test_optparse skipped
0:12:32 [309/501/4] test_ordered_dict
0:12:40 [309/501/4] test_ordered_dict passed
0:12:40 [310/501/4] test_osx_env
0:12:41 [310/501/4] test_osx_env passed
0:12:41 [311/501/4] test_pathlib
0:12:46 [311/501/4] test_pathlib passed
0:12:46 [312/501/4] test_patma
0:12:47 [312/501/4] test_patma passed
0:12:47 [313/501/4] test_pdb
0:13:02 [313/501/4] test_pdb passed
0:13:02 [314/501/4] test_peepholer
0:13:03 [314/501/4] test_peepholer passed
0:13:03 [315/501/4] test_peg_generator
test_peg_generator skipped -- Use of the 'cpu' resource not enabled
0:13:04 [315/501/4] test_peg_generator skipped (resource denied)
0:13:04 [316/501/4] test_pep646_syntax
0:13:04 [316/501/4] test_pep646_syntax passed
0:13:04 [317/501/4] test_perf_profiler
test_perf_profiler skipped -- test module requires subprocess
0:13:05 [317/501/4] test_perf_profiler skipped
0:13:05 [318/501/4] test_perfmaps
test_perfmaps skipped -- perf trampoline profiling not supported
0:13:05 [318/501/4] test_perfmaps skipped
0:13:05 [319/501/4] test_pickle
0:13:21 [319/501/4] test_pickle passed
0:13:21 [320/501/4] test_picklebuffer
0:13:22 [320/501/4] test_picklebuffer passed
0:13:22 [321/501/4] test_pickletools
0:13:24 [321/501/4] test_pickletools passed
0:13:24 [322/501/4] test_pkg
0:13:25 [322/501/4] test_pkg passed
0:13:25 [323/501/4] test_pkgutil
0:13:26 [323/501/4] test_pkgutil passed
0:13:26 [324/501/4] test_platform
0:13:27 [324/501/4] test_platform passed
0:13:27 [325/501/4] test_plistlib
0:13:28 [325/501/4] test_plistlib passed
0:13:28 [326/501/4] test_poll
0:13:30 [326/501/4] test_poll passed
0:13:30 [327/501/4] test_popen
0:13:31 [327/501/4] test_popen passed
0:13:31 [328/501/4] test_poplib
0:13:41 [328/501/4] test_poplib passed
0:13:41 [329/501/4] test_positional_only_arg
0:13:42 [329/501/4] test_positional_only_arg passed
0:13:42 [330/501/4] test_posixpath
0:13:42 [330/501/4] test_posixpath passed
0:13:42 [331/501/4] test_pow
0:13:45 [331/501/4] test_pow passed
0:13:45 [332/501/4] test_pprint
0:13:46 [332/501/4] test_pprint passed
0:13:46 [333/501/4] test_print
0:13:48 [333/501/4] test_print passed
0:13:48 [334/501/4] test_profile
0:13:48 [334/501/4] test_profile passed
0:13:48 [335/501/4] test_profiling
0:13:54 [335/501/4] test_profiling passed
0:13:54 [336/501/4] test_property
0:13:55 [336/501/4] test_property passed
0:13:55 [337/501/4] test_pstats
0:13:56 [337/501/4] test_pstats passed
0:13:56 [338/501/4] test_pty
test_pty skipped -- pty is not available on this platform
0:13:56 [338/501/4] test_pty skipped
0:13:56 [339/501/4] test_pulldom
0:13:57 [339/501/4] test_pulldom passed
0:13:57 [340/501/4] test_pwd
0:13:58 [340/501/4] test_pwd passed
0:13:58 [341/501/4] test_py_compile
0:13:59 [341/501/4] test_py_compile passed
0:13:59 [342/501/4] test_pyclbr
0:14:02 [342/501/4] test_pyclbr passed
0:14:02 [343/501/4] test_pyexpat
0:14:03 [343/501/4] test_pyexpat passed
0:14:03 [344/501/4] test_pyrepl
0:14:09 [344/501/4] test_pyrepl passed
0:14:09 [345/501/4] test_pystats
0:14:09 [345/501/4] test_pystats passed
0:14:09 [346/501/4] test_queue
0:14:38 [346/501/4] test_queue passed
0:14:38 [347/501/4] test_quopri
0:14:39 [347/501/4] test_quopri passed
0:14:39 [348/501/4] test_raise
0:14:40 [348/501/4] test_raise passed
0:14:40 [349/501/4] test_random
0:14:45 [349/501/4] test_random passed
0:14:45 [350/501/4] test_range
0:14:47 [350/501/4] test_range passed
0:14:47 [351/501/4] test_re
0:14:49 [351/501/4] test_re passed
0:14:49 [352/501/4] test_readline
test_readline skipped -- No module named 'readline'
0:14:50 [352/501/4] test_readline skipped
0:14:50 [353/501/4] test_regrtest
test_regrtest skipped -- test module requires subprocess
0:14:50 [353/501/4] test_regrtest skipped
0:14:50 [354/501/4] test_remote_pdb
test
0:14:51 [354/501/4] test_remote_pdb passed
0:14:51 [355/501/4] test_repl
test_repl skipped -- test module requires subprocess
0:14:52 [355/501/4] test_repl skipped
0:14:52 [356/501/4] test_reprlib
0:14:53 [356/501/4] test_reprlib passed
0:14:53 [357/501/4] test_resource
0:14:54 [357/501/4] test_resource passed
0:14:54 [358/501/4] test_richcmp
0:14:55 [358/501/4] test_richcmp passed
0:14:55 [359/501/4] test_rlcompleter
0:14:56 [359/501/4] test_rlcompleter passed
0:14:56 [360/501/4] test_robotparser
0:14:57 [360/501/4] test_robotparser passed
0:14:57 [361/501/4] test_runpy
0:14:58 [361/501/4] test_runpy passed
0:14:58 [362/501/4] test_samply_profiler
test_samply_profiler skipped -- test module requires subprocess
0:14:59 [362/501/4] test_samply_profiler skipped
0:14:59 [363/501/4] test_sax
0:15:00 [363/501/4] test_sax passed
0:15:00 [364/501/4] test_sched
0:15:01 [364/501/4] test_sched passed
0:15:01 [365/501/4] test_scope
0:15:03 [365/501/4] test_scope passed
0:15:03 [366/501/4] test_script_helper
0:15:04 [366/501/4] test_script_helper passed
0:15:04 [367/501/4] test_secrets
0:15:05 [367/501/4] test_secrets passed
0:15:05 [368/501/4] test_select
0:15:08 [368/501/4] test_select passed
0:15:08 [369/501/4] test_selectors
0:15:24 [369/501/4] test_selectors passed
0:15:24 [370/501/4] test_set
0:15:33 [370/501/4] test_set passed
0:15:33 [371/501/4] test_setcomps
0:15:34 [371/501/4] test_setcomps passed
0:15:34 [372/501/4] test_shelve
0:15:44 [372/501/4] test_shelve passed
0:15:44 [373/501/4] test_shlex
0:15:45 [373/501/4] test_shlex passed
0:15:45 [374/501/4] test_shutil
0:15:47 [374/501/4] test_shutil passed
0:15:47 [375/501/4] test_signal
0:15:53 [375/501/4] test_signal passed
0:15:53 [376/501/4] test_site
0:15:54 [376/501/4] test_site passed
0:15:54 [377/501/4] test_slice
0:15:55 [377/501/4] test_slice passed
0:15:55 [378/501/4] test_smtplib
0:15:58 [378/501/4] test_smtplib passed
0:15:58 [379/501/4] test_smtpnet
test_smtpnet skipped -- Use of the 'network' resource not enabled
0:15:59 [379/501/4] test_smtpnet skipped (resource denied)
0:15:59 [380/501/4] test_socket
0:19:00 [380/501/4] test_socket passed in 3 min
0:19:00 [381/501/4] test_socketserver
test_socketserver skipped -- Use of the 'network' resource not enabled
0:19:00 [381/501/4] test_socketserver skipped (resource denied)
0:19:00 [382/501/4] test_sort
0:19:01 [382/501/4] test_sort passed
0:19:01 [383/501/4] test_source_encoding
0:19:02 [383/501/4] test_source_encoding passed
0:19:02 [384/501/4] test_sqlite3
0:19:06 [384/501/4] test_sqlite3 passed
0:19:06 [385/501/4] test_ssl
0:19:36 [385/501/4] test_ssl passed in 30.1 sec
0:19:36 [386/501/4] test_stable_abi_ctypes
0:19:37 [386/501/4] test_stable_abi_ctypes passed
0:19:37 [387/501/4] test_startfile
test_startfile skipped -- object <module 'os' (frozen)> has no attribute 'startfile'
0:19:37 [387/501/4] test_startfile skipped
0:19:37 [388/501/4] test_stat
0:19:38 [388/501/4] test_stat passed
0:19:38 [389/501/4] test_statistics
0:19:45 [389/501/4] test_statistics passed
0:19:45 [390/501/4] test_str
0:19:52 [390/501/4] test_str passed
0:19:52 [391/501/4] test_strftime
0:19:53 [391/501/4] test_strftime passed
0:19:53 [392/501/4] test_string
0:19:54 [392/501/4] test_string passed
0:19:54 [393/501/4] test_string_literals
0:19:55 [393/501/4] test_string_literals passed
0:19:55 [394/501/4] test_stringprep
0:19:56 [394/501/4] test_stringprep passed
0:19:56 [395/501/4] test_strptime
0:19:57 [395/501/4] test_strptime passed
0:19:57 [396/501/4] test_strtod
0:20:00 [396/501/4] test_strtod passed
0:20:00 [397/501/4] test_struct
0:20:02 [397/501/4] test_struct passed
0:20:02 [398/501/4] test_structseq
0:20:03 [398/501/4] test_structseq passed
0:20:03 [399/501/4] test_subclassinit
0:20:04 [399/501/4] test_subclassinit passed
0:20:04 [400/501/4] test_subprocess
test_subprocess skipped -- test module requires subprocess
0:20:04 [400/501/4] test_subprocess skipped
0:20:04 [401/501/4] test_sundry
0:20:05 [401/501/4] test_sundry passed
0:20:05 [402/501/4] test_super
0:20:06 [402/501/4] test_super passed
0:20:06 [403/501/4] test_support
0:20:08 [403/501/4] test_support passed
0:20:08 [404/501/4] test_symtable
0:20:09 [404/501/4] test_symtable passed
0:20:09 [405/501/4] test_syntax
0:20:10 [405/501/4] test_syntax passed
0:20:10 [406/501/4] test_sys
0:20:12 [406/501/4] test_sys passed
0:20:12 [407/501/4] test_sys_setprofile
0:20:13 [407/501/4] test_sys_setprofile passed
0:20:13 [408/501/4] test_sys_settrace
0:20:16 [408/501/4] test_sys_settrace passed
0:20:16 [409/501/4] test_sysconfig
test test_sysconfig failed -- multiple errors occurred; run in verbose mode for details
0:20:17 [409/501/5] test_sysconfig failed (3 errors)
0:20:17 [410/501/5] test_syslog
0:20:19 [410/501/5] test_syslog passed
0:20:19 [411/501/5] test_tabnanny
0:20:20 [411/501/5] test_tabnanny passed
0:20:20 [412/501/5] test_tarfile
0:20:46 [412/501/5] test_tarfile passed
0:20:46 [413/501/5] test_tcl
test_tcl skipped -- No module named '_tkinter'
0:20:47 [413/501/5] test_tcl skipped
0:20:47 [414/501/5] test_tempfile
0:20:49 [414/501/5] test_tempfile passed
0:20:49 [415/501/5] test_termios
test test_termios failed -- Traceback (most recent call last):
File "/data/user/0/org.python.testbed/files/python/lib/python3.15/test/test_termios.py", line 64, in test_tcsetattr
termios.tcsetattr(self.fd, termios.TCSAFLUSH, attrs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
termios.error: (13, 'Permission denied')
0:20:50 [415/501/6] test_termios failed (1 error)
0:20:50 [416/501/6] test_textwrap
0:20:51 [416/501/6] test_textwrap passed
0:20:51 [417/501/6] test_thread
0:21:01 [417/501/6] test_thread passed
0:21:01 [418/501/6] test_thread_local_bytecode
0:21:01 [418/501/6] test_thread_local_bytecode passed
0:21:01 [419/501/6] test_threadedtempfile
0:21:02 [419/501/6] test_threadedtempfile passed
0:21:02 [420/501/6] test_threading
0:21:35 [420/501/6] test_threading passed in 32.5 sec
0:21:35 [421/501/6] test_threading_local
0:21:41 [421/501/6] test_threading_local passed
0:21:41 [422/501/6] test_threadsignals
0:21:48 [422/501/6] test_threadsignals passed
0:21:48 [423/501/6] test_time
0:21:52 [423/501/6] test_time passed
0:21:52 [424/501/6] test_timeit
0:21:53 [424/501/6] test_timeit passed
0:21:53 [425/501/6] test_timeout
0:21:54 [425/501/6] test_timeout passed
0:21:54 [426/501/6] test_tkinter
test_tkinter skipped -- No module named '_tkinter'
0:21:55 [426/501/6] test_tkinter skipped
0:21:55 [427/501/6] test_tokenize
0:21:57 [427/501/6] test_tokenize passed
0:21:57 [428/501/6] test_tomllib
0:21:58 [428/501/6] test_tomllib passed
0:21:58 [429/501/6] test_tools
test_tools skipped -- test module requires subprocess
0:21:58 [429/501/6] test_tools skipped
0:21:58 [430/501/6] test_trace
0:22:01 [430/501/6] test_trace passed
0:22:01 [431/501/6] test_traceback
0:22:04 [431/501/6] test_traceback passed
0:22:04 [432/501/6] test_tracemalloc
0:22:05 [432/501/6] test_tracemalloc passed
0:22:05 [433/501/6] test_tstring
0:22:06 [433/501/6] test_tstring passed
0:22:06 [434/501/6] test_ttk
test_ttk skipped -- No module named '_tkinter'
0:22:07 [434/501/6] test_ttk skipped
0:22:07 [435/501/6] test_ttk_textonly
test_ttk_textonly skipped -- No module named '_tkinter'
0:22:07 [435/501/6] test_ttk_textonly skipped
0:22:07 [436/501/6] test_tty
test test_tty failed -- multiple errors occurred; run in verbose mode for details
0:22:08 [436/501/7] test_tty failed (6 errors)
0:22:08 [437/501/7] test_tuple
0:22:28 [437/501/7] test_tuple passed
0:22:28 [438/501/7] test_turtle
test_turtle skipped -- No module named '_tkinter'
0:22:29 [438/501/7] test_turtle skipped
0:22:29 [439/501/7] test_type_aliases
0:22:30 [439/501/7] test_type_aliases passed
0:22:30 [440/501/7] test_type_annotations
0:22:31 [440/501/7] test_type_annotations passed
0:22:31 [441/501/7] test_type_cache
0:22:32 [441/501/7] test_type_cache passed
0:22:32 [442/501/7] test_type_comments
0:22:33 [442/501/7] test_type_comments passed
0:22:33 [443/501/7] test_type_params
<test string>:2: SyntaxWarning: invalid decimal literal
0:22:34 [443/501/7] test_type_params passed
0:22:34 [444/501/7] test_typechecks
0:22:35 [444/501/7] test_typechecks passed
0:22:35 [445/501/7] test_types
0:22:36 [445/501/7] test_types passed
0:22:36 [446/501/7] test_typing
0:22:38 [446/501/7] test_typing passed
0:22:38 [447/501/7] test_ucn
0:22:39 [447/501/7] test_ucn passed
0:22:39 [448/501/7] test_unary
0:22:40 [448/501/7] test_unary passed
0:22:40 [449/501/7] test_unicode_file
0:22:41 [449/501/7] test_unicode_file passed
0:22:41 [450/501/7] test_unicode_file_functions
0:22:42 [450/501/7] test_unicode_file_functions passed
0:22:42 [451/501/7] test_unicode_identifiers
0:22:43 [451/501/7] test_unicode_identifiers passed
0:22:43 [452/501/7] test_unicodedata
0:22:49 [452/501/7] test_unicodedata passed
0:22:49 [453/501/7] test_unittest
0:23:10 [453/501/7] test_unittest passed
0:23:10 [454/501/7] test_unpack
0:23:11 [454/501/7] test_unpack passed
0:23:11 [455/501/7] test_unpack_ex
0:23:12 [455/501/7] test_unpack_ex passed
0:23:12 [456/501/7] test_unparse
0:23:16 [456/501/7] test_unparse passed
0:23:16 [457/501/7] test_urllib
0:23:17 [457/501/7] test_urllib passed
0:23:17 [458/501/7] test_urllib2
0:23:18 [458/501/7] test_urllib2 passed
0:23:18 [459/501/7] test_urllib2_localnet
0:23:22 [459/501/7] test_urllib2_localnet passed
0:23:22 [460/501/7] test_urllib2net
test_urllib2net skipped -- Use of the 'network' resource not enabled
0:23:23 [460/501/7] test_urllib2net skipped (resource denied)
0:23:23 [461/501/7] test_urllib_response
0:23:24 [461/501/7] test_urllib_response passed
0:23:24 [462/501/7] test_urllibnet
test_urllibnet skipped -- Use of the 'network' resource not enabled
0:23:24 [462/501/7] test_urllibnet skipped (resource denied)
0:23:24 [463/501/7] test_urlparse
0:23:26 [463/501/7] test_urlparse passed
0:23:26 [464/501/7] test_userdict
0:23:28 [464/501/7] test_userdict passed
0:23:28 [465/501/7] test_userlist
0:23:30 [465/501/7] test_userlist passed
0:23:30 [466/501/7] test_userstring
0:23:36 [466/501/7] test_userstring passed
0:23:36 [467/501/7] test_utf8_mode
0:23:37 [467/501/7] test_utf8_mode passed
0:23:37 [468/501/7] test_utf8source
0:23:38 [468/501/7] test_utf8source passed
0:23:38 [469/501/7] test_uuid
0:23:40 [469/501/7] test_uuid passed
0:23:40 [470/501/7] test_venv
test_venv skipped -- venv is not available on this platform
0:23:41 [470/501/7] test_venv skipped
0:23:41 [471/501/7] test_wait3
test_wait3 skipped -- requires working os.fork()
0:23:41 [471/501/7] test_wait3 skipped
0:23:41 [472/501/7] test_wait4
test_wait4 skipped -- requires working os.fork()
0:23:42 [472/501/7] test_wait4 skipped
0:23:42 [473/501/7] test_warnings
0:23:43 [473/501/7] test_warnings passed
0:23:43 [474/501/7] test_wave
0:23:44 [474/501/7] test_wave passed
0:23:44 [475/501/7] test_weakref
0:24:59 [475/501/7] test_weakref passed in 1 min 14 sec
0:24:59 [476/501/7] test_weakset
0:25:02 [476/501/7] test_weakset passed
0:25:02 [477/501/7] test_webbrowser
0:25:03 [477/501/7] test_webbrowser passed
0:25:03 [478/501/7] test_winapi
test_winapi skipped -- No module named '_winapi'
0:25:04 [478/501/7] test_winapi skipped
0:25:04 [479/501/7] test_winconsoleio
test_winconsoleio skipped -- test only relevant on win32
0:25:04 [479/501/7] test_winconsoleio skipped
0:25:04 [480/501/7] test_winreg
test_winreg skipped -- No module named 'winreg'
0:25:05 [480/501/7] test_winreg skipped
0:25:05 [481/501/7] test_winsound
test_winsound skipped -- Use of the 'audio' resource not enabled
0:25:06 [481/501/7] test_winsound skipped (resource denied)
0:25:06 [482/501/7] test_with
0:25:07 [482/501/7] test_with passed
0:25:07 [483/501/7] test_wmi
test_wmi skipped -- No module named '_wmi'
0:25:07 [483/501/7] test_wmi skipped
0:25:07 [484/501/7] test_wsgiref
0:25:09 [484/501/7] test_wsgiref passed
0:25:09 [485/501/7] test_xml_dom_minicompat
0:25:10 [485/501/7] test_xml_dom_minicompat passed
0:25:10 [486/501/7] test_xml_dom_xmlbuilder
0:25:11 [486/501/7] test_xml_dom_xmlbuilder passed
0:25:11 [487/501/7] test_xml_etree
0:25:18 [487/501/7] test_xml_etree passed
0:25:18 [488/501/7] test_xml_etree_c
0:25:28 [488/501/7] test_xml_etree_c passed
0:25:28 [489/501/7] test_xmlrpc
0:25:29 [489/501/7] test_xmlrpc passed
0:25:29 [490/501/7] test_xpickle
test_xpickle skipped -- Use of the 'xpickle' resource not enabled
0:25:30 [490/501/7] test_xpickle skipped (resource denied)
0:25:30 [491/501/7] test_xxlimited
0:25:31 [491/501/7] test_xxlimited passed
0:25:31 [492/501/7] test_xxtestfuzz
0:25:32 [492/501/7] test_xxtestfuzz passed
0:25:32 [493/501/7] test_yield_from
0:25:33 [493/501/7] test_yield_from passed
0:25:33 [494/501/7] test_zipapp
0:25:35 [494/501/7] test_zipapp passed
0:25:35 [495/501/7] test_zipfile
0:26:40 [495/501/7] test_zipfile passed in 1 min 5 sec
0:26:40 [496/501/7] test_zipfile64
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
0:26:40 [496/501/7] test_zipfile64 skipped (resource denied)
0:26:40 [497/501/7] test_zipimport
0:26:42 [497/501/7] test_zipimport passed
0:26:42 [498/501/7] test_zipimport_support
0:26:43 [498/501/7] test_zipimport_support passed
0:26:43 [499/501/7] test_zlib
0:26:45 [499/501/7] test_zlib passed
0:26:45 [500/501/7] test_zoneinfo
0:26:47 [500/501/7] test_zoneinfo passed
0:26:47 [501/501/7] test_zstd
0:26:50 [501/501/7] test_zstd passed
== Tests result: FAILURE ==
68 tests skipped:
test.test_asyncio.test_subprocess
test.test_asyncio.test_windows_events
test.test_asyncio.test_windows_utils test.test_gdb.test_backtrace
test.test_gdb.test_cfunction test.test_gdb.test_cfunction_full
test.test_gdb.test_misc test.test_gdb.test_pretty_print
test.test_multiprocessing_fork.test_manager
test.test_multiprocessing_fork.test_misc
test.test_multiprocessing_fork.test_processes
test.test_multiprocessing_fork.test_threads
test.test_multiprocessing_forkserver.test_manager
test.test_multiprocessing_forkserver.test_misc
test.test_multiprocessing_forkserver.test_preload
test.test_multiprocessing_forkserver.test_processes
test.test_multiprocessing_forkserver.test_threads
test.test_multiprocessing_spawn.test_manager
test.test_multiprocessing_spawn.test_misc
test.test_multiprocessing_spawn.test_processes
test.test_multiprocessing_spawn.test_threads
test.test_os.test_windows test_apple test_argparse
test_asdl_parser test_clinic test_cmd_line test_dbm_gnu
test_dbm_ndbm test_devpoll test_dtrace test_embed
test_faulthandler test_file_eintr test_fork1
test_frame_pointer_unwind test_free_threading test_generated_cases
test_getopt test_grp test_idle test_kqueue test_launcher
test_msvcrt test_multiprocessing_main_handling test_optparse
test_perf_profiler test_perfmaps test_pty test_readline
test_regrtest test_repl test_samply_profiler test_startfile
test_subprocess test_tcl test_tkinter test_tools test_ttk
test_ttk_textonly test_turtle test_venv test_wait3 test_wait4
test_winapi test_winconsoleio test_winreg test_wmi
9 tests skipped (resource denied):
test_curses test_peg_generator test_smtpnet test_socketserver
test_urllib2net test_urllibnet test_winsound test_xpickle
test_zipfile64
7 tests failed:
test.test_asyncio.test_events test_android test_build_details
test_math test_sysconfig test_termios test_tty
417 tests OK.
Total duration: 26 min 50 sec
Total tests: run=43,234 failures=3 skipped=4,024
Total test files: run=492/501 failed=7 skipped=68 resource_denied=9
Result: FAILURE
Command "/home/tacokoneko/code/python/testbed/gradlew --console plain connectedDebugAndroidTest '-Pandroid.testInstrumentationRunnerArguments.pythonArgs=["-m", "test"]'" returned exit status 1
In light of this new information, what I'm wondering now is, should I proceed one step at a time and keep my current PR unchanged, then follow up with another PR to add these other changes for the codepath of building for 32-bit ARM Android in general using the official CPython for Android build system afterward, or should I combine all the changes that seem to have been necessary so far into a single PR? mhsmith commented on Mar 23, 2026
should I proceed one step at a time and keep my current PR unchanged, then follow up with another PR to add these other changes for the codepath of building for 32-bit ARM Android in general
Yes, please do that. I think Python is unlikely to make 32-bit ARM Android an officially supported platform due to the difficulty of automatically testing it (see PEP 738), but we're happy to accept anything that makes it easier for downstream projects to use it. added a commit that references this issue on Mar 26, 2026gh-145616: Detect Android sysconfig ABI correctly on 32-bit ARM Andro…
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|