homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: android: test_distutils fails
Type: behavior Stage: resolved
Components: Tests Versions: Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: xdegaye Nosy List: Alex.Willmer, dstufft, eric.araujo, python-dev, xdegaye
Priority: normal Keywords: patch

Created on 2016年05月03日 14:25 by xdegaye, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
test_output.txt xdegaye, 2016年05月03日 14:24 test results
cross-compiled-skip.patch xdegaye, 2016年05月06日 08:08 skip some tests when interpreter was cross-compiled review
android-sh-path.patch xdegaye, 2016年05月06日 08:15 use /system/bin/sh on android review
android-sh-path_2.patch xdegaye, 2016年05月20日 09:41 review
cross-compiled-skip_2.patch xdegaye, 2016年11月04日 08:15 review
Messages (7)
msg264732 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年05月03日 14:24
test_distutils fails on an android emulator running an x86 system image at API level 21.
See the attached test_output.txt file.
Some of these failed tests could be skipped, supposing that native compilation of extension modules on android itself (as opposed to using cross-compilation) is not supported.
msg264944 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年05月06日 08:05
The last two failed tests:
 test_sysconfig_compiler_vars
 test_sysconfig_module
are caused by LDFLAGS being set in the environment both when configure is run and when make is run.
Removing LDFLAGS from the environment when running make fixes these tests.
msg264945 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年05月06日 08:08
The attached patch skips some tests when the interpreter was cross-compiled. When the interpreter has been cross-compiled, there is probably no compiler on the host system.
msg264946 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年05月06日 08:15
On android, the shell path is /system/bin/sh. The attached patch fixes this, assuming that there is a platform.android_ver() as per issue #26855: add platform.android_ver() for android. This could be changed for a test on sys.platform if there was a specific sys.platform value for android.
With both patches and the LDFLAGS change on the cross-build system, test_distutils runs fine.
msg265924 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年05月20日 09:41
This new patch adds a dependency to issue #27027.
msg280043 - (view) Author: Xavier de Gaye (xdegaye) * (Python triager) Date: 2016年11月04日 08:15
The problem raised in msg264946 has been fixed at changeset 15835311b5e6.
This new cross-compiled-skip_2.patch is not specific to Android and fixes test_distutils when the executables used to build the interpreter do not exist on the platform
where the test is run. The patch also does:
* Fix a bug in test_run of Lib/distutils/tests/test_build_clib.py that was using the values of the 'compiler.executables' dictionary instead of the attributes of 'compiler'.
* Removes test_get_python_inc from test_sysconfig.py as Python.h may not be installed on systems where extension modules are not expected to be built (BTW the comment in the test
points out: "This is not much of a test" :).
With this patch, test_distutils runs fine on the Android emulator.
msg281025 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016年11月17日 08:02
New changeset cea3b621973f by Xavier de Gaye in branch '3.6':
Issue 26931: Skip the test_distutils tests using a compiler executable
https://hg.python.org/cpython/rev/cea3b621973f
New changeset 99d69fd1b24e by Xavier de Gaye in branch 'default':
Issue 26931: Merge 3.6
https://hg.python.org/cpython/rev/99d69fd1b24e 
History
Date User Action Args
2022年04月11日 14:58:30adminsetgithub: 71118
2016年11月17日 10:20:45xdegayesetstatus: open -> closed
resolution: fixed
stage: commit review -> resolved
2016年11月17日 08:02:57python-devsetnosy: + python-dev
messages: + msg281025
2016年11月16日 07:24:43xdegayesetassignee: xdegaye
stage: patch review -> commit review
2016年11月04日 08:15:24xdegayesetfiles: + cross-compiled-skip_2.patch
versions: + Python 3.7
messages: + msg280043

dependencies: - add the 'is_android' attribute to test.support
components: + Tests, - Library (Lib), Cross-Build
stage: patch review
2016年05月21日 07:06:39xdegayelinkissue26865 dependencies
2016年05月21日 06:58:00xdegayesetdependencies: + add the 'is_android' attribute to test.support
2016年05月20日 09:41:59xdegayesetfiles: + android-sh-path_2.patch

messages: + msg265924
2016年05月06日 08:15:10xdegayesetfiles: + android-sh-path.patch

messages: + msg264946
2016年05月06日 08:08:19xdegayesetfiles: + cross-compiled-skip.patch
keywords: + patch
messages: + msg264945
2016年05月06日 08:05:00xdegayesetmessages: + msg264944
2016年05月03日 14:25:01xdegayecreate

AltStyle によって変換されたページ (->オリジナル) /