From b7feb144041168607d640aa9c9e8c514531f538a Mon Sep 17 00:00:00 2001 From: cornfeedhobo Date: Wed, 29 Sep 2021 18:06:42 -0500 Subject: [PATCH] skip go tests when go is not available --- test/plugins/go.plugin.bats | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/test/plugins/go.plugin.bats b/test/plugins/go.plugin.bats index c53f359f..110699e8 100644 --- a/test/plugins/go.plugin.bats +++ b/test/plugins/go.plugin.bats @@ -4,50 +4,52 @@ load ../test_helper load ../../lib/helpers load "${BASH_IT}/vendor/github.com/erichs/composure/composure.sh" +# We test `go version` in each test to account for users with goenv and no system go. + @test 'ensure _bash-it-gopath-pathmunge is defined' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' load ../../plugins/available/go.plugin run type -t _bash-it-gopath-pathmunge assert_line 'function' } @test 'plugins go: single entry in GOPATH' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1 <<<$PATH)" "/foo/bin" } @test 'plugins go: single entry in GOPATH, with space' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo bar" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1 <<<$PATH)" "/foo bar/bin" } @test 'plugins go: single entry in GOPATH, with escaped space' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo\ bar" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1 <<<$PATH)" "/foo\ bar/bin" } @test 'plugins go: multiple entries in GOPATH' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo:/bar" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "/foo/bin:/bar/bin" } @test 'plugins go: multiple entries in GOPATH, with space' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo:/foo bar" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "/foo/bin:/foo bar/bin" } @test 'plugins go: multiple entries in GOPATH, with escaped space' { - { [[ $CI ]] || _command_exists go; } || skip 'golang not found' + { _command_exists go && go version &>/dev/null; } || skip 'golang not found' export GOPATH="/foo:/foo\ bar" load ../../plugins/available/go.plugin assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "/foo/bin:/foo\ bar/bin"