From b05f3de56f018370ce347c2e565ce16cd724f7c3 Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Tue, 25 Feb 2014 23:02:19 +0900 Subject: [PATCH] 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 --- src/pkg/syscall/syscall_unix_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 -- 2.48.1