Skip to content

Commit 3c0f715

Browse files
graydonclaude
andcommitted
Unify and adapt fuzzing to oss-fuzz interface
Co-Authored-By: Claude Opus 4.5 <claude@anthropic.com>
1 parent cc4b64d commit 3c0f715

37 files changed

Lines changed: 4025 additions & 2790 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ compile_commands.json
6666
/autom4te.cache
6767
/build
6868
/src/stellar-core
69+
/src/fuzz_*
6970
/buckets
7071
/compile
7172
/config.h

Builds/VisualStudio/stellar-core.vcxproj

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,13 @@ exit /b 0
670670
<ClCompile Include="..\..\src\overlay\TxDemandsManager.cpp" />
671671
<ClCompile Include="..\..\src\simulation\ApplyLoad.cpp" />
672672
<ClCompile Include="..\..\src\simulation\TxGenerator.cpp" />
673-
<ClCompile Include="..\..\src\test\FuzzerImpl.cpp" />
673+
<ClCompile Include="..\..\src\test\fuzz\FuzzMain.cpp" />
674+
<ClCompile Include="..\..\src\test\fuzz\FuzzRegressionTests.cpp" />
675+
<ClCompile Include="..\..\src\test\fuzz\FuzzTargetRegistry.cpp" />
676+
<ClCompile Include="..\..\src\test\fuzz\FuzzUtils.cpp" />
677+
<ClCompile Include="..\..\src\test\fuzz\targets\OverlayFuzzTarget.cpp" />
678+
<ClCompile Include="..\..\src\test\fuzz\targets\SorobanFuzzTargets.cpp" />
679+
<ClCompile Include="..\..\src\test\fuzz\targets\TxFuzzTarget.cpp" />
674680
<ClCompile Include="..\..\src\transactions\AllowTrustOpFrame.cpp" />
675681
<ClCompile Include="..\..\src\transactions\BeginSponsoringFutureReservesOpFrame.cpp" />
676682
<ClCompile Include="..\..\src\transactions\ExtendFootprintTTLOpFrame.cpp" />
@@ -875,7 +881,6 @@ exit /b 0
875881
<ClCompile Include="..\..\src\simulation\Simulation.cpp" />
876882
<ClCompile Include="..\..\src\simulation\Topologies.cpp" />
877883
<ClCompile Include="..\..\src\simulation\test\LoadGeneratorTests.cpp" />
878-
<ClCompile Include="..\..\src\test\fuzz.cpp" />
879884
<ClCompile Include="..\..\src\test\test.cpp" />
880885
<ClCompile Include="..\..\src\test\TestAccount.cpp" />
881886
<ClCompile Include="..\..\src\test\TestExceptions.cpp" />
@@ -1120,7 +1125,12 @@ exit /b 0
11201125
<ClInclude Include="..\..\src\simulation\ApplyLoad.h" />
11211126
<ClInclude Include="..\..\src\simulation\TxGenerator.h" />
11221127
<ClInclude Include="..\..\src\test\Fuzzer.h" />
1123-
<ClInclude Include="..\..\src\test\FuzzerImpl.h" />
1128+
<ClInclude Include="..\..\src\test\fuzz\FuzzTargetRegistry.h" />
1129+
<ClInclude Include="..\..\src\test\fuzz\FuzzUtils.h" />
1130+
<ClInclude Include="..\..\src\test\fuzz\TxFuzzTarget.h" />
1131+
<ClInclude Include="..\..\src\test\fuzz\targets\OverlayFuzzTarget.h" />
1132+
<ClInclude Include="..\..\src\test\fuzz\targets\SorobanFuzzTargets.h" />
1133+
<ClInclude Include="..\..\src\test\fuzz\targets\TxFuzzTarget.h" />
11241134
<ClInclude Include="..\..\src\transactions\AllowTrustOpFrame.h" />
11251135
<ClInclude Include="..\..\src\transactions\BeginSponsoringFutureReservesOpFrame.h" />
11261136
<ClInclude Include="..\..\src\transactions\ExtendFootprintTTLOpFrame.h" />
@@ -1237,7 +1247,6 @@ exit /b 0
12371247
<ClInclude Include="..\..\src\simulation\LoadGenerator.h" />
12381248
<ClInclude Include="..\..\src\simulation\Simulation.h" />
12391249
<ClInclude Include="..\..\src\simulation\Topologies.h" />
1240-
<ClInclude Include="..\..\src\test\fuzz.h" />
12411250
<ClInclude Include="..\..\src\test\SimpleTestReporter.h" />
12421251
<ClInclude Include="..\..\src\test\test.h" />
12431252
<ClInclude Include="..\..\src\test\TestAccount.h" />

