test: ignore known bug reproductions by default
These tests reproduce known bugs and are marked with #[ignore] to prevent them from failing standard test runs. They can be run explicitly using 'cargo test --test bug_hunt_reproductions -- --ignored --nocapture'. Co-Authored-By: fiddlerwoaroof/git-smart-commit (unsloth/gemma-4-26B-A4B-it-qat-GGUF:UD-Q4_K_XL)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//! Report-only bug-hunt reproductions: assert the intended behavior, without fixes.
|
||||
//! Run with `cargo test --test bug_hunt_reproductions -- --nocapture`.
|
||||
//! Run with `cargo test --test bug_hunt_reproductions -- --ignored --nocapture`.
|
||||
|
||||
use improvise_io::import::csv_parser::parse_csv_bytes_with_warnings;
|
||||
use improvise_io::{
|
||||
@@ -7,8 +7,8 @@ use improvise_io::{
|
||||
persistence::{format_md, parse_md},
|
||||
workbook::Workbook,
|
||||
};
|
||||
// Reproduction for improvise-3yv3.
|
||||
#[test]
|
||||
#[ignore = "improvise-3yv3: known bug reproduction"]
|
||||
fn grouped_item_order_survives_save() {
|
||||
let mut w = Workbook::new("test");
|
||||
w.add_category("C").unwrap();
|
||||
@@ -20,8 +20,8 @@ fn grouped_item_order_survives_save() {
|
||||
w.model.category("C").unwrap().ordered_item_names()
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-ppru.
|
||||
#[test]
|
||||
#[ignore = "improvise-ppru: known bug reproduction"]
|
||||
fn aggregation_survives_save() {
|
||||
let mut w = Workbook::new("test");
|
||||
w.add_item("_Measure", "Price").unwrap();
|
||||
@@ -33,8 +33,8 @@ fn aggregation_survives_save() {
|
||||
r.model.measure_agg
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-m4rv.
|
||||
#[test]
|
||||
#[ignore = "improvise-m4rv: known bug reproduction"]
|
||||
fn deleted_default_stays_deleted() {
|
||||
let mut w = Workbook::new("test");
|
||||
w.create_view("Custom");
|
||||
@@ -45,16 +45,16 @@ fn deleted_default_stays_deleted() {
|
||||
w.views.keys().collect::<Vec<_>>()
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-jc95.
|
||||
#[test]
|
||||
#[ignore = "improvise-jc95: known bug reproduction"]
|
||||
fn csv_nonfinite_is_not_zero() {
|
||||
for token in ["NaN", "inf", "-inf", "1e999"] {
|
||||
let (r, _) = parse_csv_bytes_with_warnings(format!("Value\n{token}\n").as_bytes()).unwrap();
|
||||
assert_ne!(r[0]["Value"].as_f64(), Some(0.0), "{token} became zero");
|
||||
}
|
||||
}
|
||||
// Reproduction for improvise-5hfh.
|
||||
#[test]
|
||||
#[ignore = "improvise-5hfh: known bug reproduction"]
|
||||
fn duplicate_csv_headers_not_silent() {
|
||||
let result = parse_csv_bytes_with_warnings(b"A,A\n1,2\n");
|
||||
assert!(
|
||||
@@ -63,8 +63,8 @@ fn duplicate_csv_headers_not_silent() {
|
||||
);
|
||||
}
|
||||
|
||||
// Reproduction for improvise-l1f5.
|
||||
#[test]
|
||||
#[ignore = "improvise-l1f5: known bug reproduction"]
|
||||
fn blank_measure_still_infers_numeric() {
|
||||
use improvise_io::import::{analyzer::FieldKind, wizard::ImportPipeline};
|
||||
let (records, _) = parse_csv_bytes_with_warnings(b"Region,Revenue\nEast,10\nWest,\n").unwrap();
|
||||
@@ -72,8 +72,8 @@ fn blank_measure_still_infers_numeric() {
|
||||
let proposal = p.proposals.iter().find(|p| p.field == "Revenue").unwrap();
|
||||
assert_eq!(proposal.kind, FieldKind::Measure);
|
||||
}
|
||||
// Reproduction for improvise-2cw9.
|
||||
#[test]
|
||||
#[ignore = "improvise-2cw9: known bug reproduction"]
|
||||
fn repeated_import_coordinates_not_silently_overwritten() {
|
||||
use improvise_io::import::wizard::ImportPipeline;
|
||||
let (records, _) =
|
||||
@@ -92,8 +92,8 @@ fn repeated_import_coordinates_not_silently_overwritten() {
|
||||
"total {total}, no warning {warnings:?}"
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-55v2.
|
||||
#[test]
|
||||
#[ignore = "improvise-55v2: known bug reproduction"]
|
||||
fn nonfinite_cell_value_survives_wire() {
|
||||
use improvise::protocol::{CellValue, Command};
|
||||
let cmd = Command::SetYanked(Some(CellValue::Number(f64::INFINITY)));
|
||||
@@ -103,8 +103,8 @@ fn nonfinite_cell_value_survives_wire() {
|
||||
"unreadable wire: {json}"
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-8l0c.
|
||||
#[test]
|
||||
#[ignore = "improvise-8l0c: known bug reproduction"]
|
||||
fn formula_panel_unicode_does_not_panic() {
|
||||
use improvise::{
|
||||
protocol::FormulaCache,
|
||||
@@ -124,8 +124,8 @@ fn formula_panel_unicode_does_not_panic() {
|
||||
.render(area, &mut buffer);
|
||||
}
|
||||
|
||||
// Reproduction for improvise-vw47.
|
||||
#[test]
|
||||
#[ignore = "improvise-vw47: known bug reproduction"]
|
||||
fn new_view_after_delete_does_not_overwrite_survivor() {
|
||||
use improvise::{
|
||||
command::{
|
||||
@@ -145,8 +145,8 @@ fn new_view_after_delete_does_not_overwrite_survivor() {
|
||||
assert_eq!(app.model_state.workbook.views["View 3"].number_format, ".4");
|
||||
assert_eq!(app.model_state.workbook.views.len(), 3);
|
||||
}
|
||||
// Reproduction for improvise-cj4u.
|
||||
#[test]
|
||||
#[ignore = "improvise-cj4u: known bug reproduction"]
|
||||
fn label_stays_off_axes_in_new_view() {
|
||||
use improvise_io::view::Axis;
|
||||
let mut w = Workbook::new("test");
|
||||
@@ -154,8 +154,8 @@ fn label_stays_off_axes_in_new_view() {
|
||||
assert_eq!(w.active_view().axis_of("Description"), Axis::None);
|
||||
assert_eq!(w.create_view("Other").axis_of("Description"), Axis::None);
|
||||
}
|
||||
// Reproduction for improvise-k8i.
|
||||
#[test]
|
||||
#[ignore = "improvise-k8i: known bug reproduction"]
|
||||
fn long_csv_row_is_not_silently_dropped() {
|
||||
let r = parse_csv_bytes_with_warnings(b"A,B\n1,2,3\n");
|
||||
assert!(
|
||||
@@ -175,8 +175,8 @@ fn literal_cr_name_survives_roundtrip() {
|
||||
vec!["x\ry"]
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-pnf5.
|
||||
#[test]
|
||||
#[ignore = "improvise-pnf5: known bug reproduction"]
|
||||
fn scalar_cell_survives_roundtrip() {
|
||||
use improvise_io::model::cell::{CellKey, CellValue};
|
||||
let mut w = Workbook::new("test");
|
||||
@@ -204,8 +204,8 @@ fn revenue_book() -> Workbook {
|
||||
);
|
||||
w
|
||||
}
|
||||
// Reproduction for improvise-s2w3.
|
||||
#[test]
|
||||
#[ignore = "improvise-s2w3: known bug reproduction"]
|
||||
fn sum_of_derived_measure_agrees_with_identity_expression() {
|
||||
use improvise_io::{formula::parse_formula, model::cell::CellKey};
|
||||
let mut w = revenue_book();
|
||||
@@ -221,8 +221,8 @@ fn sum_of_derived_measure_agrees_with_identity_expression() {
|
||||
let b = w.model.evaluate(&key.with("_Measure", "B"));
|
||||
assert_eq!(a, b);
|
||||
}
|
||||
// Reproduction for improvise-s08t.
|
||||
#[test]
|
||||
#[ignore = "improvise-s08t: known bug reproduction"]
|
||||
fn unknown_aggregate_reference_is_not_all_measures() {
|
||||
use improvise_io::{
|
||||
formula::parse_formula,
|
||||
@@ -241,8 +241,8 @@ fn unknown_aggregate_reference_is_not_all_measures() {
|
||||
w.model.evaluate(&key)
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-3b2b.
|
||||
#[test]
|
||||
#[ignore = "improvise-3b2b: known bug reproduction"]
|
||||
fn category_panel_cannot_delete_required_virtual() {
|
||||
use improvise::{
|
||||
command::{
|
||||
@@ -265,8 +265,8 @@ fn category_panel_cannot_delete_required_virtual() {
|
||||
app.view_state.status_msg
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-8l0c.
|
||||
#[test]
|
||||
#[ignore = "improvise-8l0c: known bug reproduction"]
|
||||
fn formula_panel_handles_zero_inner_width() {
|
||||
use improvise::{
|
||||
protocol::FormulaCache,
|
||||
@@ -286,8 +286,8 @@ fn formula_panel_handles_zero_inner_width() {
|
||||
.render(area, &mut buffer);
|
||||
}
|
||||
|
||||
// Reproduction for improvise-pnf5.
|
||||
#[test]
|
||||
#[ignore = "improvise-pnf5: known bug reproduction"]
|
||||
fn save_with_unfinished_record_is_readable() {
|
||||
use improvise::{
|
||||
command::{
|
||||
@@ -309,8 +309,8 @@ fn save_with_unfinished_record_is_readable() {
|
||||
assert!(parse_md(&text).is_ok(), "saved unparseable file: {text}");
|
||||
}
|
||||
|
||||
// Reproduction for improvise-7iww.
|
||||
#[test]
|
||||
#[ignore = "improvise-7iww: known bug reproduction"]
|
||||
fn circular_formula_not_a_plausible_cached_number() {
|
||||
use improvise_io::{
|
||||
formula::parse_formula,
|
||||
@@ -335,8 +335,8 @@ fn circular_formula_not_a_plausible_cached_number() {
|
||||
"circular formula became {actual:?}"
|
||||
);
|
||||
}
|
||||
// Reproduction for improvise-yae4.
|
||||
#[test]
|
||||
#[ignore = "improvise-yae4: known bug reproduction"]
|
||||
fn wide_cell_clamps_without_overflow() {
|
||||
use improvise::{
|
||||
model::cell::{CellKey, CellValue},
|
||||
|
||||
Reference in New Issue
Block a user