Commit | Line | Data |
dc7a3a08 |
1 | #!perl |
2 | use Test::More; |
3 | |
4 | test_trace("t/mod/a.pm" => ("t/mod/b.pm", "t/mod/c.pm")); |
5 | test_trace("t/mod/b.pm" => ("t/mod/c.pm")); |
6 | test_trace("t/mod/c.pm" => ()); |
7 | |
8 | # Attempts to conditionally load a module that isn't present |
9 | test_trace("t/mod/cond.pm" => ()); |
10 | |
11 | done_testing; |
12 | |
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 | |