Full test coverage for convert compatibility cmd
Signed-off-by: Max Proske <max@mproske.com>
This commit is contained in:
parent
a6a39422e4
commit
6ecb8d40ae
@ -17,6 +17,9 @@
|
|||||||
package compatibility
|
package compatibility
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/v3/assert"
|
"gotest.tools/v3/assert"
|
||||||
@ -24,9 +27,10 @@ import (
|
|||||||
|
|
||||||
func Test_convert(t *testing.T) {
|
func Test_convert(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
args []string
|
args []string
|
||||||
want []string
|
want []string
|
||||||
|
wantErr bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "compose only",
|
name: "compose only",
|
||||||
@ -93,11 +97,36 @@ func Test_convert(t *testing.T) {
|
|||||||
args: []string{"--project-name", "compose", "down", "--remove-orphans"},
|
args: []string{"--project-name", "compose", "down", "--remove-orphans"},
|
||||||
want: []string{"compose", "--project-name", "compose", "down", "--remove-orphans"},
|
want: []string{"compose", "--project-name", "compose", "down", "--remove-orphans"},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "completion command",
|
||||||
|
args: []string{"__complete", "up"},
|
||||||
|
want: []string{"__complete", "compose", "up"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "string flag without argument",
|
||||||
|
args: []string{"--log-level"},
|
||||||
|
wantErr: true,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
got := Convert(tt.args)
|
if tt.wantErr {
|
||||||
assert.DeepEqual(t, tt.want, got)
|
if os.Getenv("BE_CRASHER") == "1" {
|
||||||
|
Convert(tt.args)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
cmd := exec.Command(os.Args[0], "-test.run=^"+t.Name()+"$")
|
||||||
|
cmd.Env = append(os.Environ(), "BE_CRASHER=1")
|
||||||
|
err := cmd.Run()
|
||||||
|
var e *exec.ExitError
|
||||||
|
if errors.As(err, &e) && !e.Success() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
t.Fatalf("process ran with err %v, want exit status 1", err)
|
||||||
|
} else {
|
||||||
|
got := Convert(tt.args)
|
||||||
|
assert.DeepEqual(t, tt.want, got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user