all: remove temp directories in tests

Change-Id: I33efc7302b381c8def3aeac35a2d618d0ad71918
diff --git a/build/e2e_test.go b/build/e2e_test.go
index 40de0a4..7019c69 100644
--- a/build/e2e_test.go
+++ b/build/e2e_test.go
@@ -95,9 +95,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
-	defer func() {
-		os.RemoveAll(dir)
-	}()
+	defer os.RemoveAll(dir)
 
 	sizeMax := 1000
 	opts := Options{
@@ -151,6 +149,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	opts := Options{
 		IndexDir: dir,
@@ -243,6 +242,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	opts := Options{
 		IndexDir: dir,
@@ -325,6 +325,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	opts := Options{
 		IndexDir: dir,
@@ -447,6 +448,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	opts := Options{
 		IndexDir: dir,
diff --git a/gitindex/delete_test.go b/gitindex/delete_test.go
index 571a25d..f7c6ee3 100644
--- a/gitindex/delete_test.go
+++ b/gitindex/delete_test.go
@@ -3,6 +3,7 @@
 import (
 	"io/ioutil"
 	"net/url"
+	"os"
 	"path/filepath"
 	"reflect"
 	"testing"
@@ -13,6 +14,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	if err := createSubmoduleRepo(dir); err != nil {
 		t.Error("createSubmoduleRepo", err)
diff --git a/gitindex/tree_test.go b/gitindex/tree_test.go
index 90cea27..74316f5 100644
--- a/gitindex/tree_test.go
+++ b/gitindex/tree_test.go
@@ -91,6 +91,7 @@
 	if err != nil {
 		t.Fatalf("TempDir: %v", err)
 	}
+	defer os.RemoveAll(dir)
 
 	if err := createSubmoduleRepo(dir); err != nil {
 		t.Error("createSubmoduleRepo", err)
diff --git a/shards/watcher_test.go b/shards/watcher_test.go
index 6ca565d..0678c9b 100644
--- a/shards/watcher_test.go
+++ b/shards/watcher_test.go
@@ -45,6 +45,7 @@
 	if err != nil {
 		t.Fatal(err)
 	}
+	defer os.RemoveAll(dir)
 
 	logger := &loggingLoader{
 		loads: make(chan string, 10),