diff --git a/registry/etcdv3/listener_test.go b/registry/etcdv3/listener_test.go
index 5f5d95aa3644fa201c10c510239a698b90b90847..e691ae3cf1204ee97f130764496a7fc5bf67ac42 100644
--- a/registry/etcdv3/listener_test.go
+++ b/registry/etcdv3/listener_test.go
@@ -18,7 +18,7 @@
 package etcdv3
 
 import (
-	"os/exec"
+	"os"
 	"testing"
 	"time"
 )
@@ -70,7 +70,7 @@ func (suite *RegistryTestSuite) SetupSuite() {
 func (suite *RegistryTestSuite) TearDownSuite() {
 	suite.etcd.Close()
 	// clean the etcd workdir
-	if err := exec.Command("rm", "-rf", defaultEtcdV3WorkDir).Run(); err != nil {
+	if err := os.RemoveAll(defaultEtcdV3WorkDir); err != nil {
 		suite.FailNow(err.Error())
 	}
 }