diff options
author | Keith Randall <khr@google.com> | 2018-07-12 16:51:27 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2018-08-08 00:26:58 +0000 |
commit | 61e4c116931fe56c6693134743b5773bbce89e79 (patch) | |
tree | 5f0fc29683a140b9b70c9f66e57c667b5e72e5f1 | |
parent | 424f4ea0bd02c47fe424193924f94670d3db9e4d (diff) | |
download | go-61e4c116931fe56c6693134743b5773bbce89e79.tar.gz go-61e4c116931fe56c6693134743b5773bbce89e79.zip |
[release-branch.go1.10] misc/cgo/test: fix issue 24161 test for 1.11 and earlier
The test uses functions from C that were introduced in OSX 1.12.
Include stubs for those functions when compiling for 1.11 and earlier.
This test really a compile-time test, it doesn't matter much what the
executed code actually does.
Use a nasty #define hack to work around the fact that cgo doesn't
support static global variables.
Update #25036
Change-Id: Icf6f7bc9b6b36cacc81d5d0e033a2ebaff7e0298
Reviewed-on: https://go-review.googlesource.com/123715
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/124216
-rw-r--r-- | misc/cgo/test/issue24161e0/main.go | 6 | ||||
-rw-r--r-- | misc/cgo/test/issue24161e1/main.go | 6 | ||||
-rw-r--r-- | misc/cgo/test/issue24161e2/main.go | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/misc/cgo/test/issue24161e0/main.go b/misc/cgo/test/issue24161e0/main.go index ec5bea9662..4e2e4b01d3 100644 --- a/misc/cgo/test/issue24161e0/main.go +++ b/misc/cgo/test/issue24161e0/main.go @@ -11,6 +11,12 @@ package issue24161e0 #cgo LDFLAGS: -framework CoreFoundation -framework Security #include <CoreFoundation/CoreFoundation.h> #include <Security/Security.h> +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200 + typedef CFStringRef SecKeyAlgorithm; + static CFDataRef SecKeyCreateSignature(SecKeyRef key, SecKeyAlgorithm algorithm, CFDataRef dataToSign, CFErrorRef *error){return NULL;} + #define kSecKeyAlgorithmECDSASignatureDigestX962SHA1 foo() + static SecKeyAlgorithm foo(void){return NULL;} +#endif */ import "C" import "testing" diff --git a/misc/cgo/test/issue24161e1/main.go b/misc/cgo/test/issue24161e1/main.go index aea0ff50c5..3e2aba2742 100644 --- a/misc/cgo/test/issue24161e1/main.go +++ b/misc/cgo/test/issue24161e1/main.go @@ -11,6 +11,12 @@ package issue24161e1 #cgo LDFLAGS: -framework CoreFoundation -framework Security #include <CoreFoundation/CoreFoundation.h> #include <Security/Security.h> +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200 + typedef CFStringRef SecKeyAlgorithm; + static CFDataRef SecKeyCreateSignature(SecKeyRef key, SecKeyAlgorithm algorithm, CFDataRef dataToSign, CFErrorRef *error){return NULL;} + #define kSecKeyAlgorithmECDSASignatureDigestX962SHA1 foo() + static SecKeyAlgorithm foo(void){return NULL;} +#endif */ import "C" import ( diff --git a/misc/cgo/test/issue24161e2/main.go b/misc/cgo/test/issue24161e2/main.go index c6675a7689..9e4053eba5 100644 --- a/misc/cgo/test/issue24161e2/main.go +++ b/misc/cgo/test/issue24161e2/main.go @@ -11,6 +11,12 @@ package issue24161e2 #cgo LDFLAGS: -framework CoreFoundation -framework Security #include <CoreFoundation/CoreFoundation.h> #include <Security/Security.h> +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200 + typedef CFStringRef SecKeyAlgorithm; + static CFDataRef SecKeyCreateSignature(SecKeyRef key, SecKeyAlgorithm algorithm, CFDataRef dataToSign, CFErrorRef *error){return NULL;} + #define kSecKeyAlgorithmECDSASignatureDigestX962SHA1 foo() + static SecKeyAlgorithm foo(void){return NULL;} +#endif */ import "C" import ( |