add just cov-md and bump total coverage to 29.26%

This commit is contained in:
🪞👃🪞 2025-02-15 19:30:32 +00:00
parent 5b797342b7
commit fd32cbc34c
5 changed files with 77 additions and 18 deletions

View file

@ -22,10 +22,15 @@ prof:
doc: doc:
cargo doc -j4 --workspace --document-private-items cargo doc -j4 --workspace --document-private-items
covfig := "CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' RUSTDOCFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cov/cargo-test-%p-%m.profraw'" covfig := "CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' RUSTDOCFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cov/cargo-test-%p-%m.profraw'"
grcov-binary := "--binary-path ./target/coverage/deps/"
grcov-ignore := "--ignore-not-existing --ignore '../*' --ignore \"/*\" --ignore 'target/*'"
cov: cov:
rm -rf target/coverage/html || true rm -rf target/coverage/html || true
{{covfig}} time cargo test -j4 --workspace --exclude jack --profile coverage {{covfig}} time cargo test -j4 --workspace --exclude jack --profile coverage
{{covfig}} time grcov . --binary-path ./target/coverage/deps/ -s . -t html --ignore-not-existing --ignore '../*' --ignore "/*" --ignore 'target/*' -o target/coverage/html {{covfig}} time grcov . -s . {{grcov-binary}} {{grcov-ignore}} -t html -o target/coverage/html
cov-md:
{{covfig}} time cargo test -j4 --workspace --exclude jack --profile coverage
{{covfig}} time grcov . -s . {{grcov-binary}} {{grcov-ignore}} -t markdown
llcov: llcov:
time cargo llvm-cov --workspace --exclude jack --profile coverage --no-report time cargo llvm-cov --workspace --exclude jack --profile coverage --no-report
time cargo llvm-cov --workspace --exclude jack --profile coverage --no-report --doc time cargo llvm-cov --workspace --exclude jack --profile coverage --no-report --doc

View file

@ -109,19 +109,32 @@ pub const fn to_digit (c: char) -> Result<usize, ParseError> {
}) })
} }
#[cfg(test)] mod test_token_iter { #[cfg(test)] mod test_token_iter {
use proptest::prelude::*; use super::*;
proptest! { //use proptest::prelude::*;
#[test] fn proptest_source_iter ( //proptest! {
source in "\\PC*" //#[test] fn proptest_source_iter (
) { //source in "\\PC*"
let mut iter = crate::SourceIter::new(&source); //) {
//let _ = iter.next(); //let mut iter = crate::SourceIter::new(&source);
} ////let _ = iter.next();
#[test] fn proptest_token_iter ( //}
source in "\\PC*" //#[test] fn proptest_token_iter (
) { //source in "\\PC*"
let mut iter = crate::TokenIter::new(&source); //) {
//let _ = iter.next(); //let mut iter = crate::TokenIter::new(&source);
} ////let _ = iter.next();
//}
//}
#[test] fn test_iters () {
let mut iter = crate::SourceIter::new(&":foo :bar");
let _ = iter.next();
let mut iter = crate::TokenIter::new(&":foo :bar");
let _ = iter.next();
}
#[test] fn test_num () {
let digit = to_digit('0');
let digit = to_digit('x');
let number = to_number(&"123");
let number = to_number(&"12asdf3");
} }
} }

View file

@ -279,3 +279,28 @@ impl Command<MidiEditor> for MidiEditCommand {
////// TODO: kpat!(Char('/')) => // toggle 3plet ////// TODO: kpat!(Char('/')) => // toggle 3plet
////// TODO: kpat!(Char('?')) => // toggle dotted ////// TODO: kpat!(Char('?')) => // toggle dotted
//}); //});
#[cfg(test)] #[test] fn test_midi_edit () {
let mut editor = MidiEditor {
mode: PianoHorizontal::new(Some(&Arc::new(RwLock::new(MidiClip::stop_all())))),
size: Default::default(),
keys: Default::default(),
};
let _ = editor.put_note(true);
let _ = editor.put_note(false);
let _ = editor.clip_status();
let _ = editor.edit_status();
struct TestEditorHost(Option<MidiEditor>);
has_editor!(|self: TestEditorHost|{
editor = self.0;
editor_w = 0;
editor_h = 0;
is_editing = false;
});
let mut host = TestEditorHost(Some(editor));
let _ = host.editor();
let _ = host.editor_mut();
let _ = host.is_editing();
let _ = host.editor_w();
let _ = host.editor_h();
}

View file

@ -62,3 +62,18 @@ impl NoteRange for MidiRangeModel {
fn note_lo (&self) -> &AtomicUsize { &self.note_lo } fn note_lo (&self) -> &AtomicUsize { &self.note_lo }
fn note_axis (&self) -> &AtomicUsize { &self.note_axis } fn note_axis (&self) -> &AtomicUsize { &self.note_axis }
} }
#[cfg(test)] #[test] fn test_midi_range () {
let model = MidiRangeModel::from((1, false));
let _ = model.time_len();
let _ = model.time_zoom();
let _ = model.time_lock();
let _ = model.time_start();
let _ = model.time_axis();
let _ = model.time_end();
let _ = model.note_lo();
let _ = model.note_axis();
let _ = model.note_hi();
}

View file

@ -104,9 +104,10 @@ impl PianoHorizontal {
match event { match event {
MidiMessage::NoteOn { key, .. } => { MidiMessage::NoteOn { key, .. } => {
let note = key.as_int() as usize; let note = key.as_int() as usize;
let cell = buf.get_mut(x, note).unwrap(); if let Some(cell) = buf.get_mut(x, note) {
cell.set_char('█'); cell.set_char('█');
cell.set_style(style); cell.set_style(style);
}
notes_on[note] = true notes_on[note] = true
}, },
MidiMessage::NoteOff { key, .. } => { MidiMessage::NoteOff { key, .. } => {