| # -*-perl-*- | |
| $description = "Test backslash-newline handling."; | |
| $details = ""; | |
| # TEST #1 | |
| # ------- | |
| # Backslash-newlines in recipes | |
| # These are basic backslash-newlines with no tricks | |
| run_make_test("fast:;\@echo fa\\\nst\n", | |
| '', 'fast'); | |
| run_make_test("slow:;\@: no-op; echo sl\\\now\n", | |
| '', 'slow'); | |
| run_make_test("dquote:;\@echo \"dqu\\\note\"\n", | |
| '', 'dquote'); | |
| run_make_test("squote:;\@echo 'squ\\\note'\n", | |
| '', "squ\\\note"); | |
| # Ensure that a leading prefix character is omitted | |
| run_make_test("fast:;\@echo fa\\\n\tst\n", | |
| '', 'fast'); | |
| run_make_test("slow:;\@: no-op; echo sl\\\n\tow\n", | |
| '', 'slow'); | |
| run_make_test("dquote:;\@echo \"dqu\\\n\tote\"\n", | |
| '', 'dquote'); | |
| run_make_test("squote:;\@echo 'squ\\\n\tote'\n", | |
| '', "squ\\\note"); | |
| # Ensure that ONLY the leading prefix character is omitted | |
| run_make_test("fast:;\@echo fa\\\n\t st\n", | |
| '', 'fa st'); | |
| run_make_test("slow:;\@: no-op; echo sl\\\n\t\tow\n", | |
| '', "sl ow"); | |
| run_make_test("dquote:;\@echo \"dqu\\\n\t ote\"\n", | |
| '', 'dqu ote'); | |
| run_make_test("squote:;\@echo 'squ\\\n\t\t ote'\n", | |
| '', "squ\\\n\t ote"); | |
| # Backslash-newlines in variable values | |
| # Simple | |
| run_make_test(q! | |
| var = he\ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| # Condense trailing space | |
| run_make_test(q! | |
| var = he \ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| # Remove leading space | |
| run_make_test(q! | |
| var = he\ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| # Multiple bs/nl condensed | |
| run_make_test(q! | |
| var = he\ | |
| \ | |
| \ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| # POSIX: Preserve trailing space | |
| run_make_test(q! | |
| .POSIX: | |
| x = y | |
| var = he \ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| # POSIX: One space per bs-nl | |
| run_make_test(q! | |
| .POSIX: | |
| x = y | |
| var = he\ | |
| \ | |
| \ | |
| llo | |
| var:;@echo '|$(var)|'!, | |
| '', "|he llo|"); | |
| 1; |