From 3d26097342ecbda755135dc3cf39517d75c027aa Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 22 Oct 2014 13:02:35 -0500 Subject: Options: fix path canonicalization and file-like objects This fixes canonicalizing PathOption values when the default value of a config file-only option is used. It also fixes PathOptions that get a file-like object instead of a filename string. --- testsuite/Testsrc/Testlib/TestOptions/TestOptions.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'testsuite/Testsrc/Testlib/TestOptions/TestOptions.py') diff --git a/testsuite/Testsrc/Testlib/TestOptions/TestOptions.py b/testsuite/Testsrc/Testlib/TestOptions/TestOptions.py index 94d30dd3a..a3190f2ca 100644 --- a/testsuite/Testsrc/Testlib/TestOptions/TestOptions.py +++ b/testsuite/Testsrc/Testlib/TestOptions/TestOptions.py @@ -75,6 +75,20 @@ class TestBasicOptions(OptionTestCase): self.assertEqual(options.test_path_option, os.path.abspath("./test")) + @make_config() + def test_default_path_canonicalization(self, config_file): + """canonicalize default PathOption values.""" + testdir = os.path.expanduser("~/test") + result = argparse.Namespace() + parser = Parser(namespace=result) + parser.add_options([PathOption("--test1", default="~/test"), + PathOption(cf=("test", "test2"), + default="~/test"), + Common.repository]) + parser.parse(["-C", config_file]) + self.assertEqual(result.test1, testdir) + self.assertEqual(result.test2, testdir) + def test_default_bool(self): """use the default value of boolean options.""" options = self._test_options() -- cgit v1.2.3-1-g7c22