Summary
The rbc all pipeline chains anatomical, functional, metrics, and QC stages. Currently there is no integration test that runs this full chain end-to-end, which allowed #287 (functional stage failing to find anatomical derivatives) to go undetected.
Proposed tests
- Smoke test: Run
all.run() on tests/data/ds000001 with Docker runner, assert it completes without errors
- Stage handoff verification: After
rbc all completes, verify that derivative files from each stage exist in the output directory (desc-brain T1w, desc-preproc bold, metrics, QC files)
- Standalone equivalence: Run
rbc anat then rbc func separately and compare outputs to rbc all, verifying the in-memory handoff produces identical results to the disk round-trip path
These require Docker (@pytest.mark.integration) and a test dataset. Test 1 could be @pytest.mark.slow since it runs the full pipeline.
Context
Follow-up from #287. Unit tests for the fix were added in that PR; this issue covers the integration layer.
Summary
The
rbc allpipeline chains anatomical, functional, metrics, and QC stages. Currently there is no integration test that runs this full chain end-to-end, which allowed #287 (functional stage failing to find anatomical derivatives) to go undetected.Proposed tests
all.run()ontests/data/ds000001with Docker runner, assert it completes without errorsrbc allcompletes, verify that derivative files from each stage exist in the output directory (desc-brain T1w, desc-preproc bold, metrics, QC files)rbc anatthenrbc funcseparately and compare outputs torbc all, verifying the in-memory handoff produces identical results to the disk round-trip pathThese require Docker (
@pytest.mark.integration) and a test dataset. Test 1 could be@pytest.mark.slowsince it runs the full pipeline.Context
Follow-up from #287. Unit tests for the fix were added in that PR; this issue covers the integration layer.