Skip to content

Commit 8d9e8bb

Browse files
L-serieshanno-becker
authored andcommitted
testing: add rng failure test to CI
Add the rng failure test to the CI. Signed-off-by: Andreas Hatziiliou <[email protected]>
1 parent c811439 commit 8d9e8bb

File tree

4 files changed

+31
-2
lines changed

4 files changed

+31
-2
lines changed

.github/actions/config-variations/action.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ runs:
6565
extra_env: 'ASAN_OPTIONS=detect_leaks=1'
6666
examples: false # Some examples use a custom config themselves
6767
alloc: false # Requires custom config
68+
rng_fail: false # Requires custom config
6869
- name: "Custom zeroization (explicit_bzero)"
6970
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'custom-zeroize') }}
7071
uses: ./.github/actions/multi-functest
@@ -79,6 +80,7 @@ runs:
7980
opt: ${{ inputs.opt }}
8081
examples: false # Some examples use a custom config themselves
8182
alloc: false # Requires custom config
83+
rng_fail: false # Requires custom config
8284
- name: "Custom native capability functions (static ON)"
8385
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'native-cap-ON') }}
8486
uses: ./.github/actions/multi-functest
@@ -93,6 +95,7 @@ runs:
9395
opt: ${{ inputs.opt }}
9496
examples: false # Some examples use a custom config themselves
9597
alloc: false # Requires custom config
98+
rng_fail: false # Requires custom config
9699
- name: "Custom native capability functions (static OFF)"
97100
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'native-cap-OFF') }}
98101
uses: ./.github/actions/multi-functest
@@ -107,6 +110,7 @@ runs:
107110
opt: ${{ inputs.opt }}
108111
examples: false # Some examples use a custom config themselves
109112
alloc: false # Requires custom config
113+
rng_fail: false # Requires custom config
110114
- name: "Custom native capability functions (ID_AA64PFR1_EL1 detection)"
111115
if: ${{ (inputs.tests == 'all' || contains(inputs.tests, 'native-cap-ID_AA64PFR1_EL1')) && runner.os == 'Linux' && runner.arch == 'ARM64' }}
112116
uses: ./.github/actions/multi-functest
@@ -121,6 +125,7 @@ runs:
121125
opt: ${{ inputs.opt }}
122126
examples: false # Some examples use a custom config themselves
123127
alloc: false # Requires custom config
128+
rng_fail: false # Requires custom config
124129
- name: "Custom native capability functions (CPUID AVX2 detection)"
125130
if: ${{ (inputs.tests == 'all' || contains(inputs.tests, 'native-cap-CPUID_AVX2')) && runner.os == 'Linux' && runner.arch == 'X64' }}
126131
uses: ./.github/actions/multi-functest
@@ -135,6 +140,7 @@ runs:
135140
opt: ${{ inputs.opt }}
136141
examples: false # Some examples use a custom config themselves
137142
alloc: false # Requires custom config
143+
rng_fail: false # Requires custom config
138144
- name: "No ASM"
139145
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'no-asm') }}
140146
uses: ./.github/actions/multi-functest
@@ -149,6 +155,7 @@ runs:
149155
opt: ${{ inputs.opt }}
150156
examples: false # Some examples use a custom config themselves
151157
alloc: false # Requires custom config
158+
rng_fail: false # Requires custom config
152159
- name: "Serial FIPS202 (no batched Keccak)"
153160
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'serial-fips202') }}
154161
uses: ./.github/actions/multi-functest
@@ -163,6 +170,7 @@ runs:
163170
opt: ${{ inputs.opt }}
164171
examples: false # Some examples use a custom config themselves
165172
alloc: false # Requires custom config
173+
rng_fail: false # Requires custom config
166174
- name: "Custom randombytes"
167175
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'custom-randombytes') }}
168176
uses: ./.github/actions/multi-functest
@@ -177,6 +185,7 @@ runs:
177185
opt: ${{ inputs.opt }}
178186
examples: false # Some examples use a custom config themselves
179187
alloc: false # Requires custom config
188+
rng_fail: false # Requires custom config
180189
- name: "Custom memcpy"
181190
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'custom-memcpy') }}
182191
uses: ./.github/actions/multi-functest
@@ -191,6 +200,7 @@ runs:
191200
opt: ${{ inputs.opt }}
192201
examples: false # Some examples use a custom config themselves
193202
alloc: false # Requires custom config
203+
rng_fail: false # Requires custom config
194204
- name: "Custom memset"
195205
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'custom-memset') }}
196206
uses: ./.github/actions/multi-functest
@@ -205,6 +215,7 @@ runs:
205215
opt: ${{ inputs.opt }}
206216
examples: false # Some examples use a custom config themselves
207217
alloc: false # Requires custom config
218+
rng_fail: false # Requires custom config
208219
- name: "Custom stdlib (memcpy + memset)"
209220
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'custom-stdlib') }}
210221
uses: ./.github/actions/multi-functest
@@ -219,6 +230,7 @@ runs:
219230
opt: ${{ inputs.opt }}
220231
examples: false # Some examples use a custom config themselves
221232
alloc: false # Requires custom config
233+
rng_fail: false # Requires custom config
222234
- name: "MLKEM_GEN_MATRIX_NBLOCKS=1"
223235
if: ${{ inputs.tests == 'all' || contains(inputs.tests, 'nblocks-1') }}
224236
uses: ./.github/actions/multi-functest

