3 $description = "Test the -w option to GNU make.";
5 my $enter = "#MAKE#: Entering directory '#PWD#'";
6 my $leave = "#MAKE#: Leaving directory '#PWD#'";
8 # Simple test without -w
14 my $ans = "$enter\nhi\n$leave\n";
17 run_make_test(undef, "-w", $ans);
19 # Simple test with overriding -w
20 run_make_test(undef, "-w --no-print-directory", "hi\n");
22 # Simple test with overriding --no-print-directory
23 run_make_test(undef, "--no-print-directory --print-directory", $ans);
25 # Test makefile rebuild to ensure no enter/leave
34 $ans = "$enter\ntouch foo\n$leave\n";
36 # Test makefile rebuild with -w
37 run_make_test(undef, "-w", $ans);
40 # Test makefile rebuild with -w overridden
41 run_make_test(undef, "-w --no-print-directory", "touch foo\n");
44 # Test makefile rebuild with --no-print-directory overridden
45 run_make_test(undef, "--no-print-directory --print-directory", $ans);
48 my $enter1 = "#MAKE#[1]: Entering directory '#PWD#'";
49 my $leave1 = "#MAKE#[1]: Leaving directory '#PWD#'";
51 $ans = "$enter1\nhi\n$leave1\n";
53 # Test makefile recursion with default enter/leave
55 all: ;@$(MAKE) -f #MAKEFILE# recurse
61 run_make_test(undef, "--no-print-directory", "hi\n");
63 # Re-enable enter/leave
64 $ans = "$enter\n$ans$leave\n";
65 run_make_test(undef, "--no-print-directory -w", $ans);
67 # Override enter/leave
68 run_make_test(undef, "-w --no-print-directory", "hi\n");