[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