summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2013-10-14 12:04:28 +0200
committerholger krekel <holger@merlinux.eu>2013-10-14 12:04:28 +0200
commitf914825d783da586e20ad77e1b7347b97a4510ea (patch)
treee167c5d12d9c07bc45ea9b7251e0e2c674eef9da /tests
parent7328cbbd408cd94c704ba6a932051ecce5751ba3 (diff)
downloadtox-f914825d783da586e20ad77e1b7347b97a4510ea.tar.gz
fix parsing/escaping bugs on windows32
Diffstat (limited to 'tests')
-rw-r--r--tests/test_config.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_config.py b/tests/test_config.py
index e117ca0..3776788 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -243,6 +243,16 @@ class TestIniParser:
assert x == [["cmd1", "with space", "grr"],
["cmd2", "grr"]]
+ def test_argvlist_windows_escaping(self, tmpdir, newconfig):
+ config = newconfig("""
+ [section]
+ comm = py.test {posargs}
+ """)
+ reader = IniReader(config._cfg)
+ reader.addsubstitutions([r"hello\this"])
+ argv = reader.getargv("section", "comm")
+ assert argv == ["py.test", "hello\\this"]
+
def test_argvlist_multiline(self, tmpdir, newconfig):
config = newconfig("""
[section]
@@ -1077,3 +1087,15 @@ class TestCommandParser:
p = CommandParser(cmd)
parsed = list(p.words())
assert parsed == ['nosetests', ' ', '-v', ' ', '-a', ' ', '!deferred', ' ', '--with-doctest', ' ', '[]']
+
+def test_argv_unquote_single_args():
+ argv = ["hello", '"hello2"', "'hello3'"]
+ newargv = unquote_single_args(argv)
+ assert newargv == ["hello", "hello2", "hello3"]
+
+def test_argv_roundrobin():
+ argv = ["hello", "this\\that"]
+ assert string2argv(argv2string(argv)) == argv
+ argv = ["hello world"]
+ assert string2argv(argv2string(argv)) == argv
+