test(stream-gears): pytest smoke suite for the wheel in CI (#1723)

* test(stream-gears): pytest smoke suite for the wheel in CI

Offline checks against the installed wheel: exported names, UploadLine
members, PySegment/config_bindings basics, `biliup --version` and
`python -m biliup --help` in a subprocess. OPS-19 (login functions
require `proxy`) is recorded as a strict xfail.

The linux x86_64 job installs the abi3 wheel into a venv and runs the
suite before the free-threaded build.

Ref #1721

* chore(stream-gears): move manual scripts to examples/

Drop test_server.py (only printed the default config; now covered by
the smoke suite). Move login.py, test_upload.py and test_download.py to
examples/ so pytest never collects them, and take the video/cookie
paths and stream URL from argv/env instead of hard-coded E:\ paths.
Also pass proxy explicitly (OPS-19), use PySegment (OPS-20) and catch
ValueError from str.index (OPS-38) so the scripts run on this version.

Ref #1721

* test(stream-gears): drop internal bug id from xfail reason
This commit is contained in:
Noah authored and GitHub committed 2026-09-24 03:14:32 +00:00
1 parent 364f2cf295
commit e83123b3be
7 files changed
+183 -42

No files matched your search

+6
View File
@@ -60,6 +60,12 @@ jobs:
args: --release --out dist
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
manylinux: ${{ matrix.platform.target == 'aarch64' && '2_28' || 'auto' }}
- name: Smoke test wheel
if: matrix.platform.target == 'x86_64'
run: |
python -m venv /tmp/smoke-venv
/tmp/smoke-venv/bin/pip install dist/biliup-*-abi3-*.whl pytest
/tmp/smoke-venv/bin/pytest crates/stream-gears/tests -v
- name: Build free-threaded wheels
uses: PyO3/maturin-action@v1
with: