From 84a40bcc06b00ed846b212da2614105e9431a501 Mon Sep 17 00:00:00 2001 From: Jean-Laurent de Morlhon Date: Tue, 24 Nov 2015 16:00:19 +0100 Subject: [PATCH] Refactor OS Specific code And introduce Per-OS testing Signed-off-by: Jean-Laurent de Morlhon --- drivers/virtualbox/virtualbox.go | 13 +------------ drivers/virtualbox/virtualbox_darwin.go | 4 ++++ drivers/virtualbox/virtualbox_darwin_test.go | 14 ++++++++++++++ drivers/virtualbox/virtualbox_linux.go | 4 ++++ drivers/virtualbox/virtualbox_linux_test.go | 13 +++++++++++++ drivers/virtualbox/virtualbox_windows.go | 4 ++++ 6 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 drivers/virtualbox/virtualbox_darwin_test.go create mode 100644 drivers/virtualbox/virtualbox_linux_test.go diff --git a/drivers/virtualbox/virtualbox.go b/drivers/virtualbox/virtualbox.go index cb07891b8a..6ddcfb7b0d 100644 --- a/drivers/virtualbox/virtualbox.go +++ b/drivers/virtualbox/virtualbox.go @@ -372,18 +372,7 @@ func (d *Driver) Create() error { return err } - var shareName, shareDir string // TODO configurable at some point - switch runtime.GOOS { - case "windows": - shareName = "c/Users" - shareDir = "c:\\Users" - case "darwin": - shareName = "Users" - shareDir = "/Users" - case "linux": - shareName = "hosthome" - shareDir = "/home" - } + shareName, shareDir := getShareDriveAndName() if shareDir != "" && !d.NoShare { log.Debugf("setting up shareDir") diff --git a/drivers/virtualbox/virtualbox_darwin.go b/drivers/virtualbox/virtualbox_darwin.go index a8379115c5..a1dcfd2521 100644 --- a/drivers/virtualbox/virtualbox_darwin.go +++ b/drivers/virtualbox/virtualbox_darwin.go @@ -24,3 +24,7 @@ func (d *Driver) IsVTXDisabled() bool { func detectVBoxManageCmd() string { return detectVBoxManageCmdInPath() } + +func getShareDriveAndName() (string, string) { + return "Users", "/Users" +} diff --git a/drivers/virtualbox/virtualbox_darwin_test.go b/drivers/virtualbox/virtualbox_darwin_test.go new file mode 100644 index 0000000000..0bc1a1fee7 --- /dev/null +++ b/drivers/virtualbox/virtualbox_darwin_test.go @@ -0,0 +1,14 @@ +package virtualbox + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) +func TestShareName(t *testing.T) { + name, dir := getShareDriveAndName() + + assert.Equal(t, name, "Users") + assert.Equal(t, dir, "/Users") + +} diff --git a/drivers/virtualbox/virtualbox_linux.go b/drivers/virtualbox/virtualbox_linux.go index 0c6bf9eaa2..773bacce6f 100644 --- a/drivers/virtualbox/virtualbox_linux.go +++ b/drivers/virtualbox/virtualbox_linux.go @@ -34,3 +34,7 @@ func (d *Driver) IsVTXDisabled() bool { func detectVBoxManageCmd() string { return detectVBoxManageCmdInPath() } + +func getShareDriveAndName() (string, string) { + return "hosthome", "/home" +} diff --git a/drivers/virtualbox/virtualbox_linux_test.go b/drivers/virtualbox/virtualbox_linux_test.go new file mode 100644 index 0000000000..42b186304f --- /dev/null +++ b/drivers/virtualbox/virtualbox_linux_test.go @@ -0,0 +1,13 @@ +package virtualbox + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) +func TestShareName(t *testing.T) { + name, dir := getShareDriveAndName() + + assert.Equal(t, name, "hosthome") + assert.Equal(t, dir, "/home") +} diff --git a/drivers/virtualbox/virtualbox_windows.go b/drivers/virtualbox/virtualbox_windows.go index 7c56685547..3cb395d235 100644 --- a/drivers/virtualbox/virtualbox_windows.go +++ b/drivers/virtualbox/virtualbox_windows.go @@ -89,3 +89,7 @@ func findVBoxInstallDirInRegistry() (string, error) { return installDir, nil } + +func getShareDriveAndName() (string, string) { + return "c/Users", "c:\\Users" +}