mirror of https://github.com/databricks/cli.git
40 lines
948 B
Go
40 lines
948 B
Go
|
//go:build unix
|
||
|
|
||
|
package python
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestDetectsViaPathLookup(t *testing.T) {
|
||
|
ctx := context.Background()
|
||
|
py, err := DetectExecutable(ctx)
|
||
|
assert.NoError(t, err)
|
||
|
assert.NotEmpty(t, py)
|
||
|
}
|
||
|
|
||
|
func TestDetectsViaListing(t *testing.T) {
|
||
|
t.Setenv("PATH", "testdata/other-binaries-filtered")
|
||
|
ctx := context.Background()
|
||
|
py, err := DetectExecutable(ctx)
|
||
|
assert.NoError(t, err)
|
||
|
assert.Equal(t, "testdata/other-binaries-filtered/python3.10", py)
|
||
|
}
|
||
|
|
||
|
func TestDetectFailsNoInterpreters(t *testing.T) {
|
||
|
t.Setenv("PATH", "testdata")
|
||
|
ctx := context.Background()
|
||
|
_, err := DetectExecutable(ctx)
|
||
|
assert.Equal(t, ErrNoPythonInterpreters, err)
|
||
|
}
|
||
|
|
||
|
func TestDetectFailsNoMinimalVersion(t *testing.T) {
|
||
|
t.Setenv("PATH", "testdata/no-python3")
|
||
|
ctx := context.Background()
|
||
|
_, err := DetectExecutable(ctx)
|
||
|
assert.EqualError(t, err, "cannot find Python greater or equal to v3.8.0")
|
||
|
}
|