You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
B2 SDK docs: add a maintainer guide for API-version test placement #592
The repository has shared tests, v0-v3 test directories, v_all, integration tests, and a custom apiver marker, but contributor documentation does not explain how to choose among them. test/unit/conftest.py dynamically selects apiver_deps, ignores the other version directories, and supports exact-version and version-range markers. Nox then runs the unit suite once for each interface version. A new maintainer currently has to read those hooks and infer the compatibility model before knowing where a regression test belongs.
Steps to reproduce
1. Open CONTRIBUTING.md and doc/source/contributing.rst.
2. Look for guidance on test/unit/v0-v3, test/unit/v_all, and pytest.mark.apiver.
3. Observe that test commands are documented but test placement is not.
Expected behavior
The contributor guide should include a decision table covering shared unit tests, version-specific tests, v_all, integration tests, and static checks. It should explain apiver_deps, show exact-version and version-range marker examples, identify when real B2 credentials are required, and provide a checklist for shared _internal changes.
Actual behavior
Only commands for running tests are documented. A test can therefore be placed where it is skipped for the affected interface, duplicated unnecessarily, or run only against v3 even though the changed _internal behavior is shared by v0-v3. This weakens the repository's main backward-compatibility safeguard.
Activity