Prepare 1.7.7 with concise comments and shared CI policy

This commit is contained in:
Matthew Jackson
2026-09-26 11:46:32 -07:00
parent 5520890550
commit a42241eb15
319 changed files with 2739 additions and 23490 deletions
+1 -2
View File
@@ -551,8 +551,7 @@ fn css_roundtrip_multiple_keys() {
// ── CSS keyless recovery tests ─────────────────────────────────────────────
// Attempt keyless recovery on synthetically scrambled sectors; see
// docs/css-keyless.md for why synthetic data may not converge.
// Attempt keyless recovery on synthetically scrambled sectors.
#[test]
fn css_keyless_recovery_validates_cracked_key() {
let candidates: &[([u8; 5], [u8; 5])] = &[
-1
View File
@@ -588,7 +588,6 @@ fn aacs_dir_alone_marks_the_disc_encrypted_and_reports_the_capture_error() {
}
// Capacity/layer derivation from sector count; wrong scale = wrong ISO length.
// See docs/disc-tests.md — capacity_bytes and layers threshold rationale.
#[test]
fn scan_image_reports_capacity_in_bytes_and_the_layer_count() {
let opts = ScanOptions::default();
+1 -1
View File
@@ -208,7 +208,7 @@ fn fvi_sink_indexes_real_mpeg2_pipeline_output() {
let text = std::fs::read_to_string(&path).unwrap();
let mut lines = text.lines();
// ── Header line (docs/FVI_FORMAT.md v1 schema) ─────────────────────────────
// ── Header line ─────────────────────────────.
let header: serde_json::Value = serde_json::from_str(lines.next().unwrap()).unwrap();
assert_eq!(header["format"], "freemkv/video-index");
assert_eq!(header["fvi_version"], 1);
+2 -5
View File
@@ -6,8 +6,6 @@
//! ([`Error::is_scsi_transport_failure`] true); SCSI-level failure (CHECK
//! CONDITION) → `Error::ScsiError` with parsed key/ASC/ASCQ, checked via
//! [`Error::is_marginal_read`] / [`ScsiSense::is_*`].
//!
//! See docs/scsi-error-decoding.md for rationale and history.
use libfreemkv::error::Error;
use libfreemkv::scsi::{
@@ -17,9 +15,8 @@ use libfreemkv::scsi::{
SENSE_KEY_RECOVERED_ERROR, SENSE_KEY_UNIT_ATTENTION, ScsiResult, ScsiSense, ScsiTransport,
};
// A scripted ScsiTransport. Each `execute()` consumes the next entry
// from `script` and returns the corresponding outcome.
// See docs/scsi-error-decoding.md — MockTransport outcomes.
// A scripted ScsiTransport. Each `execute()` consumes the next entry from `script` and returns
// the corresponding outcome.
struct MockTransport {
script: Vec<MockOutcome>,
next: usize,