Branch Coverage

blib/lib/EMDIS/ECS/FileBackedMessage.pm
Criterion Covered Total %
branch 72 234 30.7


line true false branch
28 0 26 if (ref $arg1) { }
43 23 3 if ($argc <= 1) { }
3 0 elsif ($argc <= 3) { }
61 0 26 unless ($filename)
66 0 0 unless ecs_is_configured()
79 0 0 unless (defined $readlen)
85 0 0 if $readlen == 0
87 0 0 unless (print $fh $buffer)
94 0 0 if ($err)
104 0 26 unless open $file_handle, "+< $filename"
115 26 0 if $locked
117 0 26 unless ($locked)
128 24 2 unless ($sender_node_id)
136 0 5332 unless (defined $bytecount)
142 5328 4 if ($bytecount > 0) { }
4 0 elsif ($bytecount == 0 or $data_offset >= 1048576) { }
148 20 5308 if $email_headers =~ /\r?\n\r?\n$/so
158 0 24 if ($err)
165 20 6 if ($data_offset > 0)
171 19 1 if ($email_headers =~ /^Subject:\s*(.+?)$/imo)
180 7 19 unless (exists $this->{'subject'})
182 2 5 if $sender_node_id
183 1 6 if $seq_num
186 0 7 if $err
192 0 19 if (ecs_is_configured()) { }
200 10 9 if ($this->{'subject'} =~ m[$mail_mrk:(\S+?):(\d+)(:(\d+)/(\d+))?\s*$]i) { }
4 5 elsif ($this->{'subject'} =~ /$mail_mrk:(\S+)\s*$/i) { }
207 6 4 if defined $4
208 6 4 if defined $5
209 1 5 if (exists $this->{'part_num'} and exists $this->{'num_parts'} and $this->{'part_num'} > $this->{'num_parts'})
230 0 18 if $err
232 0 18 if $err
243 0 26 unless ref $this
246 26 0 if exists $this->{'file_handle'}
259 0 4 unless ref $this
269 0 4 unless ref $this
279 0 1 unless ref $this
289 0 2 unless ref $this
299 0 2 unless ref $this
309 0 20 unless ref $this
319 0 16 unless ref $this
329 0 3 unless ref $this
339 0 3 unless ref $this
349 0 14 unless ref $this
359 0 10 unless ref $this
369 0 8 unless ref $this
379 0 0 unless ref $this
389 0 50 unless ref $this
391 26 24 unless $this->{'is_closed'}
399 0 25 unless ref $this
402 0 25 if $this->{'is_closed'}
408 0 25 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
411 0 25 unless defined $bytecount
414 7 18 unless (exists $this->{'is_ecs_message'})
418 5 2 if ($fml =~ /^\s*(BLOCK_BEGIN\s+\w+\s*;\s*)?\w+\s*:/iso) { }
1 1 elsif ($fml =~ /^\s*msg_type\s*=\s*\S+/imos) { }
441 5 18 if ($fml =~ /HUB_RCV\s*=\s*([^,;]+)/iso)
447 5 18 if ($fml =~ /HUB_SND\s*=\s*([^,;]+)/iso)
459 0 0 unless ref $this
462 0 0 if $this->{'is_closed'}
465 0 0 if defined $this->{'num_parts'} and $this->{'num_parts'} > 1
471 0 0 unless ecs_is_configured()
477 0 0 unless defined $rcv_node_id and $rcv_node_id
482 0 0 unless ($was_locked)
484 0 0 unless $node_tbl->lock
489 0 0 unless ($node)
491 0 0 unless $was_locked
494 0 0 unless ($node->{'addr'})
496 0 0 unless $was_locked
502 0 0 if ($is_re_send) { }
0 0 elsif (not $this->{'is_meta_message'}) { }
505 0 0 unless (defined $this->{'seq_num'})
507 0 0 unless $was_locked
510 0 0 if ($this->{'seq_num'} > $node->{'out_seq'})
512 0 0 unless $was_locked
522 0 0 if ($part_num)
524 0 0 unless $was_locked
535 0 0 if (defined $node->{'msg_part_size'} and $node->{'msg_part_size'} > 0)
543 0 0 if ($data_size <= 0)
545 0 0 unless $was_locked
551 0 0 if $data_size % $msg_part_size > 0
554 0 0 if ($this->{'is_meta_message'} and $num_parts > 1)
556 0 0 unless $was_locked
560 0 0 if (defined $part_num and $part_num and $part_num > $num_parts)
562 0 0 unless $was_locked
569 0 0 if $seq_num
571 0 0 if ($is_re_send) { }
574 0 0 $part_num ? :
583 0 0 if ($this->{'is_meta_message'}) { }
590 0 0 unless -e $dirname
599 0 0 unless -e $dirname
604 0 0 if (-e $filename) { }
608 0 0 unless $fh
615 0 0 unless $fh->open("> $filename")
626 0 0 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
630 0 0 if ($err)
632 0 0 unless $was_locked
639 0 0 if (not defined $bytecount) { }
0 0 elsif ($bytecount == 0) { }
650 0 0 unless print $fh $buffer
659 0 0 if ($num_parts == 1) { }
664 0 0 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
666 0 0 unless ($err)
671 0 0 if (not defined $bytecount) { }
0 0 elsif ($bytecount != $data_size) { }
0 0 elsif ($this->{'is_meta_message'} and not $node->{'encr_meta'} =~ /true/io) { }
708 0 0 if ($part_num)
723 0 0 unless seek $this->{'file_handle'}, $part_offset, 0
725 0 0 unless ($err)
731 0 0 if (not defined $bytecount) { }
0 0 elsif ($part_num < $num_parts and $bytecount != $msg_part_size) { }
0 0 elsif ($bytecount <= 0) { }
763 0 0 if ($err) { }
765 0 0 if ($parts_sent == 0) { }
784 0 0 unless ($err)
788 0 0 unless $node_tbl->write($rcv_node_id, $node)
792 0 0 unless $was_locked