From: Francois Gouget Subject: [2/2] testbot: Handle the umask in a consistent way in the WineRun* scripts. Message-Id: Date: Fri, 25 Jul 2014 11:24:16 +0200 (CEST) Don't set it at startup to avoid impacting other modules. --- testbot/bin/WineRunBuild.pl | 6 +++++- testbot/bin/WineRunReconfig.pl | 6 +++++- testbot/bin/WineRunTask.pl | 7 +++++-- testbot/bin/build/Build.pl | 8 ++++---- testbot/bin/build/Reconfig.pl | 4 ++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/testbot/bin/WineRunBuild.pl b/testbot/bin/WineRunBuild.pl index 8f1defa..5c6e897 100755 --- a/testbot/bin/WineRunBuild.pl +++ b/testbot/bin/WineRunBuild.pl @@ -46,13 +46,16 @@ use WineTestBot::Engine::Notify; sub LogTaskError($$) { my ($ErrMessage, $FullErrFileName) = @_; + my $OldUMask = umask(002); if (open(my $ErrFile, ">>", $FullErrFileName)) { + umask($OldUMask); print $ErrFile $ErrMessage; close($ErrFile); } else { + umask($OldUMask); LogMsg "Unable to open '$FullErrFileName' for writing: $!\n"; } } @@ -182,10 +185,11 @@ if (!defined $Task) exit 1; } -umask(002); +my $OldUMask = umask(002); mkdir "$DataDir/jobs/$JobId"; mkdir "$DataDir/jobs/$JobId/$StepNo"; mkdir "$DataDir/jobs/$JobId/$StepNo/$TaskNo"; +umask($OldUMask); my $VM = $Task->VM; my $TA = $VM->GetAgent(); diff --git a/testbot/bin/WineRunReconfig.pl b/testbot/bin/WineRunReconfig.pl index c898a52..2c36afc 100755 --- a/testbot/bin/WineRunReconfig.pl +++ b/testbot/bin/WineRunReconfig.pl @@ -46,13 +46,16 @@ use WineTestBot::Engine::Notify; sub LogTaskError($$) { my ($ErrMessage, $FullErrFileName) = @_; + my $OldUMask = umask(002); if (open(my $ErrFile, ">>", $FullErrFileName)) { + umask($OldUMask); print $ErrFile $ErrMessage; close($ErrFile); } else { + umask($OldUMask); LogMsg "Unable to open '$FullErrFileName' for writing: $!\n"; } } @@ -182,10 +185,11 @@ if (!defined $Task) exit 1; } -umask(002); +my $OldUMask = umask(002); mkdir "$DataDir/jobs/$JobId"; mkdir "$DataDir/jobs/$JobId/$StepNo"; mkdir "$DataDir/jobs/$JobId/$StepNo/$TaskNo"; +umask($OldUMask); my $VM = $Task->VM; my $TA = $VM->GetAgent(); diff --git a/testbot/bin/WineRunTask.pl b/testbot/bin/WineRunTask.pl index 353b9b4..9b8f43f 100755 --- a/testbot/bin/WineRunTask.pl +++ b/testbot/bin/WineRunTask.pl @@ -100,13 +100,16 @@ sub TakeScreenshot($$) my ($ErrMessage, $ImageSize, $ImageBytes) = $VM->CaptureScreenImage(); if (! defined($ErrMessage)) { + my $OldUMask = umask(002); if (open SCREENSHOT, ">$FullScreenshotFileName") { + umask($OldUMask); print SCREENSHOT $ImageBytes; close SCREENSHOT; } else { + umask($OldUMask); LogMsg "Can't save screenshot: $!\n"; } } @@ -201,11 +204,11 @@ if (!defined $Task) exit 1; } -my $oldumask = umask(002); +my $OldUMask = umask(002); mkdir "$DataDir/jobs/$JobId"; mkdir "$DataDir/jobs/$JobId/$StepNo"; mkdir "$DataDir/jobs/$JobId/$StepNo/$TaskNo"; -umask($oldumask); +umask($OldUMask); my $VM = $Task->VM; my $TA = $VM->GetAgent(); diff --git a/testbot/bin/build/Build.pl b/testbot/bin/build/Build.pl index f94b87e..fb3235d 100755 --- a/testbot/bin/build/Build.pl +++ b/testbot/bin/build/Build.pl @@ -42,24 +42,24 @@ use WineTestBot::Config; sub InfoMsg(@) { - my $oldumask = umask(002); + my $OldUMask = umask(002); if (open LOGFILE, ">>$LogDir/Build.log") { print LOGFILE @_; close LOGFILE; } - umask($oldumask); + umask($OldUMask); } sub LogMsg(@) { - my $oldumask = umask(002); + my $OldUMask = umask(002); if (open LOGFILE, ">>$LogDir/Build.log") { print LOGFILE "Build: ", @_; close LOGFILE; } - umask($oldumask); + umask($OldUMask); } sub FatalError(@) diff --git a/testbot/bin/build/Reconfig.pl b/testbot/bin/build/Reconfig.pl index f5ffcab..81a487f 100755 --- a/testbot/bin/build/Reconfig.pl +++ b/testbot/bin/build/Reconfig.pl @@ -42,13 +42,13 @@ use WineTestBot::Config; sub LogMsg(@) { - my $oldumask = umask(002); + my $OldUMask = umask(002); if (open LOGFILE, ">>$LogDir/Reconfig.log") { print LOGFILE "Reconfig: ", @_; close LOGFILE; } - umask($oldumask); + umask($OldUMask); } sub FatalError(@) -- 2.0.1