Ejemplo n.º 1
0
    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'
        ])
Ejemplo n.º 2
0
 def test_escapes(self):
     self.assertEqual(posix.split('foo\\ bar'), ['foo\\', 'bar'])
     self.assertEqual(posix.split('foo\\ bar', escapes=True), ['foo bar'])
Ejemplo n.º 3
0
 def test_type(self):
     self.assertEqual(posix.split('foo bar baz', type=tuple),
                      ('foo', 'bar', 'baz'))
Ejemplo n.º 4
0
 def test_quote(self):
     self.assertEqual(posix.split('foo "bar baz"'), ['foo', 'bar baz'])
     self.assertEqual(posix.split('foo"bar baz"'), ['foobar baz'])
Ejemplo n.º 5
0
 def test_multiple(self):
     self.assertEqual(posix.split('foo bar baz'), ['foo', 'bar', 'baz'])
Ejemplo n.º 6
0
 def test_single(self):
     self.assertEqual(posix.split('foo'), ['foo'])