@@ -18,6 +18,7 @@ then determining which versions make sense to test to get good coverage.
1818
1919The lowest supported and latest version of a framework are always tested, with
2020a 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
7071in 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
7981Rules can be used to specify version bounds on older versions of the main
8082package's dependencies, for example. If e.g. Flask tests generally need
@@ -103,6 +105,7 @@ Python versions, you can say:
103105 ...
104106}
105107```
108+
106109This 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
148151be 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
174175By 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
215215package. Try to determine the source of the failure and address it.
216216
217217Common 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