| ## Different "echo" commands on Windows interpret quoted strings and |
| ## wildcards in similar but different way (On Windows, ARGV tokenization |
| ## and wildcard expansion are not done by the shell but by each command.) |
| ## Because of that reason, this test fails on some Windows environment. |
| ## We can't write quoted strings that are interpreted the same way |
| ## by all echo commands. So, we don't want to run this on Windows. |
| |
| # REQUIRES: shell |
| |
| # RUN: mkdir -p %t.dir |
| |
| # RUN: echo foobar > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR1 %s |
| # ERR1: {{.*}}:1: { expected, but got foobar |
| |
| # RUN: echo "{ foobar;" > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR2 %s |
| # ERR2: {{.*}}:1: unexpected EOF |
| |
| ## Missing ';' before '}' |
| # RUN: echo "{ foobar }" > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR3 %s |
| # ERR3: {{.*}}:1: ; expected, but got } |
| |
| ## Missing final ';' |
| # RUN: echo "{ foobar; }" > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR4 %s |
| # ERR4: {{.*}}:1: unexpected EOF |
| |
| ## Missing \" in foobar definition |
| # RUN echo "{ \"foobar; };" > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR5 %s |
| # ERR5: {{.*}}:1: unexpected EOF |
| |
| # RUN: echo "{ extern \"BOGUS\" { test }; };" > %t1 |
| # RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR6 %s |
| # ERR6: {{.*}}:1: Unknown language |