@@ -1038,10 +1038,104 @@ def test_all_args(self) -> None:
10381038 assert result == [
10391039 tags .Tag ("cp313" , "cp313t" , "plat1" ),
10401040 tags .Tag ("cp313" , "cp313t" , "plat2" ),
1041+ tags .Tag ("cp313" , "abi3t" , "plat1" ),
1042+ tags .Tag ("cp313" , "abi3t" , "plat2" ),
10411043 tags .Tag ("cp313" , "none" , "plat1" ),
10421044 tags .Tag ("cp313" , "none" , "plat2" ),
1045+ tags .Tag ("cp312" , "abi3t" , "plat1" ),
1046+ tags .Tag ("cp312" , "abi3t" , "plat2" ),
1047+ tags .Tag ("cp311" , "abi3t" , "plat1" ),
1048+ tags .Tag ("cp311" , "abi3t" , "plat2" ),
1049+ tags .Tag ("cp310" , "abi3t" , "plat1" ),
1050+ tags .Tag ("cp310" , "abi3t" , "plat2" ),
1051+ tags .Tag ("cp39" , "abi3t" , "plat1" ),
1052+ tags .Tag ("cp39" , "abi3t" , "plat2" ),
1053+ tags .Tag ("cp38" , "abi3t" , "plat1" ),
1054+ tags .Tag ("cp38" , "abi3t" , "plat2" ),
1055+ tags .Tag ("cp37" , "abi3t" , "plat1" ),
1056+ tags .Tag ("cp37" , "abi3t" , "plat2" ),
1057+ tags .Tag ("cp36" , "abi3t" , "plat1" ),
1058+ tags .Tag ("cp36" , "abi3t" , "plat2" ),
1059+ tags .Tag ("cp35" , "abi3t" , "plat1" ),
1060+ tags .Tag ("cp35" , "abi3t" , "plat2" ),
1061+ tags .Tag ("cp34" , "abi3t" , "plat1" ),
1062+ tags .Tag ("cp34" , "abi3t" , "plat2" ),
1063+ tags .Tag ("cp33" , "abi3t" , "plat1" ),
1064+ tags .Tag ("cp33" , "abi3t" , "plat2" ),
1065+ tags .Tag ("cp32" , "abi3t" , "plat1" ),
1066+ tags .Tag ("cp32" , "abi3t" , "plat2" ),
10431067 ]
10441068
1069+ result = list (tags .cpython_tags ((3 , 15 ), ["cp315t" ], ["platform" ]))
1070+ assert result == [
1071+ tags .Tag ("cp315" , "cp315t" , "platform" ),
1072+ tags .Tag ("cp315" , "abi3t" , "platform" ),
1073+ tags .Tag ("cp315" , "none" , "platform" ),
1074+ tags .Tag ("cp314" , "abi3t" , "platform" ),
1075+ tags .Tag ("cp313" , "abi3t" , "platform" ),
1076+ tags .Tag ("cp312" , "abi3t" , "platform" ),
1077+ tags .Tag ("cp311" , "abi3t" , "platform" ),
1078+ tags .Tag ("cp310" , "abi3t" , "platform" ),
1079+ tags .Tag ("cp39" , "abi3t" , "platform" ),
1080+ tags .Tag ("cp38" , "abi3t" , "platform" ),
1081+ tags .Tag ("cp37" , "abi3t" , "platform" ),
1082+ tags .Tag ("cp36" , "abi3t" , "platform" ),
1083+ tags .Tag ("cp35" , "abi3t" , "platform" ),
1084+ tags .Tag ("cp34" , "abi3t" , "platform" ),
1085+ tags .Tag ("cp33" , "abi3t" , "platform" ),
1086+ tags .Tag ("cp32" , "abi3t" , "platform" ),
1087+ ]
1088+
1089+ result = list (tags .cpython_tags ((3 , 16 ), ["cp316t" ], ["platform" ]))
1090+ assert result == [
1091+ tags .Tag ("cp316" , "cp316t" , "platform" ),
1092+ tags .Tag ("cp316" , "abi3t" , "platform" ),
1093+ tags .Tag ("cp316" , "none" , "platform" ),
1094+ tags .Tag ("cp315" , "abi3t" , "platform" ),
1095+ tags .Tag ("cp314" , "abi3t" , "platform" ),
1096+ tags .Tag ("cp313" , "abi3t" , "platform" ),
1097+ tags .Tag ("cp312" , "abi3t" , "platform" ),
1098+ tags .Tag ("cp311" , "abi3t" , "platform" ),
1099+ tags .Tag ("cp310" , "abi3t" , "platform" ),
1100+ tags .Tag ("cp39" , "abi3t" , "platform" ),
1101+ tags .Tag ("cp38" , "abi3t" , "platform" ),
1102+ tags .Tag ("cp37" , "abi3t" , "platform" ),
1103+ tags .Tag ("cp36" , "abi3t" , "platform" ),
1104+ tags .Tag ("cp35" , "abi3t" , "platform" ),
1105+ tags .Tag ("cp34" , "abi3t" , "platform" ),
1106+ tags .Tag ("cp33" , "abi3t" , "platform" ),
1107+ tags .Tag ("cp32" , "abi3t" , "platform" ),
1108+ ]
1109+
1110+ result = list (tags .cpython_tags ((3 , 16 ), ["cp316" ], ["platform" ]))
1111+ assert result == [
1112+ tags .Tag ("cp316" , "cp316" , "platform" ),
1113+ tags .Tag ("cp316" , "abi3" , "platform" ),
1114+ tags .Tag ("cp316" , "none" , "platform" ),
1115+ tags .Tag ("cp315" , "abi3" , "platform" ),
1116+ tags .Tag ("cp314" , "abi3" , "platform" ),
1117+ tags .Tag ("cp313" , "abi3" , "platform" ),
1118+ tags .Tag ("cp312" , "abi3" , "platform" ),
1119+ tags .Tag ("cp311" , "abi3" , "platform" ),
1120+ tags .Tag ("cp310" , "abi3" , "platform" ),
1121+ tags .Tag ("cp39" , "abi3" , "platform" ),
1122+ tags .Tag ("cp38" , "abi3" , "platform" ),
1123+ tags .Tag ("cp37" , "abi3" , "platform" ),
1124+ tags .Tag ("cp36" , "abi3" , "platform" ),
1125+ tags .Tag ("cp35" , "abi3" , "platform" ),
1126+ tags .Tag ("cp34" , "abi3" , "platform" ),
1127+ tags .Tag ("cp33" , "abi3" , "platform" ),
1128+ tags .Tag ("cp32" , "abi3" , "platform" ),
1129+ ]
1130+
1131+ def test_no_abi3t_in_non_threaded_interpreter (self ) -> None :
1132+ result = list (tags .cpython_tags ((3 , 16 ), ["cp316" ], ["platform" ]))
1133+ assert all (t .abi in ("cp316" , "none" , "abi3" ) for t in result )
1134+
1135+ def test_no_abi3_in_threaded_interpreter (self ) -> None :
1136+ result = list (tags .cpython_tags ((3 , 16 ), ["cp316t" ], ["platform" ]))
1137+ assert all (t .abi in ("cp316t" , "none" , "abi3t" ) for t in result )
1138+
10451139 def test_python_version_defaults (self ) -> None :
10461140 tag = next (tags .cpython_tags (abis = ["abi3" ], platforms = ["any" ]))
10471141 interpreter = "cp" + tags ._version_nodot (sys .version_info [:2 ])
0 commit comments