aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikio Hara <mikioh.mikioh@gmail.com>2014-02-25 23:02:19 +0900
committerMikio Hara <mikioh.mikioh@gmail.com>2014-02-25 23:02:19 +0900
commitb05f3de56f018370ce347c2e565ce16cd724f7c3 (patch)
tree389675b2d8bb8f761d964ea7dfc1b7dcb0c64414 /src
parentec0c9f270e8c09b00df5e45d87cfa4c85df63271 (diff)
downloadgo-b05f3de56f018370ce347c2e565ce16cd724f7c3.tar.xz
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
Diffstat (limited to 'src')
-rw-r--r--src/pkg/syscall/syscall_unix_test.go10
1 files changed, 10 insertions, 0 deletions
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