[Pkg-haskell-commits] darcs: tools: Analyze cabal-install output

Joachim Breitner mail at joachim-breitner.de
Sat Jun 15 11:20:55 UTC 2013


Sat Jun 15 11:17:12 UTC 2013  Joachim Breitner <mail at joachim-breitner.de>
  * Analyze cabal-install output

    M ./all-packages/test-packages.pl -1 +16

Sat Jun 15 11:17:12 UTC 2013  Joachim Breitner <mail at joachim-breitner.de>
  * Analyze cabal-install output
diff -rN -u old-tools/all-packages/test-packages.pl new-tools/all-packages/test-packages.pl
--- old-tools/all-packages/test-packages.pl	2013-06-15 11:20:55.351063225 +0000
+++ new-tools/all-packages/test-packages.pl	2013-06-15 11:20:55.399132349 +0000
@@ -9,6 +9,7 @@
 use Archive::Tar;
 use File::Slurp;
 use Text::Patch;
+use IPC::Run qw( run );
 
 my %packages;
 my %versions;
@@ -172,7 +173,21 @@
 }
 
 print "Running cabal-install...\n";
-(system @params) == 0 or die "cabal install failed: $?";
+my $out;
+my $err;
+run \@params, \"", \$out, \$err or die "cabal install failed: $?";
+
+while ($out =~ m!^([a-zA-H0-9-]+)-([0-9.]+)$!gm) {
+	my ($pkg, $version) = ($1, $2);
+	unless (exists $versions{$pkg}) {
+		printf "Additional dependency pulled in: %s-%s\n", $pkg, $version;
+		next
+	}
+	unless ($versions{$pkg} eq $version) {
+		printf "ERROR: %s has %s but should have %\n", $pkg, $version, $versions{$pkg};
+		next
+	}
+}
 
 
 system("rm -rf cabal-sandbox");




More information about the Pkg-haskell-commits mailing list