mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
misc/cgo/testcarchive: fix tests in module mode
Updates #30228 Change-Id: I830e3c83416b2e5744f30d1a903a74c50462716b Reviewed-on: https://go-review.googlesource.com/c/163210 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
27b9571de8
commit
13d9a29060
17 changed files with 150 additions and 69 deletions
53
misc/cgo/testcarchive/testdata/libgo/libgo.go
vendored
Normal file
53
misc/cgo/testcarchive/testdata/libgo/libgo.go
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
// Copyright 2015 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 main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
_ "testcarchive/p"
|
||||
)
|
||||
|
||||
import "C"
|
||||
|
||||
var initCh = make(chan int, 1)
|
||||
var ranMain bool
|
||||
|
||||
func init() {
|
||||
// emulate an exceedingly slow package initialization function
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
initCh <- 42
|
||||
}
|
||||
|
||||
func main() { ranMain = true }
|
||||
|
||||
//export DidInitRun
|
||||
func DidInitRun() bool {
|
||||
select {
|
||||
case x := <-initCh:
|
||||
if x != 42 {
|
||||
// Just in case initCh was not correctly made.
|
||||
println("want init value of 42, got: ", x)
|
||||
syscall.Exit(2)
|
||||
}
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
//export DidMainRun
|
||||
func DidMainRun() bool { return ranMain }
|
||||
|
||||
//export CheckArgs
|
||||
func CheckArgs() {
|
||||
if len(os.Args) != 3 || os.Args[1] != "arg1" || os.Args[2] != "arg2" {
|
||||
fmt.Printf("CheckArgs: want [_, arg1, arg2], got: %v\n", os.Args)
|
||||
os.Exit(2)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue