xemu-perf-tester
Orchestrates running xemu benchmarks using xemu-perf-tests.
Installation
Install from Pypi
pip install xemu-perf-tester
Use
Running benchmarks
Run xemu-perf-run -h for detailed information on executing the benchmarks.
One time setup: xemu-perf-run --import-install <path_to_your_xemu.toml_file>
Test the latest xemu with the latest benchmark release
The default behavior is to download the latest xemu-perf-tests iso and xemu
release and run the benchmarks using the OpenGL backend. You may pass the
--use-vulkan parameter to use Vulkan instead.
xemu-perf-run
Testing against specific xemu and/or xemu-perf-tests releases
xemu-perf-run \
--xemu-tag v0.8.7 \
--test-tag v12345
--xemu_tag accepts:
- a xemu release version (e.g.,
v0.8.92) - the URL of a build action (e.g.,
https://github.com/xemu-project/xemu/actions/runs/16152580613) - the URL of a pull request (PR) (e.g.,
https://github.com/xemu-project/xemu/pull/2329).
For PRs and actions, the build artifact for your platform is taken from the
newest successful run of the xemu CI workflow (override with --ci-workflow).
The tool exits with an error if there is no such run (e.g., the build is still
in progress, failed, or its artifacts have expired); it never falls back to a
release build.
Downloading artifacts requires an authenticated GitHub token, chosen in this order:
--github-token, if given.- The GitHub CLI's token (
gh auth token), ifghis installed and logged in. - The same token used to submit results (you will be prompted to authorize it in a browser the first time).
Results produced from a PR or action build include a dev_build section
(PR number, head SHA, workflow run, base xemu version) and are ingested
separately from release results.
Reusing existing xemu-perf-tests ISO and/or xemu binary
You can use the --iso and --xemu flags to specify existing artifacts. This
will skip the automated check against the GitHub API for the latest tagged
artifacts.
xemu-perf-run \
--xemu ~/bin/xemu \
--iso ~/special_perf_tests.xiso
Using a development build of xemu on macOS
Some extra flags are needed to utilize a development build of xemu. You will
need to set the DYLD_FALLBACK_LIBRARY_PATH environment variable to point at a
valid xemu.app binary and will need to pass the --no-bundle argument to
xemu-perf-run to prevent it from attempting to find a xemu.app bundle
itself.
DYLD_FALLBACK_LIBRARY_PATH=/path/to/xemu_repo/dist/xemu.app/Contents/Libraries/arm64 \
xemu-perf-run \
--xemu /path/to/xemu_repo/build/qemu-system-i386 \
--no-bundle
Test configuration
Conditional block listing
Tests that cannot be executed on certain versions of xemu may be disallowed
using a blocklist.json file specified using the --block-list-file command.
The file provides a simple list of JSON objects, each specifying a set of one or more conditions and one or more test names to be disabled if the condition is satisfied.
For example, to disable the entire "High vertex count" suite on xemu versions less than 0.8.54:
{
"rules": [
{
"conditions": [
"$version < 0.8.54"
],
"skipped": [
"High vertex count::"
]
}
]
}
"conditions" may use the $version variable to test against the runtime
reported version of xemu.
"skipped" entries are fully qualified test names, with anything before "::"
referring to a test suite and everything after to a specific test. These are
exact matches, so "Suite::Test" will only disable the test literally named "
Suite::Test" but would still allow "Suite::Test1" to run. The trailing "::" may
be omitted when disallowing an entire test suite. For example "Suite::" is
equivalent to "Suite", both will disable all tests in the "Suite" suite.
Metadata
Release files for xemu-perf-tester 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| xemu_perf_tester-0.4.1.tar.gz | 4.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xemu_perf_tester-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.2 kB
Release files / xemu_perf_tester-0.4.1.tar.gz
| Download URL | xemu_perf_tester-0.4.1.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e84b015643a55ce11f1649c026a529b5a456534acbaeb9d93d877b547cb2001f
|
|
BLAKE2b-256 checksum How to use checksums |
8db01fc032e7aec1b2e5fef6e8ea0f0e25601e4c736ef810015b04f73fece327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / xemu_perf_tester-0.4.1-py3-none-any.whl
| Download URL | xemu_perf_tester-0.4.1-py3-none-any.whl |
|---|---|
| Size | 26.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe39b86f8d592f051bed6cd67b44672a84b7dab8870e2b9c7711520358855b52
|
|
BLAKE2b-256 checksum How to use checksums |
bc85bba6f4e1a8ed2371830ceadbb278054fa3a496110e5f7664049e99159e21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for xemu-perf-tester 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.