[compiler-rt][rtsan] inotify api for Linux interception. (#124177)
[llvm-project.git] / llvm / utils / lit / tests / Inputs / shtest-define / ws-and-continuations.txt
blob32075797c422a3cfa105608f254c37938dfdc121
1 # Empty values are permitted and reasonable, especially when just establishing
2 # expansion order.
4 # DEFINE: %{empty}=
5 # RUN: echo "'%{empty}'"
6 # CHECK:# | ''
8 # REDEFINE: %{empty}=
9 # RUN: echo "'%{empty}'"
10 # CHECK:# | ''
12 # A value consisting only of whitespace is trimmed to the empty string.
14 #               v~~ intentional whitespace
15 # DEFINE: %{ws}=   
16 # RUN: echo "'%{ws}'"
17 # CHECK:# | ''
19 #                 v intentional whitespace
20 # REDEFINE: %{ws}= 
21 # RUN: echo "'%{ws}'"
22 # CHECK:# | ''
24 # Whitespace is not required around the name or value.
26 # DEFINE:%{no-whitespace}=abc
27 # RUN: echo "'%{no-whitespace}'"
28 # CHECK:# | 'abc'
30 # REDEFINE:%{no-whitespace}=HelloWorld
31 # RUN: echo "'%{no-whitespace}'"
32 # CHECK:# | 'HelloWorld'
34 # Whitespace is not required between substitutions in a value.
36 # DEFINE: %{adjacent0} = foo
37 # DEFINE: %{adjacent1} = bar
38 # DEFINE: %{has-adjacent-substs} = %{adjacent0}%{adjacent1}
39 # RUN: echo "'%{has-adjacent-substs}'"
40 # CHECK:# | 'foobar'
42 # REDEFINE: %{has-adjacent-substs} = %{adjacent0}%{adjacent1}%{adjacent0}
43 # RUN: echo "'%{has-adjacent-substs}'"
44 # CHECK:# | 'foobarfoo'
46 # Exact whitespace is preserved within the value, but whitespace enclosing the
47 # name or value is discarded.  ('%{' and '}' are part of the name, and
48 # whitespace in between isn't permitted.)
50 #                                       v~~ intentional whitespace
51 # DEFINE:   %{whitespace}  =  abc    def   
52 # RUN: echo "'%{whitespace}'"
53 # CHECK:# | 'abc    def'
54 #                                      v intentional whitespace
55 # REDEFINE: %{whitespace} = Hello World 
56 # RUN: echo "'%{whitespace}'"
57 # CHECK:# | 'Hello World'
59 # Line continuations in the value are permitted and collapse whitespace.
61 # DEFINE: %{continue} = abc\
62 # DEFINE:def \
63 # DEFINE:ghi\
64 # DEFINE: jkl \
65 # DEFINE: mno  \
66 # DEFINE:  pqr 
67 #             ^ intentional whitespace
68 # RUN: echo "'%{continue}'"
69 # CHECK:# | 'abc def ghi jkl mno pqr'
71 # REDEFINE: %{continue} =  abc  \
72 # REDEFINE: def
73 # RUN: echo "'%{continue}'"
74 # CHECK:# | 'abc def'
76 # Whitespace at the end of the line after a '\' is ignored, and it's treated as
77 # a line continuation.  Otherwise, the behavior would be hard to understand
78 # because it looks like a line continuation.
80 #                                   v~~~~~~~~~~~ intentional whitespace
81 # DEFINE: %{ws-after-continue}=foo \            
82 # DEFINE: bar                      \ 
83 #                                   ^ intentional whitespace
84 # DEFINE: baz
85 # RUN: echo "'%{ws-after-continue}'"
86 # CHECK:# | 'foo bar baz'
88 #                                     v intentional whitespace
89 # REDEFINE: %{ws-after-continue}=foo \ 
90 # REDEFINE: bar                      \            
91 #                                     ^~~~~~~~~~~~ intentional whitespace
92 # REDEFINE: baz
93 # RUN: echo "'%{ws-after-continue}'"
94 # CHECK:# | 'foo bar baz'
96 # A line continuation is recognized anywhere.  It should be used only where
97 # whitespace is permitted because it reduces to a single space.
99 # Directives with at least one non-whitespace character (could be '\') are
100 # permitted even if they contribute nothing to the value.  There might be no
101 # practical use, but check that it behaves as expected.
103 # DEFINE:\
104 # DEFINE:%{blank-lines}\
105 # DEFINE:\
106 # DEFINE:=\
107 # DEFINE:\
108 # DEFINE:a
109 # RUN: echo "'%{blank-lines}'"
110 # CHECK:# | 'a'
112 # REDEFINE:                  \
113 # REDEFINE: %{blank-lines}   \
114 # REDEFINE:                  \
115 # REDEFINE:                = \
116 # REDEFINE:                  \
117 # REDEFINE:      a           \
118 # REDEFINE:                  \
119 # REDEFINE:      b           \
120 # REDEFINE:                  \
121 # REDEFINE:      c
122 # RUN: echo "'%{blank-lines}'"
123 # CHECK:# | 'a b c'
125 # The fourth DEFINE line is deceptive because it looks like a new substitution,
126 # but it's actually a continuation of the previous value.
128 # DEFINE: %{name}=x
129 # DEFINE: %{value}=3
130 # DEFINE: %{deceptive-continue}=echo \
131 # DEFINE: %{name}=%{value}
132 # RUN: %{deceptive-continue}
133 # CHECK:# | x=3
135 # CHECK:{{ *}}Passed: 1 {{\([0-9]*\.[0-9]*%\)}}