12345678910111213141516171819202122232425262728293031323334353637 |
- // Copyright 2016 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 ignore && s390x
- package sha512
- import (
- "fmt"
- "io"
- "testing"
- )
- // Tests the fallback code path in case the optimized asm
- // implementation cannot be used.
- // See also TestBlockGeneric.
- func TestGenericPath(t *testing.T) {
- if useAsm == false {
- t.Skipf("assembly implementation unavailable")
- }
- useAsm = false
- defer func() { useAsm = true }()
- c := New()
- in := "ΑΒΓΔΕϜΖΗΘΙΚΛΜΝΞΟΠϺϘΡΣΤΥΦΧΨΩ"
- gold := "6922e319366d677f34c504af31bfcb29" +
- "e531c125ecd08679362bffbd6b6ebfb9" +
- "0dcc27dfc1f3d3b16a16c0763cf43b91" +
- "40bbf9bbb7233724e9a0c6655b185d76"
- if _, err := io.WriteString(c, in); err != nil {
- t.Fatalf("could not write to c: %v", err)
- }
- out := fmt.Sprintf("%x", c.Sum(nil))
- if out != gold {
- t.Fatalf("mismatch: got %s, wanted %s", out, gold)
- }
- }
|