(name, expected, *, expect_warning=False)
| 128 | |
| 129 | |
| 130 | def check_env_var(name, expected, *, expect_warning=False): |
| 131 | code = f"""if 1: |
| 132 | import pyarrow as pa |
| 133 | |
| 134 | pool = pa.default_memory_pool() |
| 135 | assert pool.backend_name in {expected!r}, pool.backend_name |
| 136 | """ |
| 137 | env = dict(os.environ) |
| 138 | env['ARROW_DEFAULT_MEMORY_POOL'] = name |
| 139 | res = subprocess.run([sys.executable, "-c", code], env=env, |
| 140 | universal_newlines=True, stderr=subprocess.PIPE) |
| 141 | if res.returncode != 0: |
| 142 | print(res.stderr, file=sys.stderr) |
| 143 | res.check_returncode() # fail |
| 144 | errlines = res.stderr.splitlines() |
| 145 | if expect_warning: |
| 146 | assert len(errlines) in (1, 2) |
| 147 | if len(errlines) == 1: |
| 148 | # ARROW_USE_GLOG=OFF |
| 149 | assert f"Unsupported backend '{name}'" in errlines[0] |
| 150 | else: |
| 151 | # ARROW_USE_GLOG=ON |
| 152 | assert "InitGoogleLogging()" in errlines[0] |
| 153 | assert f"Unsupported backend '{name}'" in errlines[1] |
| 154 | else: |
| 155 | assert len(errlines) == 0 |
| 156 | |
| 157 | |
| 158 | def test_env_var(): |
no test coverage detected