// Copyright 2012 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.

package cgotest

import "testing"

func TestSetgid(t *testing.T)      { testSetgid(t) }
func Test6997(t *testing.T)        { test6997(t) }
func TestBuildID(t *testing.T)     { testBuildID(t) }
func Test9400(t *testing.T)        { test9400(t) }
func TestSigProcMask(t *testing.T) { testSigProcMask(t) }