.github/actions/functest/action.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ inputs:
5959
alloc:
6060
description: Determine whether to run alloc tests or not
6161
default: "true"
62+
rng_fail:
63+
description: Determine whether to run rng fail tests or not
64+
default: "true"
6265
extra_args:
6366
description: Additional arguments to pass to the tests script
6467
default: ""
@@ -80,6 +83,7 @@ runs:
8083
echo EXAMPLES="${{ inputs.examples == 'true' && 'examples' || 'no-examples' }}" >> $GITHUB_ENV
8184
echo STACK="${{ inputs.stack == 'true' && 'stack' || 'no-stack' }}" >> $GITHUB_ENV
8285
echo ALLOC="${{ inputs.alloc == 'true' && 'alloc' || 'no-alloc' }}" >> $GITHUB_ENV
86+
echo RNGFAIL="${{ inputs.rng_fail == 'true' && 'rng-fail' || 'no-rng-fail' }}" >> $GITHUB_ENV
8387
- name: Setup nix
8488
uses: ./.github/actions/setup-shell
8589
with:
@@ -110,11 +114,11 @@ runs:
110114
- $(python3 --version)
111115
- $(${{ inputs.cross_prefix }}${CC} --version | grep -m1 "")
112116
EOF
113-
- name: ${{ env.MODE }} ${{ inputs.opt }} tests (${{ env.FUNC }}, ${{ env.KAT }}, ${{ env.EXAMPLES }}, ${{ env.STACK }}, ${{ env.UNIT }}, ${{ env.ALLOC }})
117+
- name: ${{ env.MODE }} ${{ inputs.opt }} tests (${{ env.FUNC }}, ${{ env.KAT }}, ${{ env.EXAMPLES }}, ${{ env.STACK }}, ${{ env.UNIT }}, ${{ env.ALLOC }}, ${{ env.RNGFAIL }})
114118
shell: ${{ env.SHELL }}
115119
run: |
116120
make clean
117-
${{ inputs.extra_env }} ./scripts/tests all ${{ inputs.check_namespace == 'true' && '--check-namespace' || ''}} --exec-wrapper="${{ inputs.exec_wrapper }}" --cross-prefix="${{ inputs.cross_prefix }}" --cflags="${{ inputs.cflags }}" --ldflags="${{ inputs.ldflags }}" --opt=${{ inputs.opt }} --${{ env.FUNC }} --${{ env.KAT }} --${{ env.ACVP }} --${{ env.EXAMPLES }} --${{ env.STACK }} --${{ env.UNIT }} --${{ env.ALLOC }} -v ${{ inputs.extra_args }}
121+
${{ inputs.extra_env }} ./scripts/tests all ${{ inputs.check_namespace == 'true' && '--check-namespace' || ''}} --exec-wrapper="${{ inputs.exec_wrapper }}" --cross-prefix="${{ inputs.cross_prefix }}" --cflags="${{ inputs.cflags }}" --ldflags="${{ inputs.ldflags }}" --opt=${{ inputs.opt }} --${{ env.FUNC }} --${{ env.KAT }} --${{ env.ACVP }} --${{ env.EXAMPLES }} --${{ env.STACK }} --${{ env.UNIT }} --${{ env.ALLOC }} --${{ env.RNGFAIL }} -v ${{ inputs.extra_args }}
118122
- name: Post ${{ env.MODE }} Tests
119123
shell: ${{ env.SHELL }}
120124
if: success() || failure()

