Browse Source

fix bug of deleting the root
modified: etcd_handlers.go
modified: file_system/file_system.go
modified: file_system/node.go
deleted: transporter_test.go

evan-gu 12 years ago
parent
commit
232f83f99a
4 changed files with 3 additions and 41 deletions
  1. 0 1
      etcd_handlers.go
  2. 0 1
      file_system/file_system.go
  3. 3 3
      file_system/node.go
  4. 0 36
      transporter_test.go

+ 0 - 1
etcd_handlers.go

@@ -169,7 +169,6 @@ func UpdateHttpHandler(w http.ResponseWriter, req *http.Request) error {
 // Delete Handler
 func DeleteHttpHandler(w http.ResponseWriter, req *http.Request) error {
 	key := req.URL.Path[len("/v2/keys"):]
-
 	debugf("recv.delete[%v] [%v%v]\n", req.RemoteAddr, req.Host, req.URL)
 
 	command := &DeleteCommand{

+ 0 - 1
file_system/file_system.go

@@ -244,7 +244,6 @@ func (fs *FileSystem) Delete(nodePath string, recursive bool, index uint64, term
 	}
 
 	fs.WatcherHub.notify(e)
-
 	return e, nil
 }
 

+ 3 - 3
file_system/node.go

@@ -75,8 +75,8 @@ func (n *Node) Remove(recursive bool, callback func(path string)) error {
 
 	if !n.IsDir() { // file node: key-value pair
 		_, name := path.Split(n.Path)
-
-		if n.Parent.Children[name] == n {
+		
+		if n.Parent != nil && n.Parent.Children[name] == n {
 			// This is the only pointer to Node object
 			// Handled by garbage collector
 			delete(n.Parent.Children, name)
@@ -102,7 +102,7 @@ func (n *Node) Remove(recursive bool, callback func(path string)) error {
 
 	// delete self
 	_, name := path.Split(n.Path)
-	if n.Parent.Children[name] == n {
+	if n.Parent != nil && n.Parent.Children[name] == n {
 		delete(n.Parent.Children, name)
 
 		if callback != nil {

+ 0 - 36
transporter_test.go

@@ -1,36 +0,0 @@
-package main
-
-import (
-	"crypto/tls"
-	"testing"
-	"time"
-)
-
-func TestTransporterTimeout(t *testing.T) {
-
-	conf := tls.Config{}
-
-	ts := newTransporter("http", conf, time.Second)
-
-	ts.Get("http://google.com")
-	_, err := ts.Get("http://google.com:9999") // it doesn't exisit
-	if err == nil || err.Error() != "Wait Response Timeout: 1s" {
-		t.Fatal("timeout error: ", err.Error())
-	}
-
-	_, err = ts.Post("http://google.com:9999", nil) // it doesn't exisit
-	if err == nil || err.Error() != "Wait Response Timeout: 1s" {
-		t.Fatal("timeout error: ", err.Error())
-	}
-
-	_, err = ts.Get("http://www.google.com")
-	if err != nil {
-		t.Fatal("get error")
-	}
-
-	_, err = ts.Post("http://www.google.com", nil)
-	if err != nil {
-		t.Fatal("post error")
-	}
-
-}