// Copyright 2025 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 cryptotest

import (
	
	
	
	
	
	
	
	
)

type MakeHash func() hash.Hash

// TestHash performs a set of tests on hash.Hash implementations, checking the
// documented requirements of Write, Sum, Reset, Size, and BlockSize.
func ( *testing.T,  MakeHash) {
	if boring.Enabled || fips140.Version() == "v1.0" {
		testhash.TestHashWithoutClone(, testhash.MakeHash())
		return
	}
	testhash.TestHash(, testhash.MakeHash())
}

func newRandReader( *testing.T) io.Reader {
	 := time.Now().UnixNano()
	.Logf("Deterministic RNG seed: 0x%x", )
	return rand.New(rand.NewSource())
}