.github/actions/multi-functest/action.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ inputs:
5656
alloc:
5757
description: Determine whether to run alloc tests or not
5858
default: "true"
59+
rng_fail:
60+
description: Determine whether to run rng fail tests or not
61+
default: "true"
5962
extra_args:
6063
description: Additional arguments to pass to the tests script
6164
default: ""
@@ -85,6 +88,7 @@ runs:
8588
check_namespace: ${{ inputs.check_namespace }}
8689
stack: ${{ inputs.stack }}
8790
alloc: ${{ inputs.alloc }}
91+
rng_fail: ${{ inputs.rng_fail }}
8892
extra_args: ${{ inputs.extra_args }}
8993
extra_env: ${{ inputs.extra_env }}
9094
- name: Cross x86_64 Tests
@@ -109,6 +113,7 @@ runs:
109113
check_namespace: ${{ inputs.check_namespace }}
110114
stack: ${{ inputs.stack }}
111115
alloc: ${{ inputs.alloc }}
116+
rng_fail: ${{ inputs.rng_fail }}
112117
extra_args: ${{ inputs.extra_args }}
113118
extra_env: ${{ inputs.extra_env }}
114119
- name: Cross aarch64 Tests
@@ -133,6 +138,7 @@ runs:
133138
check_namespace: ${{ inputs.check_namespace }}
134139
stack: ${{ inputs.stack }}
135140
alloc: ${{ inputs.alloc }}
141+
rng_fail: ${{ inputs.rng_fail }}
136142
extra_args: ${{ inputs.extra_args }}
137143
extra_env: ${{ inputs.extra_env }}
138144
- name: Cross ppc64le Tests
@@ -157,6 +163,7 @@ runs:
157163
check_namespace: ${{ inputs.check_namespace }}
158164
stack: ${{ inputs.stack }}
159165
alloc: ${{ inputs.alloc }}
166+
rng_fail: ${{ inputs.rng_fail }}
160167
extra_args: ${{ inputs.extra_args }}
161168
extra_env: ${{ inputs.extra_env }}
162169
- name: Cross aarch64_be Tests
@@ -181,6 +188,7 @@ runs:
181188
check_namespace: ${{ inputs.check_namespace }}
182189
stack: ${{ inputs.stack }}
183190
alloc: ${{ inputs.alloc }}
191+
rng_fail: ${{ inputs.rng_fail }}
184192
extra_args: ${{ inputs.extra_args }}
185193
extra_env: ${{ inputs.extra_env }}
186194
- name: Cross riscv64 Tests (RVV, VLEN=128)
@@ -205,6 +213,7 @@ runs:
205213
check_namespace: ${{ inputs.check_namespace }}
206214
stack: ${{ inputs.stack }}
207215
alloc: ${{ inputs.alloc }}
216+
rng_fail: ${{ inputs.rng_fail }}
208217
extra_args: ${{ inputs.extra_args }}
209218
extra_env: ${{ inputs.extra_env }}
210219
- name: Cross riscv64 Tests (RVV, VLEN=256)
@@ -228,6 +237,7 @@ runs:
228237
check_namespace: ${{ inputs.check_namespace }}
229238
stack: ${{ inputs.stack }}
230239
alloc: ${{ inputs.alloc }}
240+
rng_fail: ${{ inputs.rng_fail }}
231241
extra_args: ${{ inputs.extra_args }}
232242
extra_env: ${{ inputs.extra_env }}
233243
- name: Cross riscv64 Tests (RVV, VLEN=512)
@@ -251,6 +261,7 @@ runs:
251261
check_namespace: ${{ inputs.check_namespace }}
252262
stack: ${{ inputs.stack }}
253263
alloc: ${{ inputs.alloc }}
264+
rng_fail: ${{ inputs.rng_fail }}
254265
extra_args: ${{ inputs.extra_args }}
255266
extra_env: ${{ inputs.extra_env }}
256267
- name: Cross riscv64 Tests (RVV, VLEN=1024)
@@ -274,6 +285,7 @@ runs:
274285
check_namespace: ${{ inputs.check_namespace }}
275286
stack: ${{ inputs.stack }}
276287
alloc: ${{ inputs.alloc }}
288+
rng_fail: ${{ inputs.rng_fail }}
277289
extra_args: ${{ inputs.extra_args }}
278290
extra_env: ${{ inputs.extra_env }}
279291
- name: Cross riscv32 Tests

.github/workflows/baremetal.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,4 @@ jobs:
4949
examples: false
5050
stack: false
5151
alloc: ${{ matrix.target.alloc }}
52+
rng_fail: false

0 commit comments

Comments
 (0)