Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
boringssl-with-bazel
src
crypto
fipsmodule
sha
sha_test.cc
Go to the documentation of this file.
1
/* Copyright (c) 2018, Google Inc.
2
*
3
* Permission to use, copy, modify, and/or distribute this software for any
4
* purpose with or without fee is hereby granted, provided that the above
5
* copyright notice and this permission notice appear in all copies.
6
*
7
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
14
15
#include <
openssl/sha.h
>
16
17
#include <gtest/gtest.h>
18
19
#include "
internal.h
"
20
#include "../../test/abi_test.h"
21
22
23
#if defined(SHA1_ASM) && defined(SUPPORTS_ABI_TEST)
24
TEST
(SHATest, SHA1ABI) {
25
SHA_CTX
ctx
;
26
SHA1_Init
(&
ctx
);
27
28
static
const
uint8_t
kBuf[
SHA_CBLOCK
* 8] = {0};
29
CHECK_ABI
(
sha1_block_data_order
,
ctx
.h, kBuf, 1);
30
CHECK_ABI
(
sha1_block_data_order
,
ctx
.h, kBuf, 2);
31
CHECK_ABI
(
sha1_block_data_order
,
ctx
.h, kBuf, 4);
32
CHECK_ABI
(
sha1_block_data_order
,
ctx
.h, kBuf, 8);
33
}
34
#endif // SHA1_ASM && SUPPORTS_ABI_TEST
35
36
#if defined(SHA256_ASM) && defined(SUPPORTS_ABI_TEST)
37
TEST
(SHATest, SHA256ABI) {
38
SHA256_CTX
ctx
;
39
SHA256_Init
(&
ctx
);
40
41
static
const
uint8_t
kBuf[
SHA256_CBLOCK
* 8] = {0};
42
CHECK_ABI
(
sha256_block_data_order
,
ctx
.h, kBuf, 1);
43
CHECK_ABI
(
sha256_block_data_order
,
ctx
.h, kBuf, 2);
44
CHECK_ABI
(
sha256_block_data_order
,
ctx
.h, kBuf, 4);
45
CHECK_ABI
(
sha256_block_data_order
,
ctx
.h, kBuf, 8);
46
}
47
#endif // SHA256_ASM && SUPPORTS_ABI_TEST
48
49
#if defined(SHA512_ASM) && defined(SUPPORTS_ABI_TEST)
50
TEST
(SHATest, SHA512ABI) {
51
SHA512_CTX
ctx
;
52
SHA512_Init
(&
ctx
);
53
54
static
const
uint8_t
kBuf[
SHA512_CBLOCK
* 4] = {0};
55
CHECK_ABI
(
sha512_block_data_order
,
ctx
.h, kBuf, 1);
56
CHECK_ABI
(
sha512_block_data_order
,
ctx
.h, kBuf, 2);
57
CHECK_ABI
(
sha512_block_data_order
,
ctx
.h, kBuf, 3);
58
CHECK_ABI
(
sha512_block_data_order
,
ctx
.h, kBuf, 4);
59
}
60
#endif // SHA512_ASM && SUPPORTS_ABI_TEST
SHA_CBLOCK
#define SHA_CBLOCK
Definition:
sha.h:71
ctx
Definition:
benchmark-async.c:30
internal.h
SHA256_CBLOCK
#define SHA256_CBLOCK
Definition:
sha.h:152
SHA1_Init
#define SHA1_Init
Definition:
boringssl_prefix_symbols.h:2147
ctx
static struct test_ctx ctx
Definition:
test-ipc-send-recv.c:65
uint8_t
unsigned char uint8_t
Definition:
stdint-msvc2008.h:78
SHA512_Init
#define SHA512_Init
Definition:
boringssl_prefix_symbols.h:2170
TEST
#define TEST(name, init_size,...)
Definition:
arena_test.cc:75
sha_state_st
Definition:
sha.h:99
sha.h
sha1_block_data_order
#define sha1_block_data_order
Definition:
boringssl_prefix_symbols.h:3371
sha256_state_st
Definition:
sha.h:189
SHA256_Init
#define SHA256_Init
Definition:
boringssl_prefix_symbols.h:2156
sha512_block_data_order
#define sha512_block_data_order
Definition:
boringssl_prefix_symbols.h:3373
CHECK_ABI
#define CHECK_ABI(...)
Definition:
abi_test.h:472
sha256_block_data_order
#define sha256_block_data_order
Definition:
boringssl_prefix_symbols.h:3372
SHA512_CBLOCK
#define SHA512_CBLOCK
Definition:
sha.h:227
sha512_state_st
Definition:
sha.h:256
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:18