diff options
| author | Bryan C. Mills <bcmills@google.com> | 2019-02-21 09:06:09 -0500 |
|---|---|---|
| committer | Bryan C. Mills <bcmills@google.com> | 2019-02-22 17:24:25 +0000 |
| commit | 8ea27e117fffbb14ef3605a641444b79e9bd6c9e (patch) | |
| tree | 1e36f0447182c7aa54752a948e86ba7b3d3991da /misc/cgo/errors/testdata/malloc.go | |
| parent | b35dacaac57b039205d9b07ea24098e2c3fcb12e (diff) | |
| download | go-8ea27e117fffbb14ef3605a641444b79e9bd6c9e.tar.xz | |
misc/cgo/errors: fix tests in module mode
Updates #30228
Change-Id: I84bc705591bdb3da0106404b24353251939355b8
Reviewed-on: https://go-review.googlesource.com/c/163209
Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'misc/cgo/errors/testdata/malloc.go')
| -rw-r--r-- | misc/cgo/errors/testdata/malloc.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/misc/cgo/errors/testdata/malloc.go b/misc/cgo/errors/testdata/malloc.go new file mode 100644 index 0000000000..65da0208b9 --- /dev/null +++ b/misc/cgo/errors/testdata/malloc.go @@ -0,0 +1,34 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test that C.malloc does not return nil. + +package main + +// #include <stdlib.h> +import "C" + +import ( + "fmt" + "runtime" +) + +func main() { + var size C.size_t + size-- + + // The Dragonfly libc succeeds when asked to allocate + // 0xffffffffffffffff bytes, so pass a different value that + // causes it to fail. + if runtime.GOOS == "dragonfly" { + size = C.size_t(0x7fffffff << (32 * (^uintptr(0) >> 63))) + } + + p := C.malloc(size) + if p == nil { + fmt.Println("malloc: C.malloc returned nil") + // Just exit normally--the test script expects this + // program to crash, so exiting normally indicates failure. + } +} |
