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

View File

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

View File

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