Reviewers: mp+127109_code.launchpad.net,
Message: Please take a look.
Description: Add --version option
https://code.launchpad.net/~clint-fewbar/juju/add-version-arg/+merge/127109
(do not edit description out of merge proposal)
Please review this at https://codereview.appspot.com/6593044/
Affected files: A [revision details] M juju/control/__init__.py M juju/control/tests/test_control.py
Index: [revision details] === added file '[revision details]' --- [revision details] 2012-01-01 00:00:00 +0000 +++ [revision details] 2012-01-01 00:00:00 +0000 @@ -0,0 +1,2 @@ +Old revision: <email address hidden> +New revision: <email address hidden>
Index: juju/control/__init__.py === modified file 'juju/control/__init__.py' --- juju/control/__init__.py 2012-03-30 19:12:05 +0000 +++ juju/control/__init__.py 2012-09-29 16:31:24 +0000 @@ -6,6 +6,7 @@ from .command import Commander from .utils import ParseError from juju.environment.config import EnvironmentsConfig +from juju import __version__
import add_relation import add_unit @@ -106,6 +107,9 @@ help="Enable verbose logging")
parser.add_argument( + "--version", action="version", version='juju %s' % (__version__)) + + parser.add_argument( "--log-file", "-l", default=sys.stderr, type=argparse.FileType('a'), help="Log output to file")
Index: juju/control/tests/test_control.py === modified file 'juju/control/tests/test_control.py' --- juju/control/tests/test_control.py 2012-05-04 22:43:40 +0000 +++ juju/control/tests/test_control.py 2012-09-29 16:31:24 +0000 @@ -14,6 +14,7 @@ from juju.state.tests.common import StateTestBase
from juju.lib.testing import TestCase +from juju import __version__
from .common import ControlToolTest
@@ -62,6 +63,18 @@ self.assertIn("destroy-environment", output) self.assertIn("juju cloud orchestration admin", output)
+ def test_version(self): + stderr = self.capture_stream("stderr") + try: + main(['--version']) + except SystemExit, e: + self.assertEqual(e.args[0], 0) + else: + self.fail("Should have exited") + + output = stderr.getvalue() + self.assertIn(__version__, output) + def test_custom_parser_does_not_extend_to_subcommand(self): stderr = self.capture_stream("stderr") self.mocker.replay()
« Back to merge proposal
Reviewers: mp+127109_ code.launchpad. net,
Message:
Please take a look.
Description:
Add --version option
https:/ /code.launchpad .net/~clint- fewbar/ juju/add- version- arg/+merge/ 127109
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/6593044/
Affected files: __init_ _.py tests/test_ control. py
A [revision details]
M juju/control/
M juju/control/
Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: <email address hidden>
+New revision: <email address hidden>
Index: juju/control/ __init_ _.py __init_ _.py' __init_ _.py 2012-03-30 19:12:05 +0000 __init_ _.py 2012-09-29 16:31:24 +0000 t.config import EnvironmentsConfig
=== modified file 'juju/control/
--- juju/control/
+++ juju/control/
@@ -6,6 +6,7 @@
from .command import Commander
from .utils import ParseError
from juju.environmen
+from juju import __version__
import add_relation
help= "Enable verbose logging")
import add_unit
@@ -106,6 +107,9 @@
parser. add_argument( add_argument(
"--log- file", "-l", default=sys.stderr, FileType( 'a'),
+ "--version", action="version", version='juju %s' % (__version__))
+
+ parser.
type=argparse.
help="Log output to file")
Index: juju/control/ tests/test_ control. py tests/test_ control. py' tests/test_ control. py 2012-05-04 22:43:40 +0000 tests/test_ control. py 2012-09-29 16:31:24 +0000 tests.common import StateTestBase
=== modified file 'juju/control/
--- juju/control/
+++ juju/control/
@@ -14,6 +14,7 @@
from juju.state.
from juju.lib.testing import TestCase
+from juju import __version__
from .common import ControlToolTest
@@ -62,6 +63,18 @@
self. assertIn( "destroy- environment" , output)
self. assertIn( "juju cloud orchestration admin", output)
+ def test_version(self): stream( "stderr" ) l(e.args[ 0], 0) __version_ _, output) parser_ does_not_ extend_ to_subcommand( self): stream( "stderr" )
self. mocker. replay( )
+ stderr = self.capture_
+ try:
+ main(['--version'])
+ except SystemExit, e:
+ self.assertEqua
+ else:
+ self.fail("Should have exited")
+
+ output = stderr.getvalue()
+ self.assertIn(
+
def test_custom_
stderr = self.capture_