Преглед изворни кода

Add a test target to scripts/Makefile.am

Add a simple test target copied from a MakeMaker
generated Makefile and add Dpkg::Version testscript,
like the code copied from Debbugs bzr
Frank Lichtenheld пре 19 година
родитељ
комит
5d029bf7c6
2 измењених фајлова са 57 додато и 0 уклоњено
  1. 6 0
      scripts/Makefile.am
  2. 51 0
      scripts/t/02_version_dpkg.t

+ 6 - 0
scripts/Makefile.am

@@ -99,3 +99,9 @@ install-data-local:
 uninstall-local:
 	rm -f $(DESTDIR)$(sysconfdir)/alternatives/README
 	rm -f $(DESTDIR)$(sbindir)/install-info
+
+TEST_FILES= t/*.t
+TEST_VERBOSE= 0
+
+test:
+	PERL_DL_NONLAZY=1 $(PERL) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), '.')" $(TEST_FILES)

+ 51 - 0
scripts/t/02_version_dpkg.t

@@ -0,0 +1,51 @@
+# -*- mode: cperl;-*-
+
+use Test::More;
+
+use warnings;
+use strict;
+
+use utf8;
+use Encode;
+
+# Default cmp '>'
+my @versions = ({a      => '1.0-1',
+		 b      => '2.0-2',
+		 result => -1,
+		 relation => 'lt',
+		},
+		{a      => '2.2~rc-4',
+		 b      => '2.2-1',
+		 result => -1,
+		 relation => 'lt',
+		},
+		{a      => '2.2-1',
+		 b      => '2.2~rc-4',
+		 result => 1,
+		 relation => 'gt',
+		},
+		{a      => '1.0000-1',
+		 b      => '1.0-1',
+		 result => 0,
+		 relation => 'eq',
+		},
+	       );
+
+plan tests => @versions * 2 + 1;
+
+sub dpkg_vercmp{
+     my ($a,$b,$cmp) = @_;
+     $cmp = 'gt' if not defined $cmp;
+     return system('dpkg','--compare-versions',$a,$cmp,$b) == 0;
+}
+
+
+use_ok('Dpkg::Version');
+
+for my $version_cmp (@versions) {
+     ok(Dpkg::Version::vercmp($$version_cmp{a},$$version_cmp{b}) == $$version_cmp{result},
+	"Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b} ok");
+     ok(dpkg_vercmp($$version_cmp{a},$$version_cmp{b},$$version_cmp{relation}),
+	"Dpkg concures: Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b}");
+}
+