1 # Copyright 2023 The Bazel Authors. All rights reserved. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 import os 16 import subprocess 17 import sys 18 19 process = subprocess.run( 20 [os.getenv("SUBPROCESS_VERSION_PY_BINARY")], 21 stdout=subprocess.PIPE, 22 universal_newlines=True, 23 ) 24 25 subprocess_current = process.stdout.strip() 26 subprocess_expected = os.getenv("SUBPROCESS_VERSION_CHECK") 27 28 if subprocess_current != subprocess_expected: 29 print( 30 f"expected subprocess version '{subprocess_expected}' is different than returned '{subprocess_current}'" 31 ) 32 sys.exit(1) 33 34 expected = os.getenv("VERSION_CHECK") 35 current = f"{sys.version_info.major}.{sys.version_info.minor}" 36 37 if current != expected: 38 print(f"expected version '{expected}' is different than returned '{current}'") 39 sys.exit(1) 40