Branch Coverage

blib/lib/EMDIS/ECS/FileBackedMessage.pm
Criterion Covered Total %
branch 71 256 27.7


line true false branch
29 0 29 if (ref $arg1) { }
44 20 9 if ($argc <= 1) { }
9 0 elsif ($argc == 3) { }
51 8 1 if $sender_node_id
52 2 7 if $seq_num
64 2 27 if (defined $filename and $filename =~ /(\.doc|\.doc\.xml)$/io)
76 0 29 unless ($filename)
81 0 0 unless ecs_is_configured()
94 0 0 unless (defined $readlen)
100 0 0 if $readlen == 0
102 0 0 unless (print $fh $buffer)
109 0 0 if ($err)
119 0 29 unless open $file_handle, "+< $filename"
130 29 0 if $locked
132 0 29 unless ($locked)
143 21 8 unless (exists $this->{'sender_node_id'})
151 0 5170 unless (defined $bytecount)
157 5170 0 if ($bytecount > 0) { }
0 0 elsif ($bytecount == 0 or $data_offset >= 1048576) { }
163 21 5149 if $email_headers =~ /\r?\n\r?\n$/so
173 0 21 if ($err)
180 21 8 if ($data_offset > 0)
186 20 1 if ($email_headers =~ /^Subject:\s*(.+?)$/imo)
195 9 20 unless (exists $this->{'subject'})
203 0 20 if (ecs_is_configured()) { }
211 10 10 if ($this->{'subject'} =~ m[$mail_mrk:(\S+?):(\d+)(:(\d+)/(\d+))?\s*$]i) { }
1 9 elsif ($this->{'subject'} =~ /$mail_mrk:(\S+?):(\d+):DOC\s*$/io) { }
4 5 elsif ($this->{'subject'} =~ /$mail_mrk:(\S+)\s*$/i) { }
219 6 4 if defined $4
220 6 4 if defined $5
221 1 5 if (exists $this->{'part_num'} and exists $this->{'num_parts'} and $this->{'part_num'} > $this->{'num_parts'})
252 0 19 if $err
263 0 29 unless ref $this
266 29 0 if exists $this->{'file_handle'}
279 0 4 unless ref $this
289 0 4 unless ref $this
299 0 1 unless ref $this
309 0 2 unless ref $this
319 0 2 unless ref $this
329 0 20 unless ref $this
339 0 16 unless ref $this
349 0 3 unless ref $this
359 0 3 unless ref $this
369 0 3 unless ref $this
379 0 0 unless ref $this
389 0 14 unless ref $this
399 0 10 unless ref $this
409 0 8 unless ref $this
419 0 0 unless ref $this
429 0 56 unless ref $this
431 29 27 unless $this->{'is_closed'}
440 0 6 unless ref $this
443 0 6 if $this->{'is_closed'}
449 0 6 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
452 0 6 unless defined $bytecount
456 4 2 if ($fml =~ /^\s*(BLOCK_BEGIN\s+\w+\s*;\s*)?\w+\s*:/iso) { }
1 1 elsif ($fml =~ /^\s*msg_type\s*=\s*\S+/imos) { }
481 3 1 if ($fml =~ /HUB_RCV\s*=\s*([^,;]+)/iso)
487 3 1 if ($fml =~ /HUB_SND\s*=\s*([^,;]+)/iso)
499 0 0 unless ref $this
502 0 0 if $this->{'is_closed'}
505 0 0 if defined $this->{'num_parts'} and $this->{'num_parts'} > 1
511 0 0 unless ecs_is_configured()
517 0 0 unless defined $rcv_node_id and $rcv_node_id
522 0 0 unless ($was_locked)
524 0 0 unless $node_tbl->lock
529 0 0 unless ($node)
531 0 0 unless $was_locked
534 0 0 unless ($node->{'addr'})
536 0 0 unless $was_locked
542 0 0 if ($is_re_send and not $this->{'is_document'}) { }
0 0 elsif ($is_re_send and $this->{'is_document'}) { }
0 0 elsif ($this->{'is_document'}) { }
0 0 elsif (not $this->{'is_meta_message'}) { }
545 0 0 unless (defined $this->{'seq_num'})
547 0 0 unless $was_locked
550 0 0 if ($this->{'seq_num'} > $node->{'out_seq'})
552 0 0 unless $was_locked
562 0 0 unless (defined $this->{'seq_num'})
564 0 0 unless $was_locked
567 0 0 if ($this->{'seq_num'} > $node->{'doc_out_seq'})
569 0 0 unless $was_locked
585 0 0 if ($part_num)
587 0 0 unless $was_locked
598 0 0 if (defined $node->{'msg_part_size'} and $node->{'msg_part_size'} > 0)
606 0 0 if ($data_size <= 0)
608 0 0 unless $was_locked
613 0 0 if ($this->{'is_document'})
620 0 0 if $data_size % $msg_part_size > 0
622 0 0 if ($this->{'is_meta_message'} and $num_parts > 1)
624 0 0 unless $was_locked
628 0 0 if (defined $part_num and $part_num and $part_num > $num_parts)
630 0 0 unless $was_locked
637 0 0 if $seq_num
638 0 0 if $this->{'is_document'}
640 0 0 if ($is_re_send) { }
643 0 0 $part_num ? :
652 0 0 if ($this->{'is_meta_message'}) { }
659 0 0 unless -e $dirname
665 0 0 if ($this->{'is_document'}) { }
675 0 0 unless -e $dirname
680 0 0 if (-e $filename) { }
684 0 0 unless $fh
691 0 0 unless $fh->open("> $filename")
702 0 0 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
706 0 0 if ($err)
708 0 0 unless $was_locked
715 0 0 if (not defined $bytecount) { }
0 0 elsif ($bytecount == 0) { }
726 0 0 unless print $fh $buffer
739 0 0 if ($num_parts == 1) { }
744 0 0 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0
746 0 0 unless ($err)
751 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) { }
766 0 0 if (is_yes($cfg->ENABLE_AMQP) and exists $node->{'amqp_addr_meta'} and $node->{'amqp_addr_meta'}) { }
801 0 0 if ($part_num)
816 0 0 unless seek $this->{'file_handle'}, $part_offset, 0
818 0 0 unless ($err)
824 0 0 if (not defined $bytecount) { }
0 0 elsif ($part_num < $num_parts and $bytecount != $msg_part_size) { }
0 0 elsif ($bytecount <= 0) { }
858 0 0 if ($err) { }
860 0 0 if ($parts_sent == 0) { }
879 0 0 unless ($err)
883 0 0 unless $node_tbl->write($rcv_node_id, $node)
887 0 0 unless $was_locked