summary refs log tree commit diff stats
path: root/cache_test.go
diff options
context:
space:
mode:
authorBen Morrison <ben@gbmor.dev>2019-05-27 19:01:04 -0400
committerBen Morrison <ben@gbmor.dev>2019-05-27 19:01:04 -0400
commitd6d0c18cad6426a0562d19b2b0c66a7c2bb4e2c5 (patch)
tree0157890c7bf462db415ad0ed59828576496b2685 /cache_test.go
parent6f9383517d8dbee557d2b52113e20e08207b533e (diff)
downloadgetwtxt-d6d0c18cad6426a0562d19b2b0c66a7c2bb4e2c5.tar.gz
fixed race condition
Diffstat (limited to 'cache_test.go')
-rw-r--r--cache_test.go20
1 files changed, 11 insertions, 9 deletions
diff --git a/cache_test.go b/cache_test.go
index 82d37c2..cb92c38 100644
--- a/cache_test.go
+++ b/cache_test.go
@@ -79,17 +79,19 @@ func Benchmark_pushDatabase(b *testing.B) {
 		initDatabase()
 	}
 
-	out, _, err := registry.GetTwtxt("https://gbmor.dev/twtxt.txt")
-	if err != nil {
-		b.Errorf("Couldn't set up benchmark: %v\n", err)
-	}
+	if _, ok := twtxtCache.Users["https://gbmor.dev/twtxt.txt"]; !ok {
+		out, _, err := registry.GetTwtxt("https://gbmor.dev/twtxt.txt")
+		if err != nil {
+			b.Errorf("Couldn't set up benchmark: %v\n", err)
+		}
 
-	statusmap, err := registry.ParseUserTwtxt(out, "gbmor", "https://gbmor.dev/twtxt.txt")
-	if err != nil {
-		b.Errorf("Couldn't set up benchmark: %v\n", err)
-	}
+		statusmap, err := registry.ParseUserTwtxt(out, "gbmor", "https://gbmor.dev/twtxt.txt")
+		if err != nil {
+			b.Errorf("Couldn't set up benchmark: %v\n", err)
+		}
 
-	twtxtCache.AddUser("gbmor", "https://gbmor.dev/twtxt.txt", net.ParseIP("127.0.0.1"), statusmap)
+		twtxtCache.AddUser("gbmor", "https://gbmor.dev/twtxt.txt", net.ParseIP("127.0.0.1"), statusmap)
+	}
 
 	b.ResetTimer()