|  | // Copyright 2024 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 fipstest | 
|  |  | 
|  | import ( | 
|  | "crypto/internal/cryptotest" | 
|  | . "crypto/internal/fips140/edwards25519" | 
|  | "testing" | 
|  | ) | 
|  |  | 
|  | var testAllocationsSink byte | 
|  |  | 
|  | func TestEdwards25519Allocations(t *testing.T) { | 
|  | cryptotest.SkipTestAllocations(t) | 
|  | if allocs := testing.AllocsPerRun(100, func() { | 
|  | p := NewIdentityPoint() | 
|  | p.Add(p, NewGeneratorPoint()) | 
|  | s := NewScalar() | 
|  | testAllocationsSink ^= s.Bytes()[0] | 
|  | testAllocationsSink ^= p.Bytes()[0] | 
|  | }); allocs > 0 { | 
|  | t.Errorf("expected zero allocations, got %0.1v", allocs) | 
|  | } | 
|  | } |