9
9
CHANGELOG = ROOT / "CHANGELOG.rst"
10
10
DOCS = ROOT / "docs"
11
11
12
- EXTRAS = ["" , "[format]" , "[format-nongpl]" ]
12
+ INSTALLABLE = [
13
+ nox .param (value , id = name ) for name , value in [
14
+ ("no-extras" , ROOT ),
15
+ ("format" , f"{ ROOT } [format]" ),
16
+ ("format-nongpl" , f"{ ROOT } [format-nongpl]" ),
17
+ ]
18
+ ]
13
19
14
20
NONGPL_LICENSES = [
15
21
"Apache Software License" ,
21
27
]
22
28
23
29
24
-
25
30
nox .options .sessions = []
26
31
27
32
@@ -35,36 +40,45 @@ def _session(fn):
35
40
36
41
37
42
@session (python = ["3.8" , "3.9" , "3.10" , "3.11" , "pypy3" ])
38
- @nox .parametrize ("extras " , EXTRAS )
39
- def tests (session , extras ):
43
+ @nox .parametrize ("installable " , INSTALLABLE )
44
+ def tests (session , installable ):
40
45
41
46
env = dict (JSON_SCHEMA_TEST_SUITE = str (ROOT / "json" ))
42
47
43
- session .install ("virtue" , f"{ ROOT } { extras } " )
48
+ session .install ("virtue" , installable )
49
+
50
+ if session .posargs and session .posargs [0 ] in {"coverage" , "ghcoverage" }:
51
+ ghcoverage = session .posargs .pop (0 ) == "ghcoverage"
44
52
45
- ghcoverage = session .posargs == ["ghcoverage" ]
46
- if session .posargs == ["coverage" ] or ghcoverage :
47
53
session .install ("coverage[toml]" )
48
- session .run ("coverage" , "run" , "-m" , "virtue" , PACKAGE , env = env )
54
+ session .run (
55
+ "coverage" ,
56
+ "run" ,
57
+ * session .posargs ,
58
+ "-m" ,
59
+ "virtue" ,
60
+ PACKAGE ,
61
+ env = env ,
62
+ )
49
63
session .run ("coverage" , "report" )
64
+
65
+ if ghcoverage :
66
+ session .run (
67
+ "sh" ,
68
+ ROOT / ".github/coverage.sh" ,
69
+ f"{ session .bin } /python" ,
70
+ )
50
71
else :
51
72
session .run ("virtue" , * session .posargs , PACKAGE , env = env )
52
73
53
- if ghcoverage :
54
- session .run (
55
- "sh" ,
56
- ROOT / ".github/coverage.sh" ,
57
- f"{ session .bin } /python" ,
58
- )
59
-
60
74
61
75
@session ()
62
- @nox .parametrize ("extras " , EXTRAS )
63
- def audit (session , extras ):
64
- session .install ("pip-audit" , f" { ROOT } { extras } " )
76
+ @nox .parametrize ("installable " , INSTALLABLE )
77
+ def audit (session , installable ):
78
+ session .install ("pip-audit" , installable )
65
79
session .run ("python" , "-m" , "pip_audit" )
66
80
67
- if "nongpl" in extras :
81
+ if "format- nongpl" in installable :
68
82
session .install ("pip-licenses" )
69
83
session .run (
70
84
"python" ,
0 commit comments