Please check below for the panic case and the stack trace:
Code:
#[test]
fn test_eval_str() {
let v = vec![10,10,13,10,13,9,10,10,9,9];
let mut s = String::new();
for x in v.iter() {
s.push(std::char::from_u32(*x).unwrap());
}
println!("{:?}", s);
let _ = eval_str(s);
}
running 1 test
"\n\n\r\n\r\t\n\n\t\t"
thread 'expr::replay_fuzz' panicked at 'Unexpected parse result when parsing `
` at `
`: Incomplete(Size(11))', src/tokenizer.rs:330:17
stack backtrace:
0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/../../backtrace/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print_fmt
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/sys_common/backtrace.rs:77
3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/sys_common/backtrace.rs:58
4: core::fmt::write
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/core/src/fmt/mod.rs:1117
5: std::io::Write::write_fmt
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/io/mod.rs:1510
6: std::sys_common::backtrace::_print
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/sys_common/backtrace.rs:61
7: std::sys_common::backtrace::print
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/sys_common/backtrace.rs:48
8: std::panicking::default_hook::{{closure}}
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:198
9: std::panicking::default_hook
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:217
10: std::panicking::rust_panic_with_hook
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:526
11: rust_begin_unwind
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:437
12: std::panicking::begin_panic_fmt
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:391
13: meval::tokenizer::tokenize
at ./src/tokenizer.rs:330
14: <meval::expr::Expr as core::str::FromStr>::from_str
at ./src/expr.rs:485
15: meval::expr::eval_str
at ./src/expr.rs:476
16: meval::expr::replay_fuzz
at ./src/expr.rs:471
17: meval::expr::replay_fuzz::{{closure}}
at ./src/expr.rs:464
18: core::ops::function::FnOnce::call_once
at /home/ying/.rustup/toolchains/nightly-2020-08-03-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:233
19: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/alloc/src/boxed.rs:1030
20: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panic.rs:318
21: std::panicking::try::do_call
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:348
22: std::panicking::try
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panicking.rs:325
23: std::panic::catch_unwind
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/std/src/panic.rs:394
24: test::run_test_in_process
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/test/src/lib.rs:541
25: test::run_test::run_test_inner::{{closure}}
at /rustc/81e754c359c471f91263813c46c67955071716a7/library/test/src/lib.rs:450
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
test expr::replay_fuzz ... FAILED
failures:
failures:
expr::replay_fuzz
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 12 filtered out
Please check below for the panic case and the stack trace:
Code: