Josh Bleecher Snyder submitted this change.
net: add UDP allocs test
Change-Id: Ibefd1ca0236d17d57fc5aa5938a56ae92272ca60
Reviewed-on: https://go-review.googlesource.com/c/go/+/361396
Trust: Josh Bleecher Snyder <josh...@gmail.com>
Run-TryBot: Josh Bleecher Snyder <josh...@gmail.com>
TryBot-Result: Go Bot <go...@golang.org>
Reviewed-by: Ian Lance Taylor <ia...@golang.org>
---
M src/net/udpsock_test.go
1 file changed, 67 insertions(+), 0 deletions(-)
diff --git a/src/net/udpsock_test.go b/src/net/udpsock_test.go
index 7eef6f6..518c66c 100644
--- a/src/net/udpsock_test.go
+++ b/src/net/udpsock_test.go
@@ -474,6 +474,59 @@
}
}
+func TestAllocs(t *testing.T) {
+ conn, err := ListenUDP("udp4", &UDPAddr{IP: IPv4(127, 0, 0, 1)})
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer conn.Close()
+ addr := conn.LocalAddr()
+ addrPort := addr.(*UDPAddr).AddrPort()
+ buf := make([]byte, 8)
+
+ allocs := testing.AllocsPerRun(1000, func() {
+ _, _, err := conn.WriteMsgUDPAddrPort(buf, nil, addrPort)
+ if err != nil {
+ t.Fatal(err)
+ }
+ _, _, _, _, err = conn.ReadMsgUDPAddrPort(buf, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ })
+ if got := int(allocs); got != 0 {
+ t.Errorf("WriteMsgUDPAddrPort/ReadMsgUDPAddrPort allocated %d objects", got)
+ }
+
+ allocs = testing.AllocsPerRun(1000, func() {
+ _, err := conn.WriteToUDPAddrPort(buf, addrPort)
+ if err != nil {
+ t.Fatal(err)
+ }
+ _, _, err = conn.ReadFromUDPAddrPort(buf)
+ if err != nil {
+ t.Fatal(err)
+ }
+ })
+ if got := int(allocs); got != 0 {
+ t.Errorf("WriteToUDPAddrPort/ReadFromUDPAddrPort allocated %d objects", got)
+ }
+
+ allocs = testing.AllocsPerRun(1000, func() {
+ _, err := conn.WriteTo(buf, addr)
+ if err != nil {
+ t.Fatal(err)
+ }
+ _, _, err = conn.ReadFromUDP(buf)
+ if err != nil {
+ t.Fatal(err)
+ }
+ })
+ if got := int(allocs); got != 1 {
+ t.Errorf("WriteTo/ReadFromUDP allocated %d objects", got)
+ }
+}
+
func BenchmarkReadWriteMsgUDPAddrPort(b *testing.B) {
conn, err := ListenUDP("udp4", &UDPAddr{IP: IPv4(127, 0, 0, 1)})
if err != nil {
To view, visit change 361396. To unsubscribe, or for help writing mail filters, visit settings.