@@ -31,6 +31,10 @@ for (const fixture of skipFixtures) {
3131 await $ `rm -f ${ path . join ( fixturesPath , fixture ) } ` ;
3232}
3333
34+ // Add the Mollusk-generated fixtures to the test inputs.
35+ const molluskFixturesPath = path . join ( workingDirectory , 'program' , 'fuzz' , 'blob' ) ;
36+ await $ `cp -a ${ molluskFixturesPath } /. ${ fixturesPath } /` ;
37+
3438// Clone the SolFuzz-Agave harness.
3539const solFuzzAgavePath = path . join ( harnessPath , 'impl' , 'solfuzz-agave' ) ;
3640await $ `git clone -b core-bpf-conformance http://github.com/buffalojoec/solfuzz-agave.git ${ solFuzzAgavePath } ` ;
@@ -90,28 +94,3 @@ if (fs.existsSync('test_results/failed_protobufs')) {
9094
9195console . log ( 'All Firedancer conformance tests passed.' ) ;
9296
93- // Build the Agave target with the BPF version, this time without any
94- // conformance special-casing (just the `core-bpf` feature).
95- await $ `CORE_BPF_PROGRAM_ID=${ getProgramId ( 'program' ) } \
96- CORE_BPF_TARGET=${ getProgramSharedObjectPath ( 'program' ) } \
97- FORCE_RECOMPILE=true \
98- cargo build --manifest-path ${ solFuzzAgaveManifestPath } \
99- --lib --release --target x86_64-unknown-linux-gnu --features core-bpf` ;
100- await $ `mv ${ solFuzzAgaveTargetPath } ${ testTargetPathCoreBpf } ` ;
101-
102- // Now run the conformance harness on just the BPF program with the fixtures
103- // generated by Mollusk in the program's `fuzz/blob` directory.
104- const molluskFixturesPath = path . join ( workingDirectory , 'program' , 'fuzz' , 'blob' ) ;
105- const result = await $ `source test_suite_env/bin/activate && \
106- solana-test-suite exec-fixtures \
107- -i ${ molluskFixturesPath } \
108- -t ${ testTargetPathCoreBpf } ` ;
109-
110- // Assert conformance.
111- // There should be no "Failed tests:" section in the output.
112- if ( / F a i l e d t e s t s : / . test ( result . stdout . split ( '\n' ) . slice ( - 2 ) . join ( '\n' ) ) ) {
113- console . error ( "Error: Some Mollusk-generated fixture executions failed." ) ;
114- process . exit ( 1 ) ;
115- } else {
116- console . log ( 'All Mollusk-generated fixture executions passed.' ) ;
117- }
0 commit comments