feat: add configuration option for test executor arguments (#2636)
* Add test-execution-args option. * Add usage of test-execution-args. * Add CI configuration to use test-execution-args. * Document the test-execution-args setting. * Simplify code using or syntax instead of inline if. Co-authored-by: Malcolm Smith <smith@chaquo.com> * Clarified some Android-specific terminology, and added details about the default args to the test runner. * Switch to a dict-based test-execution configuration * Add tests for test-execution parsing. * Add all the files before pushing... * Add note about default Android version for testbed. * Improve description of test-execution setting. Co-authored-by: Joe Rickerby <joerick@mac.com> * Switch to using test-runtime. --------- Co-authored-by: Malcolm Smith <smith@chaquo.com> Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
co-authored by
Malcolm Smith
Joe Rickerby
parent
c53e541c2d
commit
4fe7630d9c
+5
-1
@@ -233,6 +233,8 @@ machine – for example, if you're building on an ARM64 machine, then you can te
|
||||
ARM64 wheel. Wheels of other architectures can still be built, but testing will
|
||||
automatically be skipped.
|
||||
|
||||
Any arguments specified using [`test-runtime`](options.md#test-runtime) will be passed as arguments to the Python script that starts the [testbed project](https://github.com/python/cpython/blob/main/Android/README.md#testing). cibuildwheel will automatically start the testbed project with `--site-packages` and `--cwd` arguments matching your test environment, as well as enabling verbose output with `-v` if [`build-verbosity`](options.md#build-verbosity) is enabled. The most common additional arguments to use will be `--managed minVersion` or `--managed maxVersion`, specifying the use of a managed Android emulator with the minimum or maximum supported Android version; or `--connected <serial>`, specifying the use of an existing booted Android emulator or device. By default, the testbed project will run with `--managed maxVersion`.
|
||||
|
||||
Running an emulator requires the build machine to either be bare-metal or support
|
||||
nested virtualization. CI platforms known to meet this requirement are:
|
||||
|
||||
@@ -320,4 +322,6 @@ If tests have been configured, the test suite will be executed on the simulator
|
||||
|
||||
The iOS test environment can't support running shell scripts, so the [`test-command`](options.md#test-command) value must be specified as if it were a command line being passed to `python -m ...`.
|
||||
|
||||
The test process uses the same testbed used by CPython itself to run the CPython test suite. It is an Xcode project that has been configured to have a single Xcode "XCUnit" test - the result of which reports the success or failure of running `python -m <test-command>`.
|
||||
The test process uses the [same testbed used by CPython itself](https://github.com/python/cpython/tree/main/Apple/iOS#testing-python-on-ios) to run the CPython test suite. It is an Xcode project that has been configured to have a single Xcode "XCUnit" test - the result of which reports the success or failure of running `python -m <test-command>`.
|
||||
|
||||
Any arguments specified using [`test-runtime`](options.md#test-runtime) will be passed as arguments to the Python script that starts the testbed project. The testbed project will be started with `-v` enabling verbose output if [`build-verbosity`](options.md#build-verbosity) is enabled; the most common additional argument to use will be `--simulator`, which allows the specification of a specific device or iOS version for the test simulator. By default, the testbed project will attempt to find an "SE class" simulator (i.e., an iPhone SE, iPhone 16e, or similar), running the newest iOS version available.
|
||||
|
||||
Reference in New Issue
Block a user