def test_complex(self): p = self.execpath (test_exe, driver_exe, mid_driver_exe, mid_test_exe, inner_driver_exe, inner_test_exe) = self.make_complex() cmd, deps = self._build_commands() self.assertEqual(deps, [test_exe, mid_test_exe, inner_test_exe]) self.assertEqual(cmd, [ [test_exe], [driver_exe, literal( "'" + p('mid_driver') + ' ' + p('mid_test') + r" '\''" + p('inner_driver') + r" '\''\'\'''\''" + p('inner_test') + ' --foo' + r"'\''\'\'" )], ]) arg = pshell.split(cmd[1][1].string, escapes=True) self.assertEqual(arg, [ p('mid_driver') + ' ' + p('mid_test') + " '" + p('inner_driver') + r" '\''" + p('inner_test') + ' --foo' + r"'\'" ]) arg = pshell.split(arg[0], escapes=True) self.assertEqual(arg, [ p('mid_driver'), p('mid_test'), p('inner_driver') + " '" + p('inner_test') + ' --foo' + "'" ]) arg = pshell.split(arg[2], escapes=True) self.assertEqual(arg, [ p('inner_driver'), p('inner_test') + ' --foo' ])
def test_escapes(self): self.assertEqual(posix.split('foo\\ bar'), ['foo\\', 'bar']) self.assertEqual(posix.split('foo\\ bar', escapes=True), ['foo bar'])
def test_type(self): self.assertEqual(posix.split('foo bar baz', type=tuple), ('foo', 'bar', 'baz'))
def test_quote(self): self.assertEqual(posix.split('foo "bar baz"'), ['foo', 'bar baz']) self.assertEqual(posix.split('foo"bar baz"'), ['foobar baz'])
def test_multiple(self): self.assertEqual(posix.split('foo bar baz'), ['foo', 'bar', 'baz'])
def test_single(self): self.assertEqual(posix.split('foo'), ['foo'])