From: Keith Randall Date: Thu, 12 Jul 2018 23:51:27 +0000 (-0700) Subject: [release-branch.go1.10] misc/cgo/test: fix issue 24161 test for 1.11 and earlier X-Git-Tag: go1.10.4~12 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=61e4c116931fe56c6693134743b5773bbce89e79;p=gostls13.git [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 Reviewed-by: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-on: https://go-review.googlesource.com/124216 --- 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 #include +#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 #include +#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 #include +#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 (