Skip to content

Commit ee43828

Browse files
committed
.
1 parent 46ef7c1 commit ee43828

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

scripts/populate_tox/README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ then determining which versions make sense to test to get good coverage.
1818

1919
The lowest supported and latest version of a framework are always tested, with
2020
a number of releases in between:
21+
2122
- If the package has majors, we pick the highest version of each major. For the
2223
latest major, we also pick the lowest version in that major.
2324
- If the package doesn't have multiple majors, we pick two versions in between
@@ -70,11 +71,12 @@ The test dependencies of the test suite. They're defined as a dictionary of
7071
in the package list of a rule will be installed as long as the rule applies.
7172

7273
`rule`s are predefined. Each `rule` must be one of the following:
73-
- `*`: packages will be always installed
74-
- a version specifier on the main package (e.g. `<=0.32`): packages will only
75-
be installed if the main package falls into the version bounds specified
76-
- specific Python version(s) in the form `py3.8,py3.9`: packages will only be
77-
installed if the Python version matches one from the list
74+
75+
- `*`: packages will be always installed
76+
- a version specifier on the main package (e.g. `<=0.32`): packages will only
77+
be installed if the main package falls into the version bounds specified
78+
- specific Python version(s) in the form `py3.8,py3.9`: packages will only be
79+
installed if the Python version matches one from the list
7880

7981
Rules can be used to specify version bounds on older versions of the main
8082
package's dependencies, for example. If e.g. Flask tests generally need
@@ -103,6 +105,7 @@ Python versions, you can say:
103105
...
104106
}
105107
```
108+
106109
This key is optional.
107110

108111
### `python`
@@ -147,7 +150,6 @@ The `include` key can also be used to exclude a set of specific versions by usin
147150
`!=` version specifiers. For example, the Starlite restriction above could equivalently
148151
be expressed like so:
149152

150-
151153
```python
152154
"starlite": {
153155
"include": "!=2.0.0a1,!=2.0.0a2",
@@ -168,7 +170,6 @@ By default, we ignore all prereleases but the newest one. Some packages only hav
168170
}
169171
```
170172

171-
172173
### `test_on_all_python_versions`
173174

174175
By default, the script will cherry-pick a few Python versions to test each integration on.
@@ -177,13 +178,12 @@ If you want a test suite to run on all supported Python versions instead, set
177178

178179
```python
179180
"common": {
180-
# The common test suite should run on all Python versions.
181+
# The common test suite should run on all Python versions
181182
"test_on_all_python_versions": True,
182183
...
183184
}
184185
```
185186

186-
187187
## How-Tos
188188

189189
### Add a new test suite
@@ -215,6 +215,7 @@ You might have to introduce additional version bounds on the dependencies of the
215215
package. Try to determine the source of the failure and address it.
216216

217217
Common scenarios:
218+
218219
- An old version of the tested package installs a dependency without defining
219220
an upper version bound on it. A new version of the dependency is installed that
220221
is incompatible with the package. In this case you need to determine which

0 commit comments

Comments
 (0)