isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit e0c1a83fc10c29e3cf7ebb03d3af536388630f49
parent 640b2a6649431fcf6f4239e6bae96711088ecf7a
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Mon,  7 Feb 2022 15:44:38 +0100

autotest: make more use of readfile()

Diffstat:
Msrc/run-tests.pl | 30++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/src/run-tests.pl b/src/run-tests.pl @@ -369,6 +369,19 @@ sub runsync($$$) } +use constant CHOMP => 1; + +sub readfile($;$) +{ + my ($file, $chomp) = @_; + + open(FILE, $file) or return; + my @nj = <FILE>; + close FILE; + chomp(@nj) if ($chomp); + return \@nj; +} + # $path # Return: $max_uid, { uid => [ seq, flags ] } sub readbox($) @@ -379,10 +392,9 @@ sub readbox($) die "No mailbox '$bn'.\n"; (-d $bn."/tmp" and -d $bn."/new" and -d $bn."/cur") or die "Invalid mailbox '$bn'.\n"; - open(FILE, "<", $bn."/.uidvalidity") or die "Cannot read UID validity of mailbox '$bn'.\n"; - my $dummy = <FILE>; - chomp(my $mu = <FILE>); - close FILE; + my $uidval = readfile($bn."/.uidvalidity", CHOMP); + die "Cannot read UID validity of mailbox '$bn': $!\n" if (!$uidval); + my $mu = $$uidval[1]; my %ms = (); for my $d ("cur", "new") { opendir(DIR, $bn."/".$d) or next; @@ -696,16 +708,6 @@ sub printchan($) printstate($$cs[2]); } -sub readfile($) -{ - my ($file) = @_; - - open(FILE, $file) or return; - my @nj = <FILE>; - close FILE; - return \@nj; -} - # $run_async, \@source_state, \@target_state, \@channel_configs sub test_impl($$$$) {