Fix support for the "prog" keyword to the OptionParser constructor, as well
as directly setting the .prog attribute (which should be supported based on
the class docstring).
Closes SF bug #850964.
diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py
index 4712446..37e229c 100644
--- a/Lib/test/test_optparse.py
+++ b/Lib/test/test_optparse.py
@@ -612,6 +612,22 @@
self.assertStdoutEquals(["--version"], "bar 0.1\n")
sys.argv[0] = oldargv
+ def test_version_with_prog_keyword(self):
+ oldargv = sys.argv[0]
+ sys.argv[0] = "./foo/bar"
+ self.parser = OptionParser(usage=SUPPRESS_USAGE, version="%prog 0.1",
+ prog="splat")
+ self.assertStdoutEquals(["--version"], "splat 0.1\n")
+ sys.argv[0] = oldargv
+
+ def test_version_with_prog_attribute(self):
+ oldargv = sys.argv[0]
+ sys.argv[0] = "./foo/bar"
+ self.parser = OptionParser(usage=SUPPRESS_USAGE, version="%prog 0.1")
+ self.parser.prog = "splat"
+ self.assertStdoutEquals(["--version"], "splat 0.1\n")
+ sys.argv[0] = oldargv
+
def test_no_version(self):
self.parser = OptionParser(usage=SUPPRESS_USAGE)
self.assertParseFail(["--version"],