open-standards/wai/http-conformance/falsify/mutations.txt
2026-10-11 23:33:42 -04:00

84 lines
6.6 KiB
Text

# The Python side's mutations (http_verify.py --mutate NAME), each with the cases it must
# fail, named: falsify/run.sh passes a mutation only when http_verify.py exits non-zero and
# prints a FAIL line for every case listed here. A crash, or a non-zero exit with no named
# FAIL, is a failure of the harness, never a catch. One mutation a line: its name, then the
# cases, in the order the run prints them; the shards index into this list as it stands.
left-half head_proof_ok_O10L1 head_proof_ok_O10L2 head_proof_ok_O12p0_00
no-root head_proof_ok_O10 head_proof_ok_O10L1 head_proof_ok_O10L2
counter-zero head_proof_ok_OH head_proof_not_formula_OH fetch_OH
floor-as-codecs union_O9 multivariant_playlists_o9_wai_m3u8 multivariant_playlists_o9_wai_gap_m3u8
blake3-iv self-test
base-at-done timed_OS_base_ready_first timed_OS_refinement_after_base timed_OS_clock_never_ticked
tick-noop timed_OS_base_ready_first timed_OS_clock_never_ticked timed_OS_clock_ticked_0
refinement-unclipped timed_OS_200_before_base
pdt-ignored adjacency_program_date_time
dseq-ignored adjacency_discontinuity_sequence
parts-after-extinf media_playlist_playlists_o9_wai_180_gap_m3u8 media_playlist_live_wai_r1_m3u8 media_playlist_live_wai_r2_m3u8
average-floor multivariant_playlists_o9_wai_m3u8 multivariant_playlists_o9_wai_gap_m3u8 multivariant_live_wai_m3u8
render-digest-off playlist_receipt_playlists_o9_wai_180_m3u8 playlist_receipt_playlists_o10_wai_a_m3u8 playlist_receipt_playlists_o11_wai_v_m3u8
name-unchecked playlist_receipt_name
chain-unchecked live_edge_revision_changed live_edge_unchained live_edge_skip
ilog2-no-interp abr_bola_like_23 abr_bola_like_34 abr_mpc_00
bola-waits abr_bola_like_00 abr_bola_like_02 abr_bola_like_03
unlabelled-as-zero abr_throughput_05 abr_throughput_09 abr_throughput_11
round-half-down playlist_parse_rounding
small-order-key playlist_receipt_sig_key_identity
small-order-r playlist_receipt_sig_r_small_order
rebind-uri self-test live_relisted_alias live_relisted_alias_walked
rebind-sequence live_resequenced
key-unchecked live_edge_other_key live_edge_other_key_walked
walk-unbounded live_edge_reanchored live_edge_reanchored_then_reloaded live_edge_reanchored_skipping
reload-walked live_edge_unchanged_reload live_edge_reanchored_then_reloaded
manifest-limit-dropped head_malformed_manifest_too_large_O5 head_malformed_manifest_too_large_OD
manifest-values-uncounted head_malformed_manifest_too_many_values_O5 head_malformed_manifest_too_many_values_OD
xml-char-unchecked mpd_rep_id_not_a_char
xml-attribute-twice dash_adjacency_attribute_twice
dash-start-ignored dash_adjacency_period_start
dash-timescale-ignored dash_adjacency_timescale dash_adjacency_the_audio_timescale
unlabelled-escapes abr_throughput_05 abr_throughput_09 abr_throughput_11
abr-unbounded abr_out_of_bounds_options abr_out_of_bounds_figures depth_out_of_bounds_bytes
gap-carries media_playlist_gap_with_layers render_gap_with_parts render_gap_with_layers
receipt-duplicates playlist_receipt_duplicate_first playlist_receipt_duplicate_last playlist_receipt_duplicate_same_value
receipt-surrogates playlist_receipt_lone_surrogate playlist_receipt_lone_low_surrogate
session-data-anywhere unchanged_players unchanged_before_version unchanged_crlf_line
dash-r-expanded self-test
xml-attributes-scanned self-test
dash-timelines-unbounded dash_adjacency_timelines_past_the_subset
budget-raises abr_throughput_13 abr_throughput_19 abr_buffer_based_03
uri-unresolved self-test uri_resolve_rfc_01 uri_resolve_rfc_02
gap-withdraws live_gap_withdraws_a_segment
reanchor-backwards live_edge_reanchor_not_backwards
walk-exceeded-wedges live_edge_reanchored live_edge_reanchored_then_reloaded live_edge_reanchored_skipping
walk-name-unchecked live_edge_parent_substituted
walk-verify-unchecked live_edge_parent_invalid
bindings-unbounded self-test
file-numbers-unbounded playlist_receipt_ceiling_past_2_53 playlist_receipt_ceiling_written_out playlist_receipt_window_past_2_53
nonconforming-offered fetch_OR_malformed_refines fetch_ORN_whole fetch_ORN_ranged
conforming-withheld fetch_OCF_whole fetch_OCF_ranged
refines-read-whole fetch_OR_malformed_refines fetch_ONM_whole fetch_ONM_ranged
rcpt-name-unchecked receipt_file_name_mismatch receipts_parent_renamed receipts_group_renamed
walk-skipped receipts_walk_two receipts_walk_one receipts_back_after_head
nothing-as-delivered receipts_back_after_head receipts_fetch_refused_holds_nothing receipts_stage_set
ancestor-any receipts_head_proof receipts_fetch_refused_holds_nothing receipts_claims_O3
legacy-admitted receipts_legacy_group receipt_file_legacy_group
memo-off receipts_head_proof receipts_fetch_refused_holds_nothing receipts_stage_set
walk-unclamped receipts_walk_65_asks_1000
step6-skipped receipts_head_proof receipts_fetch_refused_holds_nothing receipts_stage_set
groups-from-listed receipts_property_disagrees receipts_claim_through_foreign_item
budget-unchecked receipts_fetch_budget
caps-unchecked receipts_file_too_large receipts_parent_too_large receipts_index_too_large
bytes-unchecked receipts_fetch_bytes_exhausted
decision-unchecked receipts_lawful_basis receipts_lawful_basis_declaration_not_served receipts_lawful_basis_declaration_renamed
recovery-record-unchecked receipts_binding_recovery receipts_binding_recovery_object_not_held receipts_binding_recovery_no_matcher
declaration-unnamed receipts_lawful_basis_declaration_renamed
first-publisher receipts_ancestor_other_publisher_first
matchers-need-object receipts_binding_recovery_object_not_held
operating-point-unchecked receipts_operating_point receipts_operating_point_not_held
session-accepted receipts_reconstruct_session
bytes-read-whole receipts_fetch_bytes_exhausted
key-log-uncapped key_log_anchor_too_large key_log_cached_too_large
anchor-follows-redirect key_log_anchor_redirect
cached-rollback-unchecked key_log_cached_rolled_back
grants-module-unchecked grants_file_other_module
set-grants-ignored param_set_status_stale param_set_no_clock param_set_no_grant
set-by-name param_set_other_bytes