summaryrefslogtreecommitdiff
path: root/t/strict.t
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2014-11-17 10:40:45 +0100
committerGuillem Jover <guillem@debian.org>2015-01-28 20:50:30 +0100
commit8d557d6c8ea6f370e00d13eaa6234b2ef2d800dc (patch)
treee4b4a2b18509a8b0f5de20bf9fbc6433e14ac455 /t/strict.t
parentf38b214a69052741625e36e265f8b3e47959fa11 (diff)
downloaddpkg-8d557d6c8ea6f370e00d13eaa6234b2ef2d800dc.tar.gz
test: Check perl code compilation, warnings and strictness
Diffstat (limited to 't/strict.t')
-rw-r--r--t/strict.t40
1 files changed, 40 insertions, 0 deletions
diff --git a/t/strict.t b/t/strict.t
new file mode 100644
index 000000000..fafd05c1e
--- /dev/null
+++ b/t/strict.t
@@ -0,0 +1,40 @@
+#!/usr/bin/perl
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Dpkg;
+
+eval q{
+ use Test::Strict;
+ $Test::Strict::TEST_WARNINGS = 1;
+};
+plan skip_all => 'Test::Strict required for testing syntax' if $@;
+
+if (defined $ENV{srcdir}) {
+ chdir $ENV{srcdir} or die "cannot chdir to source directory: $!";
+}
+
+my @files = Test::Dpkg::all_perl_files();
+
+plan tests => scalar @files * 3;
+
+for my $file (@files) {
+ syntax_ok($file);
+ strict_ok($file);
+ warnings_ok($file);
+}