Ejemplo n.º 1
0
    def test_argvlist_positional_substitution(self, tmpdir, newconfig):
        config = newconfig("""
            [section]
            key2=
                cmd1 []
                cmd2 {posargs:{item2} \
                     other}
        """)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs, item2="value2")
        #py.test.raises(tox.exception.ConfigError,
        #    "reader.getargvlist('section', 'key1')")
        assert reader.getargvlist('section', 'key1') == []
        argvlist = reader.getargvlist("section", "key2")
        assert argvlist[0] == ["cmd1"] + posargs
        assert argvlist[1] == ["cmd2"] + posargs

        reader = IniReader(config._cfg)
        reader.addsubstitions([], item2="value2")
        #py.test.raises(tox.exception.ConfigError,
        #    "reader.getargvlist('section', 'key1')")
        assert reader.getargvlist('section', 'key1') == []
        argvlist = reader.getargvlist("section", "key2")
        assert argvlist[0] == ["cmd1"]
        assert argvlist[1] == ["cmd2", "value2", "other"]
Ejemplo n.º 2
0
 def test_getpath(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         path1={HELLO}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(toxinidir=tmpdir, HELLO="mypath")
     x = reader.getpath("section", "path1", tmpdir)
     assert x == tmpdir.join("mypath")
Ejemplo n.º 3
0
 def test_getpath(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         path1={HELLO}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(toxinidir=tmpdir, HELLO="mypath")
     x = reader.getpath("section", "path1", tmpdir)
     assert x == tmpdir.join("mypath")
Ejemplo n.º 4
0
 def test_argvlist_quoting_in_command(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key1=
             cmd1 'with space' \ # a comment
                  'after the comment'
     """)
     reader = IniReader(config._cfg)
     x = reader.getargvlist("section", "key1")
     assert x == [["cmd1", "with space", "after the comment"]]
Ejemplo n.º 5
0
 def test_argvlist_quoting_in_command(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key1=
             cmd1 'with space' \ # a comment
                  'after the comment'
     """)
     reader = IniReader(config._cfg)
     x = reader.getargvlist("section", "key1")
     assert x == [["cmd1", "with space", "after the comment"]]
Ejemplo n.º 6
0
 def test_getlist(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             item1
             {item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="not", item2="grr")
     x = reader.getlist("section", "key2")
     assert x == ['item1', 'grr']
Ejemplo n.º 7
0
 def test_getdefault_single(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key=value
     """)
     reader = IniReader(config._cfg)
     x = reader.getdefault("section", "key")
     assert x == "value"
     assert not reader.getdefault("section", "hello")
     x = reader.getdefault("section", "hello", "world")
     assert x == "world"
Ejemplo n.º 8
0
 def test_getlist(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             item1
             {item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="not", item2="grr")
     x = reader.getlist("section", "key2")
     assert x == ['item1', 'grr']
Ejemplo n.º 9
0
 def test_getdefault_single(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key=value
     """)
     reader = IniReader(config._cfg)
     x = reader.getdefault("section", "key")
     assert x == "value"
     assert not reader.getdefault("section", "hello")
     x = reader.getdefault("section", "hello", "world")
     assert x == "world"
Ejemplo n.º 10
0
    def test_substition_with_multiple_words(self, newconfig):
        inisource = """
            [section]
            key = py.test -n5 --junitxml={envlogdir}/junit-{envname}.xml []
            """
        config = newconfig(inisource)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs, envlogdir='ENV_LOG_DIR', envname='ENV_NAME')

        expected = ['py.test', '-n5', '--junitxml=ENV_LOG_DIR/junit-ENV_NAME.xml', 'hello', 'world']
        assert reader.getargvlist('section', 'key')[0] == expected
Ejemplo n.º 11
0
 def test_getdefault_environment_substitution(self, monkeypatch, newconfig):
     monkeypatch.setenv("KEY1", "hello")
     config = newconfig("""
         [section]
         key1={env:KEY1}
         key2={env:KEY2}
     """)
     reader = IniReader(config._cfg)
     x = reader.getdefault("section", "key1")
     assert x == "hello"
     py.test.raises(tox.exception.ConfigError,
         'reader.getdefault("section", "key2")')
Ejemplo n.º 12
0
 def test_getdefault_environment_substitution(self, monkeypatch, newconfig):
     monkeypatch.setenv("KEY1", "hello")
     config = newconfig("""
         [section]
         key1={env:KEY1}
         key2={env:KEY2}
     """)
     reader = IniReader(config._cfg)
     x = reader.getdefault("section", "key1")
     assert x == "hello"
     py.test.raises(tox.exception.ConfigError,
                    'reader.getdefault("section", "key2")')
Ejemplo n.º 13
0
 def test_getdefault_fallback_sections(self, tmpdir, newconfig):
     config = newconfig("""
         [mydefault]
         key2=value2
         [section]
         key=value
     """)
     reader = IniReader(config._cfg, fallbacksections=['mydefault'])
     x = reader.getdefault("section", "key2")
     assert x == "value2"
     x = reader.getdefault("section", "key3")
     assert not x
     x = reader.getdefault("section", "key3", "world")
     assert x == "world"
Ejemplo n.º 14
0
 def test_getdict(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             key1=item1
             key2={item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="not", item2="grr")
     x = reader.getdict("section", "key2")
     assert 'key1' in x
     assert 'key2' in x
     assert x['key1'] == 'item1'
     assert x['key2'] == 'grr'
Ejemplo n.º 15
0
 def test_getdict(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             key1=item1
             key2={item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="not", item2="grr")
     x = reader.getdict("section", "key2")
     assert 'key1' in x
     assert 'key2' in x
     assert x['key1'] == 'item1'
     assert x['key2'] == 'grr'
Ejemplo n.º 16
0
 def test_argvlist_multiline(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             cmd1 {item1} \ # a comment
                  {item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="with space", item2="grr")
     #py.test.raises(tox.exception.ConfigError,
     #    "reader.getargvlist('section', 'key1')")
     assert reader.getargvlist('section', 'key1') == []
     x = reader.getargvlist("section", "key2")
     assert x == [["cmd1", "with space", "grr"]]
Ejemplo n.º 17
0
 def test_getdefault_fallback_sections(self, tmpdir, newconfig):
     config = newconfig("""
         [mydefault]
         key2=value2
         [section]
         key=value
     """)
     reader = IniReader(config._cfg, fallbacksections=['mydefault'])
     x = reader.getdefault("section", "key2")
     assert x == "value2"
     x = reader.getdefault("section", "key3")
     assert not x
     x = reader.getdefault("section", "key3", "world")
     assert x == "world"
Ejemplo n.º 18
0
 def test_getbool(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key1=True
         key2=False
         key1a=true
         key2a=falsE
         key5=yes
     """)
     reader = IniReader(config._cfg)
     assert reader.getbool("section", "key1") == True
     assert reader.getbool("section", "key1a") == True
     assert reader.getbool("section", "key2") == False
     assert reader.getbool("section", "key2a") == False
     py.test.raises(KeyError, 'reader.getbool("section", "key3")')
     py.test.raises(tox.exception.ConfigError, 'reader.getbool("section", "key5")')
Ejemplo n.º 19
0
 def test_missing_substitution(self, tmpdir, newconfig):
     config = newconfig("""
         [mydefault]
         key2={xyz}
     """)
     reader = IniReader(config._cfg, fallbacksections=['mydefault'])
     py.test.raises(tox.exception.ConfigError,
                    'reader.getdefault("mydefault", "key2")')
Ejemplo n.º 20
0
    def test_substition_with_multiple_words(self, newconfig):
        inisource = """
            [section]
            key = py.test -n5 --junitxml={envlogdir}/junit-{envname}.xml []
            """
        config = newconfig(inisource)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs,
                              envlogdir='ENV_LOG_DIR',
                              envname='ENV_NAME')

        expected = [
            'py.test', '-n5', '--junitxml=ENV_LOG_DIR/junit-ENV_NAME.xml',
            'hello', 'world'
        ]
        assert reader.getargvlist('section', 'key')[0] == expected
Ejemplo n.º 21
0
    def test_positional_arguments_are_only_replaced_when_standing_alone(self, tmpdir, newconfig):
        config = newconfig("""
            [section]
            key=
                cmd0 []
                cmd1 -m '[abc]'
                cmd2 -m '\'something\'' []
                cmd3 something[]else
        """)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs)

        argvlist = reader.getargvlist('section', 'key')
        assert argvlist[0] == ['cmd0'] + posargs
        assert argvlist[1] == ['cmd1', '-m', '[abc]']
        assert argvlist[2] == ['cmd2', '-m', "something"] + posargs
        assert argvlist[3] == ['cmd3', 'something[]else']
Ejemplo n.º 22
0
    def test_positional_arguments_are_only_replaced_when_standing_alone(
            self, tmpdir, newconfig):
        config = newconfig("""
            [section]
            key=
                cmd0 []
                cmd1 -m '[abc]'
                cmd2 -m '\'something\'' []
                cmd3 something[]else
        """)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs)

        argvlist = reader.getargvlist('section', 'key')
        assert argvlist[0] == ['cmd0'] + posargs
        assert argvlist[1] == ['cmd1', '-m', '[abc]']
        assert argvlist[2] == ['cmd2', '-m', "something"] + posargs
        assert argvlist[3] == ['cmd3', 'something[]else']
Ejemplo n.º 23
0
 def test_getdefault_substitution(self, tmpdir, newconfig):
     config = newconfig("""
         [mydefault]
         key2={value2}
         [section]
         key={value}
     """)
     reader = IniReader(config._cfg, fallbacksections=['mydefault'])
     reader.addsubstitions(value="newvalue", value2="newvalue2")
     x = reader.getdefault("section", "key2")
     assert x == "newvalue2"
     x = reader.getdefault("section", "key3")
     assert not x
     x = reader.getdefault("section", "key3", "{value2}")
     assert x == "newvalue2"
Ejemplo n.º 24
0
 def test_argvlist_multiline(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key2=
             cmd1 {item1} \ # a comment
                  {item2}
     """)
     reader = IniReader(config._cfg)
     reader.addsubstitions(item1="with space", item2="grr")
     #py.test.raises(tox.exception.ConfigError,
     #    "reader.getargvlist('section', 'key1')")
     assert reader.getargvlist('section', 'key1') == []
     x = reader.getargvlist("section", "key2")
     assert x == [["cmd1", "with space", "grr"]]
Ejemplo n.º 25
0
 def test_getdefault_substitution(self, tmpdir, newconfig):
     config = newconfig("""
         [mydefault]
         key2={value2}
         [section]
         key={value}
     """)
     reader = IniReader(config._cfg, fallbacksections=['mydefault'])
     reader.addsubstitions(value="newvalue", value2="newvalue2")
     x = reader.getdefault("section", "key2")
     assert x == "newvalue2"
     x = reader.getdefault("section", "key3")
     assert not x
     x = reader.getdefault("section", "key3", "{value2}")
     assert x == "newvalue2"
Ejemplo n.º 26
0
 def test_getbool(self, tmpdir, newconfig):
     config = newconfig("""
         [section]
         key1=True
         key2=False
         key1a=true
         key2a=falsE
         key5=yes
     """)
     reader = IniReader(config._cfg)
     assert reader.getbool("section", "key1") == True
     assert reader.getbool("section", "key1a") == True
     assert reader.getbool("section", "key2") == False
     assert reader.getbool("section", "key2a") == False
     py.test.raises(KeyError, 'reader.getbool("section", "key3")')
     py.test.raises(tox.exception.ConfigError,
                    'reader.getbool("section", "key5")')
Ejemplo n.º 27
0
    def test_argvlist_positional_substitution(self, tmpdir, newconfig):
        config = newconfig("""
            [section]
            key2=
                cmd1 []
                cmd2 {posargs:{item2} \
                     other}
        """)
        reader = IniReader(config._cfg)
        posargs = ['hello', 'world']
        reader.addsubstitions(posargs, item2="value2")
        #py.test.raises(tox.exception.ConfigError,
        #    "reader.getargvlist('section', 'key1')")
        assert reader.getargvlist('section', 'key1') == []
        argvlist = reader.getargvlist("section", "key2")
        assert argvlist[0] == ["cmd1"] + posargs
        assert argvlist[1] == ["cmd2"] + posargs

        reader = IniReader(config._cfg)
        reader.addsubstitions([], item2="value2")
        #py.test.raises(tox.exception.ConfigError,
        #    "reader.getargvlist('section', 'key1')")
        assert reader.getargvlist('section', 'key1') == []
        argvlist = reader.getargvlist("section", "key2")
        assert argvlist[0] == ["cmd1"]
        assert argvlist[1] == ["cmd2", "value2", "other"]