From 2195ac3618a85cc70ed33b676972d8ca8eb8acf6 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Mon, 27 Mar 2017 19:46:44 -0400 Subject: [PATCH] Basic testing! woot --- test.pl | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/test.pl b/test.pl index dd2de46..e82e16f 100755 --- a/test.pl +++ b/test.pl @@ -79,6 +79,7 @@ use autodie; use warnings; use Data::Dumper; use List::Util qw/uniq/; +use IPC::Run qw/run/; sub dep_order { my $module = shift; @@ -94,7 +95,46 @@ sub dep_order { return @orders; } +sub run_cpanm { + my ($module, $incstatus) = @_; + + $ENV{PERL_USE_UNSAFE_INC} = !!$incstatus; + my @cmd = (qw/perlbrew exec --with perlbot-inctest cpanm --reinstall --verbose/, $module); + + my $out; + run \@cmd, '>&', \$out; + + my $exitcode = $?; + if ($exitcode) { + print "command failed\n"; # TODO save output? + print $out; + } + + return ($exitcode, $out); +} + +sub test_module { + my $module = shift; + my ($ret, $noincout) = run_cpanm($module, 0); + + if ($ret) { + my ($ret2, $incout) = run_cpanm($module, 1); + + if (!$ret2) { + print ">>>>Module $module failed to build without UNSAFE INC\n"; + open(my $fh, ">", "logs/${$}_${module}_incfailure.log"); + print $fh $noincout; + } else { + print "<<<", "logs/${$}_${module}_genfailure.log"); + print $fh $incout; + } + } +} + my $foo = Module->new_module('Moose'); -$foo->print_deps(0, []); print Dumper([map {$_->name} uniq dep_order($foo)]); + +test_module('Clone');