1#!perl 2 3# testing with packed scripts 4 5use strict; 6use warnings; 7use FindBin '$Bin'; 8use lib "$Bin/lib"; 9 10use File::Temp qw(tempfile); 11use Test::More 0.98; 12use Test::Needs 'App::depak'; 13 14my ($tempfh, $tempname) = tempfile(); 15 16subtest fatpack => sub { 17 require App::depak; 18 19 my $res = App::depak::depak( 20 pack_method => "fatpack", 21 include_module => ["Local::Foo", "Local::Bar"], 22 input_file => "$Bin/bin/test-module-installed.pl", 23 output_file => $tempname, 24 overwrite => 1, 25 trace_method => "fatpacker", 26 ); 27 die "Can't create packed script (fatpack): $res->[0] - $res->[1]" 28 unless $res->[0] == 200; 29 30 my $output = `$^X $tempname`; 31 like($output, qr/^installed1.*^installed2.*NOT-INSTALLED3/ms); 32}; 33 34subtest datapack => sub { 35 require App::depak; 36 37 my $res = App::depak::depak( 38 pack_method => "datapack", 39 include_module => ["Local::Foo", "Local::Bar"], 40 input_file => "$Bin/bin/test-module-source.pl", 41 output_file => $tempname, 42 overwrite => 1, 43 trace_method => "fatpacker", 44 ); 45 die "Can't create packed script (datapack): $res->[0] - $res->[1]" 46 unless $res->[0] == 200; 47 48 my $output = `$^X $tempname`; 49 like($output, qr/package Local::Foo.*package Local::Bar/s); 50}; 51 52done_testing; 53