Builds/VisualStudio/stellar-core.vcxproj.filters

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,12 @@
9494
<Filter Include="test">
9595
<UniqueIdentifier>{632e2a38-59c9-4c6f-8ae3-7e302688207e}</UniqueIdentifier>
9696
</Filter>
97+
<Filter Include="test\fuzz">
98+
<UniqueIdentifier>{a1b2c3d4-e5f6-4a5b-9c8d-7e6f5a4b3c2d}</UniqueIdentifier>
99+
</Filter>
100+
<Filter Include="test\fuzz\targets">
101+
<UniqueIdentifier>{b2c3d4e5-f6a7-5b6c-0d9e-8f7a6b5c4d3e}</UniqueIdentifier>
102+
</Filter>
97103
<Filter Include="historyWork">
98104
<UniqueIdentifier>{eab77361-734d-4f9c-89bd-0a429d67a4d6}</UniqueIdentifier>
99105
</Filter>
@@ -459,8 +465,26 @@
459465
<ClCompile Include="..\..\src\work\test\WorkTests.cpp">
460466
<Filter>work\tests</Filter>
461467
</ClCompile>
462-
<ClCompile Include="..\..\src\test\fuzz.cpp">
463-
<Filter>test</Filter>
468+
<ClCompile Include="..\..\src\test\fuzz\FuzzMain.cpp">
469+
<Filter>test\fuzz</Filter>
470+
</ClCompile>
471+
<ClCompile Include="..\..\src\test\fuzz\FuzzRegressionTests.cpp">
472+
<Filter>test\fuzz</Filter>
473+
</ClCompile>
474+
<ClCompile Include="..\..\src\test\fuzz\FuzzTargetRegistry.cpp">
475+
<Filter>test\fuzz</Filter>
476+
</ClCompile>
477+
<ClCompile Include="..\..\src\test\fuzz\FuzzUtils.cpp">
478+
<Filter>test\fuzz</Filter>
479+
</ClCompile>
480+
<ClCompile Include="..\..\src\test\fuzz\targets\OverlayFuzzTarget.cpp">
481+
<Filter>test\fuzz\targets</Filter>
482+
</ClCompile>
483+
<ClCompile Include="..\..\src\test\fuzz\targets\SorobanFuzzTargets.cpp">
484+
<Filter>test\fuzz\targets</Filter>
485+
</ClCompile>
486+
<ClCompile Include="..\..\src\test\fuzz\targets\TxFuzzTarget.cpp">
487+
<Filter>test\fuzz\targets</Filter>
464488
</ClCompile>
465489
<ClCompile Include="..\..\src\test\TestAccount.cpp">
466490
<Filter>test</Filter>
@@ -483,9 +507,6 @@
483507
<ClCompile Include="..\..\src\util\test\BitSetTests.cpp">
484508
<Filter>util\tests</Filter>
485509
</ClCompile>
486-
<ClCompile Include="..\..\src\test\FuzzerImpl.cpp">
487-
<Filter>test</Filter>
488-
</ClCompile>
489510
<ClCompile Include="..\..\src\util\FileSystemException.cpp">
490511
<Filter>util</Filter>
491512
</ClCompile>
@@ -1683,8 +1704,23 @@
16831704
<ClInclude Include="..\..\src\main\PersistentState.h">
16841705
<Filter>main</Filter>
16851706
</ClInclude>
1686-
<ClInclude Include="..\..\src\test\fuzz.h">
1687-
<Filter>test</Filter>
1707+
<ClInclude Include="..\..\src\test\fuzz\FuzzTargetRegistry.h">
1708+
<Filter>test\fuzz</Filter>
1709+
</ClInclude>
1710+
<ClInclude Include="..\..\src\test\fuzz\FuzzUtils.h">
1711+
<Filter>test\fuzz</Filter>
1712+
</ClInclude>
1713+
<ClInclude Include="..\..\src\test\fuzz\TxFuzzTarget.h">
1714+
<Filter>test\fuzz</Filter>
1715+
</ClInclude>
1716+
<ClInclude Include="..\..\src\test\fuzz\targets\OverlayFuzzTarget.h">
1717+
<Filter>test\fuzz\targets</Filter>
1718+
</ClInclude>
1719+
<ClInclude Include="..\..\src\test\fuzz\targets\SorobanFuzzTargets.h">
1720+
<Filter>test\fuzz\targets</Filter>
1721+
</ClInclude>
1722+
<ClInclude Include="..\..\src\test\fuzz\targets\TxFuzzTarget.h">
1723+
<Filter>test\fuzz\targets</Filter>
16881724
</ClInclude>
16891725
<ClInclude Include="..\..\src\test\TestAccount.h">
16901726
<Filter>test</Filter>
@@ -1710,9 +1746,6 @@
17101746
<ClInclude Include="..\..\lib\util\cbitset_portability.h">
17111747
<Filter>util</Filter>
17121748
</ClInclude>
1713-
<ClInclude Include="..\..\src\test\FuzzerImpl.h">
1714-
<Filter>test</Filter>
1715-
</ClInclude>
17161749
<ClInclude Include="..\..\lib\util\siphash.h">
17171750
<Filter>lib\util</Filter>
17181751
</ClInclude>

Cargo.lock

Lines changed: 63 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile.am

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ format: always
2121
cd src && $(MAKE) $(AM_MAKEFLAGS) $@
2222
endif # USE_CLANG_FORMAT
2323

24-
if USE_AFL_FUZZ
25-
fuzz-testcases fuzz fuzz-clean: all
26-
cd src && $(MAKE) $(AM_MAKEFLAGS) $@
27-
endif # USE_AFL_FUZZ
24+
2825

2926
if USE_TRACY_GUI
3027
TRACY_GUI_DIR=$(top_srcdir)/lib/tracy/profiler

0 commit comments

Comments
 (0)