in src/parser.rs [1275:1487]
fn test_parser() {
let results = parse_gcov(Path::new("./test/prova.gcov")).unwrap();
assert_eq!(results.len(), 10);
let (ref source_name, ref result) = results[0];
assert_eq!(source_name, "/home/marco/Documenti/FD/mozilla-central/build-cov-gcc/dist/include/nsExpirationTracker.h");
assert_eq!(
result.lines,
[
(393, 0),
(397, 0),
(399, 0),
(401, 0),
(402, 0),
(403, 0),
(405, 0)
]
.iter()
.cloned()
.collect()
);
assert!(result.functions.contains_key("_ZN19nsExpirationTrackerIN11nsIDocument16SelectorCacheKeyELj4EE25ExpirationTrackerObserver7ReleaseEv"));
let mut func = result.functions.get("_ZN19nsExpirationTrackerIN11nsIDocument16SelectorCacheKeyELj4EE25ExpirationTrackerObserver7ReleaseEv").unwrap();
assert_eq!(func.start, 393);
assert!(!func.executed);
let (ref source_name, ref result) = results[5];
assert_eq!(
source_name,
"/home/marco/Documenti/FD/mozilla-central/accessible/atk/Platform.cpp"
);
assert_eq!(
result.lines,
[
(81, 0),
(83, 0),
(85, 0),
(87, 0),
(88, 0),
(90, 0),
(94, 0),
(96, 0),
(97, 0),
(98, 0),
(99, 0),
(100, 0),
(101, 0),
(103, 0),
(104, 0),
(108, 0),
(110, 0),
(111, 0),
(112, 0),
(115, 0),
(117, 0),
(118, 0),
(122, 0),
(123, 0),
(124, 0),
(128, 0),
(129, 0),
(130, 0),
(136, 17),
(138, 17),
(141, 0),
(142, 0),
(146, 0),
(147, 0),
(148, 0),
(151, 0),
(152, 0),
(153, 0),
(154, 0),
(155, 0),
(156, 0),
(157, 0),
(161, 0),
(162, 0),
(165, 0),
(166, 0),
(167, 0),
(168, 0),
(169, 0),
(170, 0),
(171, 0),
(172, 0),
(184, 0),
(187, 0),
(189, 0),
(190, 0),
(194, 0),
(195, 0),
(196, 0),
(200, 0),
(201, 0),
(202, 0),
(203, 0),
(207, 0),
(208, 0),
(216, 17),
(218, 17),
(219, 0),
(220, 0),
(221, 0),
(222, 0),
(223, 0),
(226, 17),
(232, 0),
(233, 0),
(234, 0),
(253, 17),
(261, 11390),
(265, 11390),
(268, 373),
(274, 373),
(277, 373),
(278, 373),
(281, 373),
(288, 373),
(289, 373),
(293, 373),
(294, 373),
(295, 373),
(298, 373),
(303, 5794),
(306, 5794),
(307, 5558),
(309, 236),
(311, 236),
(312, 236),
(313, 0),
(316, 236),
(317, 236),
(318, 0),
(321, 236),
(322, 236),
(323, 236),
(324, 236),
(327, 236),
(328, 236),
(329, 236),
(330, 236),
(331, 472),
(332, 472),
(333, 236),
(338, 236),
(339, 236),
(340, 236),
(343, 0),
(344, 0),
(345, 0),
(346, 0),
(347, 0),
(352, 236),
(353, 236),
(354, 236),
(355, 236),
(361, 236),
(362, 236),
(364, 236),
(365, 236),
(370, 0),
(372, 0),
(373, 0),
(374, 0),
(376, 0)
]
.iter()
.cloned()
.collect()
);
assert!(result
.functions
.contains_key("_ZL13LoadGtkModuleR24GnomeAccessibilityModule"));
func = result
.functions
.get("_ZL13LoadGtkModuleR24GnomeAccessibilityModule")
.unwrap();
assert_eq!(func.start, 81);
assert!(!func.executed);
assert!(result
.functions
.contains_key("_ZN7mozilla4a11y12PlatformInitEv"));
func = result
.functions
.get("_ZN7mozilla4a11y12PlatformInitEv")
.unwrap();
assert_eq!(func.start, 136);
assert!(func.executed);
assert!(result
.functions
.contains_key("_ZN7mozilla4a11y16PlatformShutdownEv"));
func = result
.functions
.get("_ZN7mozilla4a11y16PlatformShutdownEv")
.unwrap();
assert_eq!(func.start, 216);
assert!(func.executed);
assert!(result.functions.contains_key("_ZN7mozilla4a11y7PreInitEv"));
func = result.functions.get("_ZN7mozilla4a11y7PreInitEv").unwrap();
assert_eq!(func.start, 261);
assert!(func.executed);
assert!(result
.functions
.contains_key("_ZN7mozilla4a11y19ShouldA11yBeEnabledEv"));
func = result
.functions
.get("_ZN7mozilla4a11y19ShouldA11yBeEnabledEv")
.unwrap();
assert_eq!(func.start, 303);
assert!(func.executed);
}