Merge pull request #772 from TrumanLing/get_active_machine_failure_improvment

function GetActive should return real error when file doesn't exist
This commit is contained in:
Evan Hazlett 2015-03-18 10:18:15 -04:00
commit 1c454fd800
3 changed files with 27 additions and 8 deletions

View File

@ -164,12 +164,16 @@ func TestMachinePort(t *testing.T) {
}
flags := getTestDriverFlags()
_, err = store.Create(hostTestName, hostTestDriverName, flags)
host, err := store.Create(hostTestName, hostTestDriverName, flags)
if err != nil {
t.Fatal(err)
}
host, err := store.Load(hostTestName)
if err := store.SetActive(host); err != nil {
t.Fatalf("error setting active host: %v", err)
}
host, err = store.Load(hostTestName)
if err != nil {
t.Fatal(err)
}
@ -207,12 +211,16 @@ func TestMachineCustomPort(t *testing.T) {
}
flags := getTestDriverFlags()
_, err = store.Create(hostTestName, hostTestDriverName, flags)
host, err := store.Create(hostTestName, hostTestDriverName, flags)
if err != nil {
t.Fatal(err)
}
host, err := store.Load(hostTestName)
if err := store.SetActive(host); err != nil {
t.Fatalf("error setting active host: %v", err)
}
host, err = store.Load(hostTestName)
if err != nil {
t.Fatal(err)
}
@ -254,6 +262,10 @@ func TestHostConfig(t *testing.T) {
t.Fatal(err)
}
if err := store.SetActive(host); err != nil {
t.Fatalf("error setting active host: %v", err)
}
if err := host.SaveConfig(); err != nil {
t.Fatal(err)
}

View File

@ -142,7 +142,7 @@ func (s *Store) Load(name string) (*Host, error) {
func (s *Store) GetActive() (*Host, error) {
hostName, err := ioutil.ReadFile(s.activePath())
if os.IsNotExist(err) {
return nil, nil
return nil, fmt.Errorf("no active host")
} else if err != nil {
return nil, err
}

View File

@ -79,10 +79,13 @@ func TestStoreRemove(t *testing.T) {
flags := getDefaultTestDriverFlags()
store := NewStore(TestStoreDir, "", "")
_, err := store.Create("test", "none", flags)
host, err := store.Create("test", "none", flags)
if err != nil {
t.Fatal(err)
}
if err := store.SetActive(host); err != nil {
t.Fatalf("error setting active host: %v", err)
}
path := filepath.Join(TestStoreDir, "test")
if _, err := os.Stat(path); os.IsNotExist(err) {
t.Fatalf("Host path doesn't exist: %s", path)
@ -186,7 +189,9 @@ func TestStoreGetSetActive(t *testing.T) {
// No hosts set
host, err := store.GetActive()
if err != nil {
if err.Error() == "no active host" {
t.Logf("OK, no active host initially: %v", err)
} else if err != nil {
t.Fatal(err)
}
@ -225,7 +230,9 @@ func TestStoreGetSetActive(t *testing.T) {
}
host, err = store.GetActive()
if err != nil {
if err.Error() == "no active host" {
t.Logf("OK, success to remove active host: %v", err)
} else if err != nil {
t.Fatal(err)
}