From ccaf82a249d988a9192034b5afa33b754aefd379 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" <> Date: Fri, 4 Sep 2009 21:08:05 +0000 Subject: Bug 224588: Unify ($^O =~ /MSWin/) checks (always use ON_WINDOWS) Patch by Max Kanat-Alexander r=LpSolit, a=LpSolit --- Bugzilla/CGI.pm | 15 +++++++-------- Bugzilla/Config/Common.pm | 2 +- Bugzilla/Constants.pm | 8 ++++---- showdependencygraph.cgi | 2 +- t/001compile.t | 7 +++---- t/008filter.t | 7 ++++--- t/012throwables.t | 6 +++--- testserver.pl | 6 +++--- 8 files changed, 26 insertions(+), 27 deletions(-) diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm index 1a1a1ac74..a00d632c3 100644 --- a/Bugzilla/CGI.pm +++ b/Bugzilla/CGI.pm @@ -21,26 +21,25 @@ # Byron Jones # Marc Schumann +package Bugzilla::CGI; use strict; -package Bugzilla::CGI; +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Util; BEGIN { - if ($^O =~ /MSWin32/i) { + if (ON_WINDOWS) { # Help CGI find the correct temp directory as the default list # isn't Windows friendly (Bug 248988) $ENV{'TMPDIR'} = $ENV{'TEMP'} || $ENV{'TMP'} || "$ENV{'WINDIR'}\\TEMP"; } } -use CGI qw(-no_xhtml -oldstyle_urls :private_tempfiles :unique_headers SERVER_PUSH); - +use CGI qw(-no_xhtml -oldstyle_urls :private_tempfiles + :unique_headers SERVER_PUSH); use base qw(CGI); -use Bugzilla::Constants; -use Bugzilla::Error; -use Bugzilla::Util; - # We need to disable output buffering - see bug 179174 $| = 1; diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index cb95a2f8d..90a5a6c76 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -297,7 +297,7 @@ sub check_mail_delivery_method { my $check = check_multi(@_); return $check if $check; my $mailer = shift; - if ($mailer eq 'sendmail' && $^O =~ /MSWin32/i) { + if ($mailer eq 'sendmail' and ON_WINDOWS) { # look for sendmail.exe return "Failed to locate " . SENDMAIL_EXE unless -e SENDMAIL_EXE; diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm index ef3853788..5691df900 100644 --- a/Bugzilla/Constants.pm +++ b/Bugzilla/Constants.pm @@ -430,13 +430,13 @@ use constant DB_MODULE => { name => 'Oracle'}, }; -# The user who should be considered "root" when we're giving -# instructions to Bugzilla administrators. -use constant ROOT_USER => $^O =~ /MSWin32/i ? 'Administrator' : 'root'; - # True if we're on Win32. use constant ON_WINDOWS => ($^O =~ /MSWin32/i); +# The user who should be considered "root" when we're giving +# instructions to Bugzilla administrators. +use constant ROOT_USER => ON_WINDOWS ? 'Administrator' : 'root'; + use constant MIN_SMALLINT => -32768; use constant MAX_SMALLINT => 32767; diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi index 300c36c09..9b3437ebc 100755 --- a/showdependencygraph.cgi +++ b/showdependencygraph.cgi @@ -267,7 +267,7 @@ if ($webdotbase =~ /^https?:/) { close $pngfh; # On Windows $pngfilename will contain \ instead of / - $pngfilename =~ s|\\|/|g if $^O eq 'MSWin32'; + $pngfilename =~ s|\\|/|g if ON_WINDOWS; # Under mod_perl, pngfilename will have an absolute path, and we # need to make that into a relative path. diff --git a/t/001compile.t b/t/001compile.t index 78fc6a684..07e47160a 100644 --- a/t/001compile.t +++ b/t/001compile.t @@ -25,9 +25,8 @@ ###Compilation### use strict; - -use lib 't'; - +use lib qw(. lib t); +use Bugzilla::Constants; use Support::Files; use Test::More tests => scalar(@Support::Files::testitems); @@ -94,7 +93,7 @@ foreach my $file (@testitems) { # Special hack due to CPAN.pm on Windows with Cygwin installed throwing # strings of the form "Set up gcc environment - 3.4.4 (cygming special, # gdc 0.12, using dmd 0.125)". See bug 416047 for details. - if ($^O =~ /MSWin32/i + if (ON_WINDOWS && grep($_ eq $file, 'install-module.pl', 'Bugzilla/Install/CPAN.pm')) { $loginfo =~ s/^Set up gcc environment.*?\n//; diff --git a/t/008filter.t b/t/008filter.t index ec9e21f51..5a9e48bac 100644 --- a/t/008filter.t +++ b/t/008filter.t @@ -30,10 +30,11 @@ # Sample exploit code: '>"> use strict; -use lib 't'; +use lib qw(. lib t); use vars qw(%safe); +use Bugzilla::Constants; use Support::Templates; use File::Spec; use Test::More tests => $Support::Templates::num_actual_files; @@ -45,7 +46,7 @@ my $topdir = cwd; $/ = undef; foreach my $path (@Support::Templates::include_paths) { - $path =~ s|\\|/|g if $^O eq 'MSWin32'; # convert \ to / in path if on windows + $path =~ s|\\|/|g if ON_WINDOWS; # convert \ to / in path if on windows $path =~ m|template/([^/]+)/([^/]+)|; my $lang = $1; my $flavor = $2; @@ -66,7 +67,7 @@ foreach my $path (@Support::Templates::include_paths) { } else { do "filterexceptions.pl"; - if ($^O eq 'MSWin32') { + if (ON_WINDOWS) { # filterexceptions.pl uses / separated paths, while # find_actual_files returns \ separated ones on Windows. # Here, we convert the filter exception hash to use \. diff --git a/t/012throwables.t b/t/012throwables.t index b846ab907..4be02c58a 100644 --- a/t/012throwables.t +++ b/t/012throwables.t @@ -28,9 +28,9 @@ ######Errors###### use strict; +use lib qw(. lib t); -use lib 't'; - +use Bugzilla::Constants; use Bugzilla::WebService::Constants; use File::Spec; @@ -60,7 +60,7 @@ foreach my $include_path (@include_paths) { foreach my $path (@{$actual_files{$include_path}}) { my $file = File::Spec->catfile($include_path, $path); $file =~ s/\s.*$//; # nuke everything after the first space - $file =~ s|\\|/|g if $^O eq 'MSWin32'; # convert \ to / in path if on windows + $file =~ s|\\|/|g if ON_WINDOWS; # convert \ to / in path if on windows $test_templates{$file} = () if $file =~ m#global/(code|user)-error\.html\.tmpl#; } diff --git a/testserver.pl b/testserver.pl index 1e2af661a..3142685bc 100755 --- a/testserver.pl +++ b/testserver.pl @@ -42,7 +42,7 @@ if ((@ARGV != 1) || ($ARGV[0] !~ /^https?:/)) # Try to determine the GID used by the web server. my @pscmds = ('ps -eo comm,gid', 'ps -acxo command,gid', 'ps -acxo command,rgid'); my $sgid = 0; -if ($^O !~ /MSWin32/i) { +if (!ON_WINDOWS) { foreach my $pscmd (@pscmds) { open PH, "$pscmd 2>/dev/null |"; while (my $line = ) { @@ -83,7 +83,7 @@ Please refer to the web server configuration section of the Bugzilla guide. If you are using virtual hosts or suexec, this warning may not apply.\n"; } } -elsif ($^O !~ /MSWin32/i) { +elsif (!ON_WINDOWS) { print "TEST-WARNING Failed to find the GID for the 'httpd' process, unable to validate webservergroup.\n"; @@ -138,7 +138,7 @@ if ($@ eq '') { # Ensure major versions of GD and libgd match # Windows's GD module include libgd.dll, guaranteed to match - if ($^O !~ /MSWin32/i) { + if (!ON_WINDOWS) { my $gdlib = `gdlib-config --version 2>&1` || ""; $gdlib =~ s/\n$//; if (!$gdlib) { -- cgit v1.2.3-24-g4f1b