#include <stdlib.h>
#include <sys/stat.h>
#include <errno.h>
+#include <unistd.h>
#define SHIFT(x, y) ((x)<<(y))
#define KILO SHIFT(1, 10)
import (
"syscall"
"testing"
+ "time"
"unsafe"
)
C.free(unsafe.Pointer(p))
}
+func testSetgid(t *testing.T) {
+ // Issue 3871.
+ c := make(chan bool)
+ go func() {
+ C.setgid(0)
+ c <- true
+ }()
+ select {
+ case <-c:
+ case <-time.After(5 * time.Second):
+ t.Error("setgid hung")
+ }
+}
+
var (
cuint = (C.uint)(0)
culong C.ulong
func TestParallelSleep(t *testing.T) { testParallelSleep(t) }
func TestSetEnv(t *testing.T) { testSetEnv(t) }
func TestHelpers(t *testing.T) { testHelpers(t) }
+func TestSetgid(t *testing.T) { testSetgid(t) }
func BenchmarkCgoCall(b *testing.B) { benchCgoCall(b) }