Branch Coverage

Mmap.xs
Criterion Covered Total %
branch 64 100 64.0


line true false branch
49 2 12 if (strEQ(name, "MAP_ANON"))
55 0 12 if (strEQ(name, "MAP_ANONYMOUS"))
61 2 10 if (strEQ(name, "MAP_FILE"))
67 0 10 if (strEQ(name, "MAP_PRIVATE"))
73 6 4 if (strEQ(name, "MAP_SHARED"))
79 0 4 if (strEQ(name, "MAP_LOCKED"))
85 0 4 if (strEQ(name, "MAP_NORESERVE"))
91 1 3 if (strEQ(name, "MAP_POPULATE"))
97 0 3 if (strEQ(name, "MAP_HUGETLB"))
103 0 3 if (strEQ(name, "MAP_HUGE_2MB"))
109 0 3 if (strEQ(name, "MAP_HUGE_1GB"))
117 0 11 if (strEQ(name, "PROT_EXEC"))
123 0 11 if (strEQ(name, "PROT_NONE"))
129 6 5 if (strEQ(name, "PROT_READ"))
135 5 0 if (strEQ(name, "PROT_WRITE"))
165 15 0 if (info) {
166 2 13 if (info->base_addr) {
190 13 4 if (SvTYPE(sv) >= SVt_PVMG) {
191 13 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
192 13 0 if (mg->mg_type == MMAP_MAGIC_TYPE && mg->mg_virtual == &mmap_magic_vtbl)
13 0 if (mg->mg_type == MMAP_MAGIC_TYPE && mg->mg_virtual == &mmap_magic_vtbl)
222 0 0 SvUPGRADE(var, SVt_PV);
247 0 19 if(!SvTRUE(off_string)) {
254 1 18 if(off < 0) {
259 3 15 if(flags&MAP_ANON) {
261 1 2 if (!len) {
267 0 15 if (fd < 0) {
270 9 6 if (!len) {
272 0 9 if (fstat(fd, &st) == -1) {
275 2 7 if (off >= st.st_size) {
282 3 12 if (pagesize == 0) {
289 0 15 if (addr == MAP_FAILED) {
294 0 15 if (SvIsCOW(var)) {
299 13 2 SvUPGRADE(var, SVt_PV);
300 9 6 if (!(prot & PROT_WRITE))
330 3 21 if(!SvOK(var)) { /* Detect if variable is undef */
334 14 7 if(SvTYPE(var) < SVt_PV || SvTYPE(var) > SVt_PVMG) {
0 14 if(SvTYPE(var) < SVt_PV || SvTYPE(var) > SVt_PVMG) {
341 10 4 if (mg) {
343 0 10 if (munmap((MMAP_RETTYPE) info->base_addr, info->total_len) == -1) {
351 4 0 if (SvLEN(var) != 0) {
356 0 0 if (munmap((MMAP_RETTYPE) SvPVX(var), SvCUR(var)) == -1) {
366 0 10 SvOK_off(var);
378 3 0 if (SvROK(var))
383 3 0 if (mg) {
385 3 0 if (info->base_addr) {
386 0 3 if (munmap((MMAP_RETTYPE) info->base_addr, info->total_len) == -1) {
394 0 0 if (SvLEN(var) != 0)
396 0 0 if (munmap((MMAP_RETTYPE) SvPVX(var), SvCUR(var)) == -1) {
406 0 3 SvOK_off(var);