mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
add just cov-md and bump total coverage to 29.26%
This commit is contained in:
parent
5b797342b7
commit
fd32cbc34c
5 changed files with 77 additions and 18 deletions
7
Justfile
7
Justfile
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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, .. } => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue