You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Negative test vectors will need to be a bit more focused than the existing test vectors, at minimum to specify which stages of execution should succeed or fail. On the happy path, many fields serve double duty as an expected output from one step and an input for the next step.
One idea: we could add a top-level field that contains an array of objects representing which computations should be run on a test vector. We could indicate which computation with one of "shard", "prepare_init", "prepare_next", "prep_shares_to_prep", and "aggregate", plus the aggregator ID, round number, and index of the report in the prep array as appropriate. Existing test vectors would just list all operations, and new negative test vectors would only list one or two computations, providing the appropriate tampered inputs for them. We'd also need some flags elsewhere in the schema to signal that a preparation failure is expected.
list feedback:
It should be pretty easy to modify
gen_test_vec.py
to output tweaked test vectors that trigger preparation to fail. For example:The text was updated successfully, but these errors were encountered: