changeset: 102114:83d731f01dde branch: 3.5 parent: 102112:51a7a97c3ed4 user: Berker Peksag date: Mon Jun 20 21:41:34 2016 +0300 files: Lib/distutils/tests/test_config.py description: Issue #20120: Add a test case to verify the % char can be used in .pypirc I noticed that there is no test for this feature while doing triaging work on pypa/pypi-legacy. diff -r 51a7a97c3ed4 -r 83d731f01dde Lib/distutils/tests/test_config.py --- a/Lib/distutils/tests/test_config.py Mon Jun 20 14:12:52 2016 +0200 +++ b/Lib/distutils/tests/test_config.py Mon Jun 20 21:41:34 2016 +0300 @@ -18,6 +18,7 @@ index-servers = server1 server2 + server3 [server1] username:me @@ -28,6 +29,10 @@ password: secret realm:acme repository:http://another.pypi/ + +[server3] +username:cbiggles +password:yh^%#rest-of-my-password """ PYPIRC_OLD = """\ @@ -113,6 +118,20 @@ finally: f.close() + def test_config_interpolation(self): + # using the % character in .pypirc should not raise an error (#20120) + self.write_file(self.rc, PYPIRC) + cmd = self._cmd(self.dist) + cmd.repository = 'server3' + config = cmd._read_pypirc() + + config = list(sorted(config.items())) + waited = [('password', 'yh^%#rest-of-my-password'), ('realm', 'pypi'), + ('repository', 'https://pypi.python.org/pypi'), + ('server', 'server3'), ('username', 'cbiggles')] + self.assertEqual(config, waited) + + def test_suite(): return unittest.makeSuite(PyPIRCCommandTestCase)