mirror of
https://github.com/golang/go.git
synced 2025-05-23 16:31:27 +00:00
This makes the test easier to run in isolation and easier to change, and simplifies the code to run the tests in parallel. updates #13467 Change-Id: I5622b5cc98276970347da18e95d071dbca3c5cc1 Reviewed-on: https://go-review.googlesource.com/63276 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
35 lines
766 B
Go
35 lines
766 B
Go
// 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.
|
|
}
|
|
}
|