diff options
Diffstat (limited to 't')
-rw-r--r-- | t/001compile.t | 76 | ||||
-rw-r--r-- | t/002goodperl.t | 75 | ||||
-rw-r--r-- | t/003safesys.t | 58 |
3 files changed, 209 insertions, 0 deletions
diff --git a/t/001compile.t b/t/001compile.t new file mode 100644 index 000000000..8886d685b --- /dev/null +++ b/t/001compile.t @@ -0,0 +1,76 @@ +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code are the Bugzilla Tests. +# +# The Initial Developer of the Original Code is Zach Lipton +# Portions created by Zach Lipton are +# Copyright (C) 2001 Zach Lipton. All +# Rights Reserved. +# +# Contributor(s): Zach Lipton <zach@zachlipton.com> +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU General Public License Version 2 or later (the +# "GPL"), in which case the provisions of the GPL are applicable +# instead of those above. If you wish to allow use of your +# version of this file only under the terms of the GPL and not to +# allow others to use your version of this file under the MPL, +# indicate your decision by deleting the provisions above and +# replace them with the notice and other provisions required by +# the GPL. If you do not delete the provisions above, a recipient +# may use your version of this file under either the MPL or the +# GPL. +# + + +################# +#Bugzilla Test 1# +###Compilation### +BEGIN { use lib 't/'; } +BEGIN { use Support::Files; } +BEGIN { $tests = @Support::Files::testitems + 4; } +BEGIN { use Test::More tests => $tests; } + +# First now we test the scripts +@testitems = @Support::Files::testitems; + +our $warnings; +my $verbose = $::ENV{VERBOSE}; +$perlapp=$^X; +foreach $file (@testitems) { + $file =~ s/\s.*$//; # nuke everything after the first space (#comment) + next if (!$file); # skip null entries + $command = "$perlapp"." -c $file 2>&1"; + $loginfo=`$command`; +# print '@@'.$loginfo.'##'; + if ($loginfo =~ /syntax ok$/im) { + $warnings{$_} = 1 foreach ($loginfo =~ /\((W.*?)\)/mg); + if ($1) { + if ($verbose) { print STDERR $loginfo; } + ok(0,$file."--WARNING"); + } else { + ok(1,$file); + } + } else { + if ($verbose) { print STDERR $loginfo; } + ok(0,$file."--ERROR"); + } +} + +# and the libs: +use_ok('Token'); # 52 +use_ok('Attachment'); # 53 +use_ok('Bug'); # 54 +use_ok('RelationSet'); # 55 + + + diff --git a/t/002goodperl.t b/t/002goodperl.t new file mode 100644 index 000000000..8efa8367a --- /dev/null +++ b/t/002goodperl.t @@ -0,0 +1,75 @@ +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code are the Bugzilla Tests. +# +# The Initial Developer of the Original Code is Zach Lipton +# Portions created by Zach Lipton are +# Copyright (C) 2001 Zach Lipton. All +# Rights Reserved. +# +# Contributor(s): Zach Lipton <zach@zachlipton.com> +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU General Public License Version 2 or later (the +# "GPL"), in which case the provisions of the GPL are applicable +# instead of those above. If you wish to allow use of your +# version of this file only under the terms of the GPL and not to +# allow others to use your version of this file under the MPL, +# indicate your decision by deleting the provisions above and +# replace them with the notice and other provisions required by +# the GPL. If you do not delete the provisions above, a recipient +# may use your version of this file under either the MPL or the +# GPL. +# + +################# +#Bugzilla Test 2# +####GoodPerl##### + +BEGIN { use lib 't/'; } +BEGIN { use Support::Files; } +BEGIN { $tests = @Support::Files::testitems * 2; } +BEGIN { use Test::More tests => $tests; } + +@testitems = @Support::Files::testitems; # get the files to test. + +foreach $file (@testitems) { + $file =~ s/\s.*$//; # nuke everything after the first space (#comment) + next if (!$file); # skip null entries + $filecontent = `cat $file`; + if ($filecontent !~ /\/usr\/bonsaitools\/bin\/perl/) { + ok(1,"$file does not have a shebang"); + next; + } else { + if ($filecontent =~ m#/usr/bonsaitools/bin/perl -w#) { + ok(1,"$file uses -w"); + next; + } else { + ok(0,"$file is MISSING -w"); + next; + } + } +} +foreach $file (@testitems) { + $file =~ s/\s.*$//; # nuke everything after the first space (#comment) + next if (!$file); # skip null entries + $filecontent = `cat $file`; + if ($filecontent !~ /use strict/) { + ok(0,"$file DOES NOT use strict"); + } else { + ok(1,"$file uses strict"); + } +} + + + + diff --git a/t/003safesys.t b/t/003safesys.t new file mode 100644 index 000000000..d11455513 --- /dev/null +++ b/t/003safesys.t @@ -0,0 +1,58 @@ +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code are the Bugzilla Tests. +# +# The Initial Developer of the Original Code is Zach Lipton +# Portions created by Zach Lipton are +# Copyright (C) 2001 Zach Lipton. All +# Rights Reserved. +# +# Contributor(s): Zach Lipton <zach@zachlipton.com> +# +# Alternatively, the contents of this file may be used under the +# terms of the GNU General Public License Version 2 or later (the +# "GPL"), in which case the provisions of the GPL are applicable +# instead of those above. If you wish to allow use of your +# version of this file only under the terms of the GPL and not to +# allow others to use your version of this file under the MPL, +# indicate your decision by deleting the provisions above and +# replace them with the notice and other provisions required by +# the GPL. If you do not delete the provisions above, a recipient +# may use your version of this file under either the MPL or the +# GPL. +# + +################# +#Bugzilla Test 3# +###Safesystem#### + +BEGIN { use lib 't/'; } +BEGIN { use Support::Files; } +BEGIN { $tests = @Support::Files::testitems; } +BEGIN { use Test::More tests => $tests; } + +@testitems = @Support::Files::testitems; +my $verbose = $::ENV{VERBOSE}; +$perlapp=$^X; +foreach $file (@testitems) { + $file =~ s/\s.*$//; # nuke everything after the first space (#comment) + next if (!$file); # skip null entries + $command = "$perlapp -c -It/Support -MSystemexec $file 2>&1"; + $loginfo=`$command`; + if ($loginfo =~ /arguments for Systemexec::system|exec/im) { + ok(0,"$file DOES NOT use proper system or exec calls"); + if ($verbose) { print STDERR $loginfo; } + } else { + ok(1,"$file uses proper system and exec calls"); + } +} + |