1load("@python_versions//3.10:defs.bzl", py_binary_3_10 = "py_binary", py_test_3_10 = "py_test") 2load("@python_versions//3.11:defs.bzl", py_binary_3_11 = "py_binary", py_test_3_11 = "py_test") 3load("@python_versions//3.9:defs.bzl", py_binary_3_9 = "py_binary", py_test_3_9 = "py_test") 4load("@rules_python//python:defs.bzl", "py_binary", "py_test") 5 6py_binary( 7 name = "version_default", 8 srcs = ["version.py"], 9 main = "version.py", 10) 11 12py_binary_3_9( 13 name = "version_3_9", 14 srcs = ["version.py"], 15 main = "version.py", 16) 17 18py_binary_3_10( 19 name = "version_3_10", 20 srcs = ["version.py"], 21 main = "version.py", 22) 23 24py_binary_3_11( 25 name = "version_3_11", 26 srcs = ["version.py"], 27 main = "version.py", 28) 29 30# This is a work in progress and the commented 31# tests will not work until we can support 32# multiple pips with bzlmod. 33 34py_test( 35 name = "my_lib_default_test", 36 srcs = ["my_lib_test.py"], 37 main = "my_lib_test.py", 38 deps = ["//libs/my_lib"], 39) 40 41py_test_3_9( 42 name = "my_lib_3_9_test", 43 srcs = ["my_lib_test.py"], 44 main = "my_lib_test.py", 45 deps = ["//libs/my_lib"], 46) 47 48py_test_3_10( 49 name = "my_lib_3_10_test", 50 srcs = ["my_lib_test.py"], 51 main = "my_lib_test.py", 52 deps = ["//libs/my_lib"], 53) 54 55py_test( 56 name = "version_default_test", 57 srcs = ["version_test.py"], 58 env = {"VERSION_CHECK": "3.9"}, # The default defined in the WORKSPACE. 59 main = "version_test.py", 60) 61 62py_test_3_9( 63 name = "version_3_9_test", 64 srcs = ["version_test.py"], 65 env = {"VERSION_CHECK": "3.9"}, 66 main = "version_test.py", 67) 68 69py_test_3_10( 70 name = "version_3_10_test", 71 srcs = ["version_test.py"], 72 env = {"VERSION_CHECK": "3.10"}, 73 main = "version_test.py", 74) 75 76py_test_3_11( 77 name = "version_3_11_test", 78 srcs = ["version_test.py"], 79 env = {"VERSION_CHECK": "3.11"}, 80 main = "version_test.py", 81) 82 83py_test( 84 name = "version_default_takes_3_10_subprocess_test", 85 srcs = ["cross_version_test.py"], 86 data = [":version_3_10"], 87 env = { 88 "SUBPROCESS_VERSION_CHECK": "3.10", 89 "SUBPROCESS_VERSION_PY_BINARY": "$(rootpath :version_3_10)", 90 "VERSION_CHECK": "3.9", 91 }, 92 main = "cross_version_test.py", 93) 94 95py_test_3_10( 96 name = "version_3_10_takes_3_9_subprocess_test", 97 srcs = ["cross_version_test.py"], 98 data = [":version_3_9"], 99 env = { 100 "SUBPROCESS_VERSION_CHECK": "3.9", 101 "SUBPROCESS_VERSION_PY_BINARY": "$(rootpath :version_3_9)", 102 "VERSION_CHECK": "3.10", 103 }, 104 main = "cross_version_test.py", 105) 106 107sh_test( 108 name = "version_test_binary_default", 109 srcs = ["version_test.sh"], 110 data = [":version_default"], 111 env = { 112 "VERSION_CHECK": "3.9", # The default defined in the WORKSPACE. 113 "VERSION_PY_BINARY": "$(rootpath :version_default)", 114 }, 115) 116 117sh_test( 118 name = "version_test_binary_3_9", 119 srcs = ["version_test.sh"], 120 data = [":version_3_9"], 121 env = { 122 "VERSION_CHECK": "3.9", 123 "VERSION_PY_BINARY": "$(rootpath :version_3_9)", 124 }, 125) 126 127sh_test( 128 name = "version_test_binary_3_10", 129 srcs = ["version_test.sh"], 130 data = [":version_3_10"], 131 env = { 132 "VERSION_CHECK": "3.10", 133 "VERSION_PY_BINARY": "$(rootpath :version_3_10)", 134 }, 135) 136