| 201 | |
| 202 | |
| 203 | def test_pex_root_unwriteable(tmpdir): |
| 204 | # type: (Tempdir) -> None |
| 205 | |
| 206 | pex_root = tmpdir.join("pex_root") |
| 207 | os.mkdir(pex_root, 0o444) |
| 208 | |
| 209 | env = Variables(environ=dict(PEX_ROOT=pex_root)) |
| 210 | |
| 211 | with warnings.catch_warnings(record=True) as log: |
| 212 | assert pex_root != env.PEX_ROOT |
| 213 | |
| 214 | assert 1 == len(log) |
| 215 | message = log[0].message |
| 216 | assert isinstance(message, PEXWarning) |
| 217 | assert pex_root in str(message) |
| 218 | assert env.PEX_ROOT is not None |
| 219 | assert env.PEX_ROOT in str(message) |
| 220 | |
| 221 | assert ( |
| 222 | env.PEX_ROOT == env.PEX_ROOT |
| 223 | ), "When an ephemeral PEX_ROOT is materialized it should be stable." |
| 224 | |
| 225 | |
| 226 | def test_pex_vars_value_or(tmpdir): |