13 my $test_dir = File::Spec->catdir(qw(lib deprecate));
14 chdir $test_dir or die "Can't chdir $test_dir";
15 @INC = ( File::Spec->catdir( (File::Spec->updir)x3, qw(lib)) );
18 privlibexp => File::Spec->catdir(qw(lib perl)),
19 sitelibexp => File::Spec->catdir(qw(lib site)),
20 archlibexp => File::Spec->catdir(qw(lib perl arch)),
21 sitearchexp => File::Spec->catdir(qw(lib site arch)),
24 File::Path::make_path(values %libdir);
26 push @INC, @libdir{qw(archlibexp privlibexp sitearchexp sitelibexp)};
36 local %deprecate::Config = (%libdir);
38 my $module = 'Deprecated.pm';
39 for my $lib (sort keys %tests) {
40 my $dir = $libdir{$lib};
41 my $pm = File::Spec->catfile($dir, $module);
42 File::Copy::copy($module, $pm);
45 { local $SIG{__WARN__} = sub { $warn .= $_[0]; };
46 use warnings qw(deprecated);
52 like($warn, qr/^Deprecated\s+will\s+be\s+removed\b/, "$lib - message");
53 my $me = quotemeta($0);
54 like($warn, qr/$me,?\s+line\s+1001\.?\n*$/, "$lib - location");
57 ok( !$warn, "$lib - no message" );
64 my $sub_dir = 'Optionally';
65 my $opt_mod = $sub_dir .'.pm';
66 for my $lib (sort keys %tests) {
67 my $dir = File::Spec->catdir($libdir{$lib}, $sub_dir);
68 File::Path::make_path($dir);
70 my $pm = File::Spec->catfile($dir, $module);
71 File::Copy::copy($opt_mod, $pm);
74 { local $SIG{__WARN__} = sub { $warn .= $_[0]; };
75 use warnings qw(deprecated);
76 require Optionally::Deprecated;
79 like($warn, qr/^Optionally::Deprecated\s+will\s+be\s+removed\b/,
80 "$lib - use if - message");
83 ok( !$warn, "$lib - use if - no message" );
86 delete $INC{"$sub_dir/$module"};
90 END { File::Path::remove_tree('lib') }