📄 general3
字号:
# -*-perl-*-$description = "\This tests random features of the parser that need to be supported, andwhich have either broken at some point in the past or seem likely tobreak.";run_make_test("# We want to allow both empty commands _and_ commands that resolve to empty.EMPTY =.PHONY: all a1 a2 a3 a4all: a1 a2 a3 a4a1:;a2:\ta3:;\$(EMPTY)a4:\t\$(EMPTY)\# Non-empty lines that expand to nothing should also be ignored.STR = \# Some spacesTAB = \t \# A TAB and some spaces\$(STR)\$(STR) \$(TAB)", '', "#MAKE#: Nothing to be done for `all'.");# TEST 2# Make sure files without trailing newlines are handled properly.# Have to use the old style invocation to test this.$makefile2 = &get_tmpfile;open(MAKEFILE, "> $makefile2");print MAKEFILE "all:;\@echo FOO = \$(FOO)\nFOO = foo";close(MAKEFILE);&run_make_with_options($makefile2,"",&get_logfile);$answer = "FOO = foo\n";&compare_output($answer,&get_logfile(1));# TEST 3# Check semicolons in variable referencesrun_make_test('$(if true,$(info true; true))all: ; @:', '', 'true; true');# TEST 4# Check that backslashes in command scripts are handled according to POSIX.# Checks Savannah bug # 1332.# Test the fastpath / no quotesrun_make_test('all: @echo foo\bar @echo foo\ bar @echo foo\ bar @echo foo\ bar @echo foo \bar @echo foo \ bar @echo foo \ bar @echo foo \ bar', '', 'foobarfoobarfoo barfoo barfoo barfoo barfoo barfoo bar');# Test the fastpath / single quotesrun_make_test("all: \@echo 'foo\\bar' \@echo 'foo\\ bar' \@echo 'foo\\ bar' \@echo 'foo\\ bar' \@echo 'foo \\bar' \@echo 'foo \\ bar' \@echo 'foo \\ bar' \@echo 'foo \\ bar'", '', 'foo\barfoo\barfoo\ barfoo\ barfoo \barfoo \barfoo \ barfoo \ bar');# Test the fastpath / double quotesrun_make_test('all: @echo "foo\bar" @echo "foo\ bar" @echo "foo\ bar" @echo "foo\ bar" @echo "foo \bar" @echo "foo \ bar" @echo "foo \ bar" @echo "foo \ bar"', '', 'foobarfoobarfoo barfoo barfoo barfoo barfoo barfoo bar');# Test the slow path / no quotesrun_make_test('all: @echo hi; echo foo\bar @echo hi; echo foo\ bar @echo hi; echo foo\ bar @echo hi; echo foo\ bar @echo hi; echo foo \bar @echo hi; echo foo \ bar @echo hi; echo foo \ bar @echo hi; echo foo \ bar', '', 'hifoobarhifoobarhifoo barhifoo barhifoo barhifoo barhifoo barhifoo bar');# Test the slow path / no quotes. This time we put the slow path# determination _after_ the backslash-newline handling.run_make_test('all: @echo foo\bar; echo hi @echo foo\ bar; echo hi @echo foo\ bar; echo hi @echo foo\ bar; echo hi @echo foo \bar; echo hi @echo foo \ bar; echo hi @echo foo \ bar; echo hi @echo foo \ bar; echo hi', '', 'foobarhifoobarhifoo barhifoo barhifoo barhifoo barhifoo barhifoo barhi');# Test the slow path / single quotesrun_make_test("all: \@echo hi; echo 'foo\\bar' \@echo hi; echo 'foo\\ bar' \@echo hi; echo 'foo\\ bar' \@echo hi; echo 'foo\\ bar' \@echo hi; echo 'foo \\bar' \@echo hi; echo 'foo \\ bar' \@echo hi; echo 'foo \\ bar' \@echo hi; echo 'foo \\ bar'", '', 'hifoo\barhifoo\barhifoo\ barhifoo\ barhifoo \barhifoo \barhifoo \ barhifoo \ bar');# Test the slow path / double quotesrun_make_test('all: @echo hi; echo "foo\bar" @echo hi; echo "foo\ bar" @echo hi; echo "foo\ bar" @echo hi; echo "foo\ bar" @echo hi; echo "foo \bar" @echo hi; echo "foo \ bar" @echo hi; echo "foo \ bar" @echo hi; echo "foo \ bar"', '', 'hifoobarhifoobarhifoo barhifoo barhifoo barhifoo barhifoo barhifoo bar');1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -