]> www.average.org Git - loctrkd.git/commitdiff
test: fuzzing collector
authorEugene Crosser <crosser@average.org>
Tue, 14 Jun 2022 22:04:09 +0000 (00:04 +0200)
committerEugene Crosser <crosser@average.org>
Tue, 14 Jun 2022 22:04:32 +0000 (00:04 +0200)
test/test_fuzz.py [new file with mode: 0644]

diff --git a/test/test_fuzz.py b/test/test_fuzz.py
new file mode 100644 (file)
index 0000000..6dea449
--- /dev/null
@@ -0,0 +1,30 @@
+""" Send junk to the collector """
+
+from random import Random
+from socket import getaddrinfo, socket, AF_INET6, SOCK_STREAM
+from unittest import TestCase
+
+REPEAT: int = 1000000
+
+
+class Fuzz(TestCase):
+    def setUp(self) -> None:
+        self.rnd = Random()
+        for fam, typ, pro, cnm, skadr in getaddrinfo(
+            "::1",
+            4303,
+            family=AF_INET6,
+            type=SOCK_STREAM,
+        ):
+            break  # Just take the first element
+        self.sock = socket(AF_INET6, SOCK_STREAM)
+        self.sock.connect(skadr)
+
+    def tearDown(self) -> None:
+        self.sock.close()
+
+    def test_fuzz(self) -> None:
+        for _ in range(REPEAT):
+            size = self.rnd.randint(1, 5000)
+            buf = self.rnd.randbytes(size)
+            self.sock.send(buf)