Selaa lähdekoodia

Devmapper: wrap calls to os/exec for easier mocking

Solomon Hykes 11 vuotta sitten
vanhempi
commit
60f728b170
2 muutettua tiedostoa jossa 7 lisäystä ja 3 poistoa
  1. 2 3
      graphdriver/devmapper/deviceset.go
  2. 5 0
      graphdriver/devmapper/sys.go

+ 2 - 3
graphdriver/devmapper/deviceset.go

@@ -6,7 +6,6 @@ import (
 	"github.com/dotcloud/docker/utils"
 	"github.com/dotcloud/docker/utils"
 	"io"
 	"io"
 	"io/ioutil"
 	"io/ioutil"
-	"os/exec"
 	"path"
 	"path"
 	"path/filepath"
 	"path/filepath"
 	"strconv"
 	"strconv"
@@ -223,9 +222,9 @@ func (devices *DeviceSet) activateDeviceIfNeeded(hash string) error {
 func (devices *DeviceSet) createFilesystem(info *DevInfo) error {
 func (devices *DeviceSet) createFilesystem(info *DevInfo) error {
 	devname := info.DevName()
 	devname := info.DevName()
 
 
-	err := exec.Command("mkfs.ext4", "-E", "discard,lazy_itable_init=0,lazy_journal_init=0", devname).Run()
+	err := execRun("mkfs.ext4", "-E", "discard,lazy_itable_init=0,lazy_journal_init=0", devname)
 	if err != nil {
 	if err != nil {
-		err = exec.Command("mkfs.ext4", "-E", "discard,lazy_itable_init=0", devname).Run()
+		err = execRun("mkfs.ext4", "-E", "discard,lazy_itable_init=0", devname)
 	}
 	}
 	if err != nil {
 	if err != nil {
 		utils.Debugf("\n--->Err: %s\n", err)
 		utils.Debugf("\n--->Err: %s\n", err)

+ 5 - 0
graphdriver/devmapper/sys.go

@@ -2,6 +2,7 @@ package devmapper
 
 
 import (
 import (
 	"os"
 	"os"
+	"os/exec"
 	"syscall"
 	"syscall"
 )
 )
 
 
@@ -28,6 +29,10 @@ var (
 	osRemoveAll  = os.RemoveAll
 	osRemoveAll  = os.RemoveAll
 	osRename     = os.Rename
 	osRename     = os.Rename
 	osReadlink   = os.Readlink
 	osReadlink   = os.Readlink
+
+	execRun = func(name string, args ...string) error {
+		return exec.Command(name, args...).Run()
+	}
 )
 )
 
 
 const (
 const (