@@ -5,6 +5,10 @@ import (
5
5
"os"
6
6
"strings"
7
7
"testing"
8
+
9
+ "github.com/pkg/errors"
10
+ "github.com/vim-volt/volt/config"
11
+ "github.com/vim-volt/volt/lockjson"
8
12
)
9
13
10
14
func TestVoltSelfUpgrade (t * testing.T ) {
@@ -30,8 +34,7 @@ func testVoltSelfUpgradeCheckFromOldVer(t *testing.T) {
30
34
31
35
var err * Error
32
36
out := captureOutput (t , func () {
33
- args := []string {"volt" , "self-upgrade" , "-check" }
34
- err = Run (args , DefaultRunner )
37
+ err = runVolt (t , "self-upgrade" , "-check" )
35
38
})
36
39
37
40
if err != nil {
@@ -46,8 +49,7 @@ func testVoltSelfUpgradeCheckFromOldVer(t *testing.T) {
46
49
func testVoltSelfUpgradeCheckFromCurrentVer (t * testing.T ) {
47
50
var err * Error
48
51
out := captureOutput (t , func () {
49
- args := []string {"volt" , "self-upgrade" , "-check" }
50
- err = Run (args , DefaultRunner )
52
+ err = runVolt (t , "self-upgrade" , "-check" )
51
53
})
52
54
53
55
if err != nil {
@@ -83,3 +85,23 @@ func captureOutput(t *testing.T, f func()) string {
83
85
os .Stderr = oldStderr
84
86
return <- outCh
85
87
}
88
+
89
+ func runVolt (t * testing.T , cmd string , args ... string ) * Error {
90
+ c := LookUpCmd (cmd )
91
+ if c == nil {
92
+ t .Fatal ("unknown command '" + cmd + "'" )
93
+ }
94
+ lockJSON , err := lockjson .Read ()
95
+ if err != nil {
96
+ t .Fatal (errors .Wrap (err , "failed to read lock.json" ).Error ())
97
+ }
98
+ cfg , err := config .Read ()
99
+ if err != nil {
100
+ t .Fatal (errors .Wrap (err , "failed to read config.toml" ).Error ())
101
+ }
102
+ return c .Run (& CmdContext {
103
+ Args : args ,
104
+ LockJSON : lockJSON ,
105
+ Config : cfg ,
106
+ })
107
+ }
0 commit comments