def test_redirection_with_whitespace(self): node = parse_command_line('a 2 > b') self.assertEqual(node.command, ['a', '2']) self.assertEqual(node.redirects, {1: ('>', 'b')}) node = parse_command_line('a 2> b') self.assertEqual(node.command, ['a']) self.assertEqual(node.redirects, {2: ('>', 'b')}) node = parse_command_line('a 2 >> b') self.assertEqual(node.command, ['a', '2']) self.assertEqual(node.redirects, {1: ('>>', 'b')}) node = parse_command_line('a 2>> b') self.assertEqual(node.command, ['a']) self.assertEqual(node.redirects, {2: ('>>', 'b')})
def test_redirection_with_whitespace(self): node = parse_command_line("a 2 > b") self.assertEqual(node.command, ["a", "2"]) self.assertEqual(node.redirects, {1: (">", "b")}) node = parse_command_line("a 2> b") self.assertEqual(node.command, ["a"]) self.assertEqual(node.redirects, {2: (">", "b")}) node = parse_command_line("a 2 >> b") self.assertEqual(node.command, ["a", "2"]) self.assertEqual(node.redirects, {1: (">>", "b")}) node = parse_command_line("a 2>> b") self.assertEqual(node.command, ["a"]) self.assertEqual(node.redirects, {2: (">>", "b")})
def test_parsing_special(self): for cmd in ('ls -l --color=auto', 'sleep 0.5', 'ls /tmp/abc.def', 'ls *.py?', r'c:\Python26\Python lister.py -d 0.01'): node = parse_command_line(cmd, posix=False) if sys.platform != 'win32': self.assertEqual(node.command, cmd.split()) else: split = cmd.split()[1:] self.assertEqual(node.command[1:], split)
def test_parsing_special(self): for cmd in ( "ls -l --color=auto", "sleep 0.5", "ls /tmp/abc.def", "ls *.py?", r"c:\Python26\Python lister.py -d 0.01", ): node = parse_command_line(cmd, posix=False) if sys.platform != "win32": self.assertEqual(node.command, cmd.split()) else: split = cmd.split()[1:] self.assertEqual(node.command[1:], split)
def test_parsing(self): parse_command_line('abc') parse_command_line('abc " " # comment') parse_command_line('abc \ "def"') parse_command_line('(abc)') self.assertRaises(ValueError, parse_command_line, '(abc') self.assertRaises(ValueError, parse_command_line, '&&') parse_command_line('(abc>def)') parse_command_line('(abc 2>&1; def >>&2)') parse_command_line('(a|b;c d && e || f >ghi jkl 2> mno)') parse_command_line('(abc; (def)); ghi & ((((jkl & mno)))); pqr')
def test_parsing(self): parse_command_line("abc") parse_command_line('abc " " # comment') parse_command_line('abc \ "def"') parse_command_line("(abc)") self.assertRaises(ValueError, parse_command_line, "(abc") self.assertRaises(ValueError, parse_command_line, "&&") parse_command_line("(abc>def)") parse_command_line("(abc 2>&1; def >>&2)") parse_command_line("(a|b;c d && e || f >ghi jkl 2> mno)") parse_command_line("(abc; (def)); ghi & ((((jkl & mno)))); pqr")