Both JSON and SCALE formats conform to the JAM ASN.1 schema and this subsystem STF specific schema.
Test vectors invoke the accumulate
method of the provided test-service.
The PVM binary, which refers to the compiled version of the test-service
, is
generated using the jam-pvm-build
tool.
Due to differences in dependencies and compiler versions, the resulting binary
artifact frequently varies, even when generated from identical source code. As
a result, you can just rely on the code blob embedded in the test vectors, which
is available within the accounts
map.
- no_available_reports-1
- No reports.
- process_one_immediate_report-1
- Report with no dependencies.
- enqueue_and_unlock_simple-1
- Report with unsatisfied dependency added to the ready-queue.
- enqueue_and_unlock_simple-2
- Report with no dependencies that resolves previous dependency.
- enqueue_and_unlock_with_sr_lookup-1
- Report with unsatisfied segment tree root dependency added to the ready-queue.
- enqueue_and_unlock_with_sr_lookup-2
- Report with no dependencies that resolves previous dependency.
- enqueue_and_unlock_chain-1
- Two reports with unsatisfied dependencies added to the ready-queue.
- enqueue_and_unlock_chain-2
- Two additional reports with unsatisfied dependencies added to the ready-queue.
- enqueue_and_unlock_chain-3
- Two additional reports. One with unsatisfied dependencies, thus added to the ready-queue.
- One report is accumulated and resolves two previously enqueued reports.
- enqueue_and_unlock_chain-4
- Report that resolves all remaining queued dependencies.
- enqueue_and_unlock_chain_wraps-1
- Two reports with unsatisfied dependencies added to the ready-queue.
- enqueue_and_unlock_chain_wraps-2
- Two additional reports, one with no dependencies and thus immediately accumulated.
- The other is pushed to the ready-queue which fills up and wraps around (ready-queue is a ring buffer).
- enqueue_and_unlock_chain_wraps-3
- Two additional reports with unsatisfied dependencies pushed to the ready-queue.
- enqueue_and_unlock_chain_wraps-4
- Two additional reports, one with no dependencies and thus immediately accumulated.
- Three old entries in the ready-queue are removed.
- enqueue_and_unlock_chain_wraps-5
- Report with no dependencies resolves all previous enqueued reports.
- enqueue_self_referential-1
- Report with direct dependency on itself.
- This makes the report stale, but pushed to the ready-queue anyway.
- enqueue_self_referential-2
- Two reports with indirect circular dependency.
- This makes the reports stale, but pushed to the ready-queue anyway.
- enqueue_self_referential-3
- Two reports. First depends on second, which depends on unseen report.
- enqueue_self_referential-4
- New report creates a cycle with the previously queued reports.
- This makes the reports stale, but pushed to the ready-queue anyway.
- accumulate_ready_queued_reports-1
- There are some reports in the ready-queue ready to be accumulated.
- Even though we don't supply any new available work report these are processed.
- This condition may result because of gas exhausition during previous block execution.
- queues_are_shifted-1
- Check that ready-queue and accumulated-reports queues are shifted.
- A new available report is supplied.
- queues_are_shifted-2
- Check that ready-queue and accumulated-reports queues are shifted.
- No new report is supplied.
- ready_queue_editing-1
- Two reports with unsatisfied dependencies added to the ready-queue.
- ready_queue_editing-2
- Two reports, one with unsatisfied dependency added to the ready-queue.
- One accumulated. Ready queue items dependencies are edited.
- ready_queue_editing-3
- One report unlocks reports in the ready-queue.
Currently, the same test cases as tiny vectors but at a larger scale.