1*60517a1eSAndroid Build Coastguard Workerload("@python_versions//3.10:defs.bzl", py_binary_3_10 = "py_binary", py_test_3_10 = "py_test") 2*60517a1eSAndroid Build Coastguard Workerload("@python_versions//3.11:defs.bzl", py_binary_3_11 = "py_binary", py_test_3_11 = "py_test") 3*60517a1eSAndroid Build Coastguard Workerload("@python_versions//3.9:defs.bzl", py_binary_3_9 = "py_binary", py_test_3_9 = "py_test") 4*60517a1eSAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_binary", "py_test") 5*60517a1eSAndroid Build Coastguard Workerload("@rules_python//python:versions.bzl", "MINOR_MAPPING") 6*60517a1eSAndroid Build Coastguard Workerload("@rules_python//python/config_settings:transition.bzl", py_versioned_binary = "py_binary", py_versioned_test = "py_test") 7*60517a1eSAndroid Build Coastguard Worker 8*60517a1eSAndroid Build Coastguard Workerpy_binary( 9*60517a1eSAndroid Build Coastguard Worker name = "version_default", 10*60517a1eSAndroid Build Coastguard Worker srcs = ["version.py"], 11*60517a1eSAndroid Build Coastguard Worker main = "version.py", 12*60517a1eSAndroid Build Coastguard Worker) 13*60517a1eSAndroid Build Coastguard Worker 14*60517a1eSAndroid Build Coastguard Workerpy_binary_3_9( 15*60517a1eSAndroid Build Coastguard Worker name = "version_3_9", 16*60517a1eSAndroid Build Coastguard Worker srcs = ["version.py"], 17*60517a1eSAndroid Build Coastguard Worker main = "version.py", 18*60517a1eSAndroid Build Coastguard Worker) 19*60517a1eSAndroid Build Coastguard Worker 20*60517a1eSAndroid Build Coastguard Workerpy_binary_3_10( 21*60517a1eSAndroid Build Coastguard Worker name = "version_3_10", 22*60517a1eSAndroid Build Coastguard Worker srcs = ["version.py"], 23*60517a1eSAndroid Build Coastguard Worker main = "version.py", 24*60517a1eSAndroid Build Coastguard Worker) 25*60517a1eSAndroid Build Coastguard Worker 26*60517a1eSAndroid Build Coastguard Workerpy_binary_3_11( 27*60517a1eSAndroid Build Coastguard Worker name = "version_3_11", 28*60517a1eSAndroid Build Coastguard Worker srcs = ["version.py"], 29*60517a1eSAndroid Build Coastguard Worker main = "version.py", 30*60517a1eSAndroid Build Coastguard Worker) 31*60517a1eSAndroid Build Coastguard Worker 32*60517a1eSAndroid Build Coastguard Workerpy_versioned_binary( 33*60517a1eSAndroid Build Coastguard Worker name = "version_3_10_versioned", 34*60517a1eSAndroid Build Coastguard Worker srcs = ["version.py"], 35*60517a1eSAndroid Build Coastguard Worker main = "version.py", 36*60517a1eSAndroid Build Coastguard Worker python_version = "3.10", 37*60517a1eSAndroid Build Coastguard Worker) 38*60517a1eSAndroid Build Coastguard Worker 39*60517a1eSAndroid Build Coastguard Worker# This is a work in progress and the commented 40*60517a1eSAndroid Build Coastguard Worker# tests will not work until we can support 41*60517a1eSAndroid Build Coastguard Worker# multiple pips with bzlmod. 42*60517a1eSAndroid Build Coastguard Worker 43*60517a1eSAndroid Build Coastguard Workerpy_test( 44*60517a1eSAndroid Build Coastguard Worker name = "my_lib_default_test", 45*60517a1eSAndroid Build Coastguard Worker srcs = ["my_lib_test.py"], 46*60517a1eSAndroid Build Coastguard Worker main = "my_lib_test.py", 47*60517a1eSAndroid Build Coastguard Worker deps = ["//libs/my_lib"], 48*60517a1eSAndroid Build Coastguard Worker) 49*60517a1eSAndroid Build Coastguard Worker 50*60517a1eSAndroid Build Coastguard Workerpy_test_3_9( 51*60517a1eSAndroid Build Coastguard Worker name = "my_lib_3_9_test", 52*60517a1eSAndroid Build Coastguard Worker srcs = ["my_lib_test.py"], 53*60517a1eSAndroid Build Coastguard Worker main = "my_lib_test.py", 54*60517a1eSAndroid Build Coastguard Worker deps = ["//libs/my_lib"], 55*60517a1eSAndroid Build Coastguard Worker) 56*60517a1eSAndroid Build Coastguard Worker 57*60517a1eSAndroid Build Coastguard Workerpy_test_3_10( 58*60517a1eSAndroid Build Coastguard Worker name = "my_lib_3_10_test", 59*60517a1eSAndroid Build Coastguard Worker srcs = ["my_lib_test.py"], 60*60517a1eSAndroid Build Coastguard Worker main = "my_lib_test.py", 61*60517a1eSAndroid Build Coastguard Worker deps = ["//libs/my_lib"], 62*60517a1eSAndroid Build Coastguard Worker) 63*60517a1eSAndroid Build Coastguard Worker 64*60517a1eSAndroid Build Coastguard Workerpy_versioned_test( 65*60517a1eSAndroid Build Coastguard Worker name = "my_lib_versioned_test", 66*60517a1eSAndroid Build Coastguard Worker srcs = ["my_lib_test.py"], 67*60517a1eSAndroid Build Coastguard Worker main = "my_lib_test.py", 68*60517a1eSAndroid Build Coastguard Worker python_version = "3.10", 69*60517a1eSAndroid Build Coastguard Worker deps = select( 70*60517a1eSAndroid Build Coastguard Worker { 71*60517a1eSAndroid Build Coastguard Worker "@rules_python//python/config_settings:is_python_" + MINOR_MAPPING["3.10"]: ["//libs/my_lib"], 72*60517a1eSAndroid Build Coastguard Worker }, 73*60517a1eSAndroid Build Coastguard Worker no_match_error = """\ 74*60517a1eSAndroid Build Coastguard WorkerThis test is failing to find dependencies and it seems that the is_python_{version} 75*60517a1eSAndroid Build Coastguard Workerdoes not match the transitioned configuration of python-version 3.10. Please 76*60517a1eSAndroid Build Coastguard Workerlook at the 77*60517a1eSAndroid Build Coastguard Worker 78*60517a1eSAndroid Build Coastguard Worker @rules_python//python/config_settings:config_settings.bzl 79*60517a1eSAndroid Build Coastguard Worker 80*60517a1eSAndroid Build Coastguard Workerto fix any bugs.""".format( 81*60517a1eSAndroid Build Coastguard Worker version = MINOR_MAPPING["3.10"], 82*60517a1eSAndroid Build Coastguard Worker ), 83*60517a1eSAndroid Build Coastguard Worker ), 84*60517a1eSAndroid Build Coastguard Worker) 85*60517a1eSAndroid Build Coastguard Worker 86*60517a1eSAndroid Build Coastguard Workerpy_test( 87*60517a1eSAndroid Build Coastguard Worker name = "version_default_test", 88*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.py"], 89*60517a1eSAndroid Build Coastguard Worker env = {"VERSION_CHECK": "3.9"}, # The default defined in the WORKSPACE. 90*60517a1eSAndroid Build Coastguard Worker main = "version_test.py", 91*60517a1eSAndroid Build Coastguard Worker) 92*60517a1eSAndroid Build Coastguard Worker 93*60517a1eSAndroid Build Coastguard Workerpy_test_3_9( 94*60517a1eSAndroid Build Coastguard Worker name = "version_3_9_test", 95*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.py"], 96*60517a1eSAndroid Build Coastguard Worker env = {"VERSION_CHECK": "3.9"}, 97*60517a1eSAndroid Build Coastguard Worker main = "version_test.py", 98*60517a1eSAndroid Build Coastguard Worker) 99*60517a1eSAndroid Build Coastguard Worker 100*60517a1eSAndroid Build Coastguard Workerpy_test_3_10( 101*60517a1eSAndroid Build Coastguard Worker name = "version_3_10_test", 102*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.py"], 103*60517a1eSAndroid Build Coastguard Worker env = {"VERSION_CHECK": "3.10"}, 104*60517a1eSAndroid Build Coastguard Worker main = "version_test.py", 105*60517a1eSAndroid Build Coastguard Worker) 106*60517a1eSAndroid Build Coastguard Worker 107*60517a1eSAndroid Build Coastguard Workerpy_versioned_test( 108*60517a1eSAndroid Build Coastguard Worker name = "version_versioned_test", 109*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.py"], 110*60517a1eSAndroid Build Coastguard Worker env = {"VERSION_CHECK": "3.10"}, 111*60517a1eSAndroid Build Coastguard Worker main = "version_test.py", 112*60517a1eSAndroid Build Coastguard Worker python_version = "3.10", 113*60517a1eSAndroid Build Coastguard Worker) 114*60517a1eSAndroid Build Coastguard Worker 115*60517a1eSAndroid Build Coastguard Workerpy_test_3_11( 116*60517a1eSAndroid Build Coastguard Worker name = "version_3_11_test", 117*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.py"], 118*60517a1eSAndroid Build Coastguard Worker env = {"VERSION_CHECK": "3.11"}, 119*60517a1eSAndroid Build Coastguard Worker main = "version_test.py", 120*60517a1eSAndroid Build Coastguard Worker) 121*60517a1eSAndroid Build Coastguard Worker 122*60517a1eSAndroid Build Coastguard Workerpy_test( 123*60517a1eSAndroid Build Coastguard Worker name = "version_default_takes_3_10_subprocess_test", 124*60517a1eSAndroid Build Coastguard Worker srcs = ["cross_version_test.py"], 125*60517a1eSAndroid Build Coastguard Worker data = [":version_3_10"], 126*60517a1eSAndroid Build Coastguard Worker env = { 127*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_CHECK": "3.10", 128*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_PY_BINARY": "$(rootpath :version_3_10)", 129*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.9", 130*60517a1eSAndroid Build Coastguard Worker }, 131*60517a1eSAndroid Build Coastguard Worker main = "cross_version_test.py", 132*60517a1eSAndroid Build Coastguard Worker) 133*60517a1eSAndroid Build Coastguard Worker 134*60517a1eSAndroid Build Coastguard Workerpy_test_3_10( 135*60517a1eSAndroid Build Coastguard Worker name = "version_3_10_takes_3_9_subprocess_test", 136*60517a1eSAndroid Build Coastguard Worker srcs = ["cross_version_test.py"], 137*60517a1eSAndroid Build Coastguard Worker data = [":version_3_9"], 138*60517a1eSAndroid Build Coastguard Worker env = { 139*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_CHECK": "3.9", 140*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_PY_BINARY": "$(rootpath :version_3_9)", 141*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.10", 142*60517a1eSAndroid Build Coastguard Worker }, 143*60517a1eSAndroid Build Coastguard Worker main = "cross_version_test.py", 144*60517a1eSAndroid Build Coastguard Worker) 145*60517a1eSAndroid Build Coastguard Worker 146*60517a1eSAndroid Build Coastguard Workerpy_versioned_test( 147*60517a1eSAndroid Build Coastguard Worker name = "version_3_10_takes_3_9_subprocess_test_2", 148*60517a1eSAndroid Build Coastguard Worker srcs = ["cross_version_test.py"], 149*60517a1eSAndroid Build Coastguard Worker data = [":version_3_9"], 150*60517a1eSAndroid Build Coastguard Worker env = { 151*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_CHECK": "3.9", 152*60517a1eSAndroid Build Coastguard Worker "SUBPROCESS_VERSION_PY_BINARY": "$(rootpath :version_3_9)", 153*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.10", 154*60517a1eSAndroid Build Coastguard Worker }, 155*60517a1eSAndroid Build Coastguard Worker main = "cross_version_test.py", 156*60517a1eSAndroid Build Coastguard Worker python_version = "3.10", 157*60517a1eSAndroid Build Coastguard Worker) 158*60517a1eSAndroid Build Coastguard Worker 159*60517a1eSAndroid Build Coastguard Workersh_test( 160*60517a1eSAndroid Build Coastguard Worker name = "version_test_binary_default", 161*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.sh"], 162*60517a1eSAndroid Build Coastguard Worker data = [":version_default"], 163*60517a1eSAndroid Build Coastguard Worker env = { 164*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.9", # The default defined in the WORKSPACE. 165*60517a1eSAndroid Build Coastguard Worker "VERSION_PY_BINARY": "$(rootpath :version_default)", 166*60517a1eSAndroid Build Coastguard Worker }, 167*60517a1eSAndroid Build Coastguard Worker) 168*60517a1eSAndroid Build Coastguard Worker 169*60517a1eSAndroid Build Coastguard Workersh_test( 170*60517a1eSAndroid Build Coastguard Worker name = "version_test_binary_3_9", 171*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.sh"], 172*60517a1eSAndroid Build Coastguard Worker data = [":version_3_9"], 173*60517a1eSAndroid Build Coastguard Worker env = { 174*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.9", 175*60517a1eSAndroid Build Coastguard Worker "VERSION_PY_BINARY": "$(rootpath :version_3_9)", 176*60517a1eSAndroid Build Coastguard Worker }, 177*60517a1eSAndroid Build Coastguard Worker) 178*60517a1eSAndroid Build Coastguard Worker 179*60517a1eSAndroid Build Coastguard Workersh_test( 180*60517a1eSAndroid Build Coastguard Worker name = "version_test_binary_3_10", 181*60517a1eSAndroid Build Coastguard Worker srcs = ["version_test.sh"], 182*60517a1eSAndroid Build Coastguard Worker data = [":version_3_10"], 183*60517a1eSAndroid Build Coastguard Worker env = { 184*60517a1eSAndroid Build Coastguard Worker "VERSION_CHECK": "3.10", 185*60517a1eSAndroid Build Coastguard Worker "VERSION_PY_BINARY": "$(rootpath :version_3_10)", 186*60517a1eSAndroid Build Coastguard Worker }, 187*60517a1eSAndroid Build Coastguard Worker) 188