mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-12 17:37:13 +00:00
lit: Fix a sh lexing bug which caused annotate-token.m to fail when run with the
internal shell parser; we weren't lexing the quotes in a command like:: clang -DFOO='hello' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103652 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
52f8dff671
commit
bd4fa2efd3
@ -67,6 +67,9 @@ class ShLexer:
|
||||
elif c == '"':
|
||||
self.eat()
|
||||
str += self.lex_arg_quoted('"')
|
||||
elif c == "'":
|
||||
self.eat()
|
||||
str += self.lex_arg_quoted("'")
|
||||
elif not self.win32Escapes and c == '\\':
|
||||
# Outside of a string, '\\' escapes everything.
|
||||
self.eat()
|
||||
@ -287,6 +290,10 @@ class TestShParse(unittest.TestCase):
|
||||
Pipeline([Command(['echo', 'hello'], [])], False))
|
||||
self.assertEqual(self.parse('echo ""'),
|
||||
Pipeline([Command(['echo', ''], [])], False))
|
||||
self.assertEqual(self.parse("""echo -DFOO='a'"""),
|
||||
Pipeline([Command(['echo', '-DFOO=a'], [])], False))
|
||||
self.assertEqual(self.parse('echo -DFOO="a"'),
|
||||
Pipeline([Command(['echo', '-DFOO=a'], [])], False))
|
||||
|
||||
def test_redirection(self):
|
||||
self.assertEqual(self.parse('echo hello > c'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user