From: Mikio Hara Date: Tue, 25 Feb 2014 14:02:19 +0000 (+0900) Subject: syscall: add mmap test X-Git-Tag: go1.3beta1~585 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b05f3de56f018370ce347c2e565ce16cd724f7c3;p=gostls13.git syscall: add mmap test This CL adds a test that calls Mmap and Munmap through Syscall9 as the canary that detects assembly fragment breakage. For now there is no package test that uses Syscall9 in the standard library across all Unix-like systems. Note that the package runtime owns its assembly fragments, so this canary never works for runtime breakage. LGTM=iant, bradfitz R=iant, minux.ma, bradfitz CC=golang-codereviews https://golang.org/cl/61520049 --- diff --git a/src/pkg/syscall/syscall_unix_test.go b/src/pkg/syscall/syscall_unix_test.go index 0292d3b37f..acc355f0b2 100644 --- a/src/pkg/syscall/syscall_unix_test.go +++ b/src/pkg/syscall/syscall_unix_test.go @@ -77,6 +77,16 @@ func TestFcntlFlock(t *testing.T) { } } +func TestMmap(t *testing.T) { + b, err := syscall.Mmap(-1, 0, syscall.Getpagesize(), syscall.PROT_NONE, syscall.MAP_ANON|syscall.MAP_PRIVATE) + if err != nil { + t.Fatalf("Mmap: %v", err) + } + if err := syscall.Munmap(b); err != nil { + t.Fatalf("Munmap: %v", err) + } +} + // TestPassFD tests passing a file descriptor over a Unix socket. // // This test involved both a parent and child process. The parent