Skip to content

Commit 7ced055

Browse files
authored
ci: route mollusk fixtures into fd conformance (#29)
* ci: route mollusk fixtures into fd conformance * route fixtures into conformance instead of direct invoke * switch back to firedancer repo
1 parent 6e458b0 commit 7ced055

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

scripts/ci/fd-conformance.mjs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,13 @@ 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.
3539
const solFuzzAgavePath = path.join(harnessPath, 'impl', 'solfuzz-agave');
36-
await $`git clone -b agave-v2.1.0 http://github.com/firedancer-io/solfuzz-agave.git ${solFuzzAgavePath}`;
40+
await $`git clone -b agave-v2.1.3 http://github.com/firedancer-io/solfuzz-agave.git ${solFuzzAgavePath}`;
3741

3842
// Fetch protobuf files.
3943
await $`make -j -C ${solFuzzAgavePath} fetch_proto`
@@ -62,13 +66,15 @@ await $`cargo build --manifest-path ${solFuzzAgaveManifestPath} \
6266
--lib --release --target x86_64-unknown-linux-gnu`;
6367
await $`mv ${solFuzzAgaveTargetPath} ${testTargetPathBuiltin}`;
6468

65-
// Build the Agave target with the BPF version.
69+
// Build the Agave target with the BPF version and special-casing enabled for
70+
// conformance testing (`core-bpf-conformance` features).
6671
const testTargetPathCoreBpf = path.join(testTargetsDir, 'core_bpf.so');
6772
await $`CORE_BPF_PROGRAM_ID=${getProgramId('program')} \
6873
CORE_BPF_TARGET=${getProgramSharedObjectPath('program')} \
6974
FORCE_RECOMPILE=true \
7075
cargo build --manifest-path ${solFuzzAgaveManifestPath} \
71-
--lib --release --target x86_64-unknown-linux-gnu --features core-bpf`;
76+
--lib --release --target x86_64-unknown-linux-gnu \
77+
--features core-bpf-conformance`;
7278
await $`mv ${solFuzzAgaveTargetPath} ${testTargetPathCoreBpf}`;
7379

7480
// Remove any test results if they exist.
@@ -87,4 +93,4 @@ if (fs.existsSync('test_results/failed_protobufs')) {
8793
}
8894
}
8995

90-
console.log('All tests passed.');
96+
console.log('All Firedancer conformance tests passed.');

0 commit comments

Comments
 (0)