extern crate flame;
extern crate flamer;
use flamer::{flame, noflame};
#[flame("top")]
fn a() {
let l = Lower {};
l.a();
}
#[flame]
fn b() {
a()
}
#[noflame]
fn c() {
b()
}
pub struct Lower;
impl Lower {
#[flame("lower")]
pub fn a(self) {
}
}
#[test]
fn main() {
c();
let spans = flame::spans();
assert_eq!(1, spans.len());
let roots = &spans[0];
println!("{:?}",roots);
assert_eq!("b", roots.name);
assert_eq!(1, roots.children.len());
assert_eq!("top::a", roots.children[0].name);
assert_eq!(1, roots.children[0].children.len());
assert_eq!("lower::a", roots.children[0].children[0].name);
}