Skip to content

scripts/test_testpypi_install.py cannot pass: it installs 0.0.1 and its smoke code raises NameError #72

Description

@bdbarnett

Found while releasing v0.3.0 (release-pilot, 2026-09-09). `docs/building-wheels.md:151` tells a human to run this script on fresh Linux and Windows hosts after a release, so it is a documented post-release step that is broken in two ways.

1. It installs the wrong version. The pin is hardcoded:

```python
"pydevices-audioif==0.0.1",
```

so the check smokes a 2026-08-25 build no matter which release it is run for. Nothing about it is release-aware.

2. Its smoke snippet raises before it can assert. The embedded code uses `array(...)` with no `from array import array`:

```
$ /bin/python -c "<the script's smoke code>"
Traceback (most recent call last):
File "", line 7, in
NameError: name 'array' is not defined. Did you forget to import 'array'?
```

The two lines before it do pass, so a reader skimming output sees real work happening and then a failure that looks like a packaging problem.

Suggested shape. Take the version as `sys.argv[1]` (default: read `VERSION`), add `--extra-index-url https://pypi.org/simple/\` — TestPyPI alone cannot resolve numpy, which is the trap recorded in #30 — and fix the import. Optionally smoke the `[render]` extra in the same run, which is the half of #35 that has no coverage anywhere.

For the record, the equivalent checks were run by hand against published 0.3.0 and all passed: bare install imports `audiocore`/`synthio`/`audiomixer`; `[render]` install pulls numpy 2.5.3 and `tests.test_cpython_render` runs 9 tests OK; `verify_dsp.py --interpreters cpython` gives 20/20 against the installed wheel. So this issue is the checker, not the release.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions