Commit | Line | Data |
dc7a3a08 |
1 | #!perl |
4c401dbc |
2 | use strict; |
3 | use warnings FATAL => 'all'; |
4 | use Test::More qw(no_plan); |
dc7a3a08 |
5 | |
6 | test_trace("t/mod/a.pm" => ("t/mod/b.pm", "t/mod/c.pm")); |
7 | test_trace("t/mod/b.pm" => ("t/mod/c.pm")); |
8 | test_trace("t/mod/c.pm" => ()); |
9 | |
10 | # Attempts to conditionally load a module that isn't present |
11 | test_trace("t/mod/cond.pm" => ()); |
12 | |
dc7a3a08 |
13 | sub test_trace { |
14 | my($file, @loaded) = @_; |
15 | local $Test::Builder::Level = $Test::Builder::Level + 1; |
16 | |
17 | system($^X, "-Mblib", "-MApp::FatPacker::Trace", $file); |
18 | |
19 | open my $trace, "<", "fatpacker.trace"; |
20 | while(<$trace>) { |
21 | chomp; |
22 | my $load = $_; |
23 | @loaded = grep { $load ne $_ } @loaded; |
24 | } |
25 | |
26 | ok !@loaded, "All expected modules loaded for $file"; |
27 | unlink "fatpacker.trace"; |
28 | } |
29 | |