Skip to content

Commit 96087b5

Browse files
committed
Enable verifier fuzzer in github CI/CD
This is another piece split out from PR #1153 Signed-off-by: Dave Thaler <[email protected]>
1 parent e54d049 commit 96087b5

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

.github/workflows/cicd.yml

+14
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,20 @@ jobs:
152152
code_coverage: false
153153
gather_dumps: true
154154

155+
# Run the verifier fuzzer.
156+
verifier_fuzzer:
157+
needs: libfuzzer
158+
# Always run this job.
159+
if: github.event_name == 'schedule' || github.event_name == 'pull_request'
160+
uses: ./.github/workflows/reusable-test.yml
161+
with:
162+
name: verifier_fuzzer
163+
test_command: verifier_fuzzer.exe verifier_corpus -use_value_profile=1 -max_total_time=1800
164+
build_artifact: Build-x64-fuzzer
165+
environment: windows-2019
166+
code_coverage: false
167+
gather_dumps: true
168+
155169
# Run Cilium regression tests in GitHub.
156170
cilium_tests:
157171
needs: regular

scripts/create_verifier_corpus.bat

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@echo off
2+
rem Copyright (c) Microsoft Corporation
3+
rem SPDX-License-Identifier: MIT
4+
rem
5+
rem Usage: create_verifier_corpus.bat <solution_path> <output_directory>
6+
7+
set SOLUTIONPATH=%1
8+
set OUTPUTPATH=%2
9+
xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\build" "%OUTPUTPATH%"
10+
xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\invalid" "%OUTPUTPATH%"
11+
xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\linux" "%OUTPUTPATH%"
12+
xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\prototype-kernel" "%OUTPUTPATH%"
13+
xcopy /d /i /y "%SOLUTIONPATH%\external\ebpf-verifier\ebpf-samples\suricata" "%OUTPUTPATH%"

tests/libfuzzer/verifier/verifier_fuzzer.vcxproj

+9
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,15 @@
110110
<Project>{3617528a-cb85-418b-82c1-e9cfc16755f6}</Project>
111111
</ProjectReference>
112112
</ItemGroup>
113+
<ItemGroup>
114+
<CustomBuild Include="..\..\..\scripts\create_verifier_corpus.bat">
115+
<FileType>Document</FileType>
116+
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)scripts\create_verifier_corpus.bat $(SolutionDir) $(OutDir)verifier_corpus</Command>
117+
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)scripts\create_verifier_corpus.bat $(SolutionDir) $(OutDir)verifier_corpus</Command>
118+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)verifier_corpus\twomaps.o</Outputs>
119+
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)verifier_corpus\twomaps.o</Outputs>
120+
</CustomBuild>
121+
</ItemGroup>
113122
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
114123
<ImportGroup Label="ExtensionTargets">
115124
</ImportGroup>

tests/libfuzzer/verifier/verifier_fuzzer.vcxproj.filters

+5
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,9 @@
4040
<Filter>Header Files</Filter>
4141
</ClInclude>
4242
</ItemGroup>
43+
<ItemGroup>
44+
<CustomBuild Include="..\..\..\scripts\create_verifier_corpus.bat">
45+
<Filter>Source Files</Filter>
46+
</CustomBuild>
47+
</ItemGroup>
4348
</Project>

0 commit comments

Comments
 (0)