| // Copyright (c) The M1CPU Authors |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| //go:build !darwin || !arm64 || !cgo |
| |
| package m1cpu |
| |
| import ( |
| "testing" |
| |
| "github.com/shoenig/test/must" |
| ) |
| |
| const ( |
| message = "m1cpu: not a darwin/arm64 system" |
| ) |
| |
| func panics(f func()) (message string) { |
| defer func() { |
| if r := recover(); r != nil { |
| message = r.(string) |
| } |
| }() |
| f() |
| return |
| } |
| |
| func Test_IsAppleSilicon(t *testing.T) { |
| result := IsAppleSilicon() |
| must.False(t, result) |
| } |
| |
| func check(t *testing.T, f func()) { |
| t.Helper() |
| result := panics(f) |
| must.Eq(t, result, message) |
| } |
| |
| func Test_PCoreHz(t *testing.T) { |
| check(t, func() { _ = PCoreHz() }) |
| } |
| |
| func Test_ECoreHz(t *testing.T) { |
| check(t, func() { _ = ECoreHz() }) |
| } |
| |
| func Test_PCoreGHz(t *testing.T) { |
| check(t, func() { _ = PCoreGHz() }) |
| } |
| |
| func Test_ECoreGHz(t *testing.T) { |
| check(t, func() { _ = ECoreGHz() }) |
| } |
| |
| func Test_PCoreCount(t *testing.T) { |
| check(t, func() { _ = PCoreCount() }) |
| } |
| |
| func Test_ECoreCount(t *testing.T) { |
| check(t, func() { _ = ECoreCount() }) |
| } |
| |
| func Test_PCoreCache(t *testing.T) { |
| check(t, func() { _, _, _ = PCoreCache() }) |
| } |
| |
| func Test_ECoreCache(t *testing.T) { |
| check(t, func() { _, _, _ = ECoreCache() }) |
| } |
| |
| func Test_ModelName(t *testing.T) { |
| check(t, func() { _ = ModelName() }) |
| } |