blob: 3aebcc339830dcb36003497c81ee12d4be7ffe62 [file] [view] [edit]
# Tests for interpreter selection
## Interpreter priority takes CLI interpreter
```scrut {output_stream: stdout}
$ mkdir $TMPDIR/interpreters && touch $TMPDIR/interpreters/test.py \
> touch $TMPDIR/test-interpreter && \
> echo 'python-interpreter = "$TMPDIR/test-interpreter"' > $TMPDIR/interpreters/pyrefly.toml && \
> mkdir -p $TMPDIR/interpreters/venv/bin && touch $TMPDIR/interpreters/venv/bin/python && \
> touch $TMPDIR/interpreters/venv/pyvenv.cfg && \
> mkdir -p $TMPDIR/alternative-venv/bin && touch $TMPDIR/alternative-venv/bin/python && \
> touch $TMPDIR/alternative-venv/pyvenv.cfg && \
> VIRTUAL_ENV=$TMPDIR/alternative-venv $PYREFLY dump-config -c $TMPDIR/interpreters/pyrefly.toml \
> --python-interpreter-path "cli-interpreter"
Configuration at * (glob)
Using interpreter: cli-interpreter
* (glob+)
[0]
```
## Interpreter priority takes config-file interpreter
<!-- Reusing interpreters dir set up in "Interpreter priority takes CLI interpreter" -->
```scrut {output_stream: stdout}
$ VIRTUAL_ENV=$TMPDIR/alternative-venv $PYREFLY dump-config -c $TMPDIR/interpreters/pyrefly.toml
Configuration at * (glob)
Using interpreter: */test-interpreter (glob)
* (glob+)
[0]
```
## Interpreter priority takes activated interpreter
<!-- Reusing interpreters dir set up in "Interpreter priority takes CLI interpreter" -->
```scrut {output_stream: stdout}
$ echo "" > $TMPDIR/interpreters/pyrefly.toml && \
> VIRTUAL_ENV=$TMPDIR/alternative-venv $PYREFLY dump-config -c $TMPDIR/interpreters/pyrefly.toml
Configuration at * (glob)
Using interpreter: */alternative-venv/bin/python (glob)
* (glob+)
[0]
```
## Interpreter priority takes venv interpreter
<!-- Reusing interpreters dir set up in "Interpreter priority takes CLI interpreter" -->
```scrut {output_stream: stdout}
$ echo "" > $TMPDIR/interpreters/pyrefly.toml && \
> $PYREFLY dump-config -c $TMPDIR/interpreters/pyrefly.toml
Configuration at * (glob)
Using interpreter: */interpreters/venv/bin/python (glob)
* (glob+)
[0]
```
## Interpreter priority takes system interpreter last
<!-- Reusing interpreters dir set up in "Interpreter priority takes CLI interpreter" -->
```scrut {output_stream: stdout}
$ rm -rf $TMPDIR/interpreters/venv && \
> $PYREFLY dump-config -c $TMPDIR/interpreters/pyrefly.toml
Configuration at * (glob)
Using interpreter: /*/python3 (glob)
* (glob+)
[0]
```