xref: /aosp_15_r20/external/bazelbuild-rules_python/examples/bzlmod/tests/cross_version_test.py (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
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