]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blobdiff - main_test.go
nsscash: go fmt and rewrap comments
[nsscash/nsscash.git] / main_test.go
index 47865651f8e5e8e0dc17f867091e52800dcc6daa..2b48bcc7c9d37315910f8efdac80633ed269a6af 100644 (file)
@@ -207,6 +207,12 @@ func TestMainFetch(t *testing.T) {
                fetchSecondFetchFails,
        }
 
+       for _, f := range tests {
+               runMainTest(t, f)
+       }
+}
+
+func runMainTest(t *testing.T, f func(args)) {
        cleanup := []string{
                configPath,
                statePath,
@@ -215,40 +221,37 @@ func TestMainFetch(t *testing.T) {
                groupPath,
        }
 
-       for _, f := range tests {
-               // NOTE: This is not guaranteed to work according to reflect's
-               // documentation but seems to work reliable for normal
-               // functions.
-               fn := runtime.FuncForPC(reflect.ValueOf(f).Pointer())
-               name := fn.Name()
-               name = name[strings.LastIndex(name, ".")+1:]
-
-               t.Run(name, func(t *testing.T) {
-                       // Preparation & cleanup
-                       for _, p := range cleanup {
-                               err := os.Remove(p)
-                               if err != nil && !os.IsNotExist(err) {
-                                       t.Fatal(err)
-                               }
-                               // Remove the file at the end of this test
-                               // run, if it was created
-                               defer os.Remove(p)
+       // NOTE: This is not guaranteed to work according to reflect's
+       // documentation but seems to work reliable for normal functions.
+       fn := runtime.FuncForPC(reflect.ValueOf(f).Pointer())
+       name := fn.Name()
+       name = name[strings.LastIndex(name, ".")+1:]
+
+       t.Run(name, func(t *testing.T) {
+               // Preparation & cleanup
+               for _, p := range cleanup {
+                       err := os.Remove(p)
+                       if err != nil && !os.IsNotExist(err) {
+                               t.Fatal(err)
                        }
+                       // Remove the file at the end of this test run, if it
+                       // was created
+                       defer os.Remove(p)
+               }
 
-                       var handler func(http.ResponseWriter, *http.Request)
-                       ts := httptest.NewServer(http.HandlerFunc(
-                               func(w http.ResponseWriter, r *http.Request) {
-                                       handler(w, r)
-                               }))
-                       defer ts.Close()
-
-                       f(args{
-                               t:       t,
-                               url:     ts.URL,
-                               handler: &handler,
-                       })
+               var handler func(http.ResponseWriter, *http.Request)
+               ts := httptest.NewServer(http.HandlerFunc(
+                       func(w http.ResponseWriter, r *http.Request) {
+                               handler(w, r)
+                       }))
+               defer ts.Close()
+
+               f(args{
+                       t:       t,
+                       url:     ts.URL,
+                       handler: &handler,
                })
-       }
+       })
 }
 
 func fetchPasswdCacheFileDoesNotExist(a args) {