mirror of
https://github.com/golang/go
synced 2024-11-08 18:26:14 -07:00
1f9f88b95e
Regression tests for #24161 use a macro to conditionally compile some stub definitions. The macro tests that the minimum macOS version is less than 10.12. We get duplicate definitions when building this test with CGO_CFLAGS=-mmacosx-version-min=10.x where 10.x < 10.12. With this change, we use a different macro, __MAC_OS_X_VERSION_MAX_ALLOWED__, which tests the SDK version instead of the minimum macOS version. This checks whether these definitions are present in headers. After this change, 'go tool dist test cgo_test' should pass with CGO_FLAGS=-mmacosx-version-min=10.10. Updates #35459 Change-Id: I88d63601c94b0369c73c38d216a2d41ba7d4e579 Reviewed-on: https://go-review.googlesource.com/c/go/+/216243 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
41 lines
1.0 KiB
Go
41 lines
1.0 KiB
Go
// Copyright 2018 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.
|
|
|
|
// +build darwin
|
|
|
|
package issue24161e2
|
|
|
|
/*
|
|
#cgo CFLAGS: -x objective-c
|
|
#cgo LDFLAGS: -framework CoreFoundation -framework Security
|
|
#include <TargetConditionals.h>
|
|
#include <CoreFoundation/CoreFoundation.h>
|
|
#include <Security/Security.h>
|
|
#if TARGET_OS_IPHONE == 0 && __MAC_OS_X_VERSION_MAX_ALLOWED < 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 (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
var _ C.CFStringRef
|
|
|
|
func f1() {
|
|
C.SecKeyCreateSignature(0, C.kSecKeyAlgorithmECDSASignatureDigestX962SHA1, 0, nil)
|
|
}
|
|
|
|
func f2(e C.CFErrorRef) {
|
|
if desc := C.CFErrorCopyDescription(e); desc != 0 {
|
|
fmt.Println(desc)
|
|
}
|
|
}
|
|
|
|
func Test(t *testing.T) {}
|