aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/ecdsa/ecdsa_s390x_test.go
blob: e8b16b3668bd1f8d8531e4494d5487b9599ac432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2020 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.

//go:build s390x
// +build s390x

package ecdsa

import (
	"crypto/elliptic"
	"testing"
)

func TestNoAsm(t *testing.T) {
	curves := [...]elliptic.Curve{
		elliptic.P256(),
		elliptic.P384(),
		elliptic.P521(),
	}

	for _, curve := range curves {
		// override the name of the curve to stop the assembly path being taken
		params := *curve.Params()
		name := params.Name
		params.Name = name + "_GENERIC_OVERRIDE"

		testKeyGeneration(t, &params, name)
		testSignAndVerify(t, &params, name)
		testNonceSafety(t, &params, name)
		testINDCCA(t, &params, name)
		testNegativeInputs(t, &params, name)
	}
}