Description
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.
Environment
- Python version: Any supported version
- b2sdk version:
master at f3ab7b71
- OS: Any
Description
The repository has shared tests, v0-v3 test directories,
v_all, integration tests, and a customapivermarker, but contributor documentation does not explain how to choose among them.test/unit/conftest.pydynamically selectsapiver_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
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 explainapiver_deps, show exact-version and version-range marker examples, identify when real B2 credentials are required, and provide a checklist for shared_internalchanges.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
_internalbehavior is shared by v0-v3. This weakens the repository's main backward-compatibility safeguard.Environment
masteratf3ab7b71