From d436f218f733a12db2ebfed06a92ce51fe3000ee Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Wed, 23 Jul 2014 12:56:39 -0400 Subject: [PATCH 1/2] fix httpretty based test cases if http_proxy is set. previously this would fail: http_proxy=http://foo.bar make test now it will pass. This works around a bug where httpretty is not able to patch http operations if http_proxy is set. https://github.com/gabrielfalcao/HTTPretty/issues/122 --- tests/unittests/helpers.py | 15 +++++++++++++++ tests/unittests/test_datasource/test_gce.py | 3 ++- tests/unittests/test_datasource/test_openstack.py | 2 +- tests/unittests/test_ec2_util.py | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/unittests/helpers.py b/tests/unittests/helpers.py index 970eb8cb..9700a4ca 100644 --- a/tests/unittests/helpers.py +++ b/tests/unittests/helpers.py @@ -233,6 +233,21 @@ class FilesystemMockingTestCase(ResourceUsingTestCase): self.patched_funcs.append((mod, f, func)) +class HttprettyTestCase(TestCase): + # necessary as http_proxy gets in the way of httpretty + # https://github.com/gabrielfalcao/HTTPretty/issues/122 + def setUp(self): + self.restore_proxy = os.environ.get('http_proxy') + if self.restore_proxy is not None: + del os.environ['http_proxy'] + super(HttprettyTestCase, self).setUp() + + def tearDown(self): + if self.restore_proxy: + os.environ['http_proxy'] = self.restore_proxy + super(HttprettyTestCase, self).tearDown() + + def populate_dir(path, files): if not os.path.exists(path): os.makedirs(path) diff --git a/tests/unittests/test_datasource/test_gce.py b/tests/unittests/test_datasource/test_gce.py index 1979a0de..19ffb6c1 100644 --- a/tests/unittests/test_datasource/test_gce.py +++ b/tests/unittests/test_datasource/test_gce.py @@ -55,12 +55,13 @@ def _request_callback(method, uri, headers): return (404, headers, '') -class TestDataSourceGCE(test_helpers.TestCase): +class TestDataSourceGCE(test_helpers.HttprettyTestCase): def setUp(self): self.ds = DataSourceGCE.DataSourceGCE( settings.CFG_BUILTIN, None, helpers.Paths({})) + super(TestDataSourceGCE, self).setUp() @httpretty.activate def test_connection(self): diff --git a/tests/unittests/test_datasource/test_openstack.py b/tests/unittests/test_datasource/test_openstack.py index 3a64430a..d29e5363 100644 --- a/tests/unittests/test_datasource/test_openstack.py +++ b/tests/unittests/test_datasource/test_openstack.py @@ -121,7 +121,7 @@ def _register_uris(version, ec2_files, ec2_meta, os_files): body=get_request_callback) -class TestOpenStackDataSource(test_helpers.TestCase): +class TestOpenStackDataSource(test_helpers.HttprettyTestCase): VERSION = 'latest' @hp.activate diff --git a/tests/unittests/test_ec2_util.py b/tests/unittests/test_ec2_util.py index dd87665d..aaec2694 100644 --- a/tests/unittests/test_ec2_util.py +++ b/tests/unittests/test_ec2_util.py @@ -6,7 +6,7 @@ from cloudinit import url_helper as uh import httpretty as hp -class TestEc2Util(helpers.TestCase): +class TestEc2Util(helpers.HttprettyTestCase): VERSION = 'latest' @hp.activate From 98d27c72c1e4a492f92a708972b0dbb0b4aa5010 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 24 Jul 2014 08:47:27 -0400 Subject: [PATCH 2/2] bddeb: do not sign by default instead of making the common use case need to pass '-us -uc', make the less common use case pass '--sign'. --- packages/bddeb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/bddeb b/packages/bddeb index 5c538739..a1498d94 100755 --- a/packages/bddeb +++ b/packages/bddeb @@ -39,7 +39,7 @@ PKG_MP = { 'pyyaml': 'python-yaml', 'requests': 'python-requests', } -DEBUILD_ARGS = ["-us", "-S", "-uc", "-d"] +DEBUILD_ARGS = ["-S", "-d"] def write_debian_folder(root, version, revno, append_requires=[]): @@ -104,10 +104,17 @@ def main(): for ent in DEBUILD_ARGS: parser.add_argument(ent, dest="debuild_args", action='append_const', - const=ent, help=("pass through '%s' to debuild" % ent)) + const=ent, help=("pass through '%s' to debuild" % ent), + default=[]) + + parser.add_argument("--sign", default=False, action='store_true', + help="sign result. do not pass -us -uc to debuild") args = parser.parse_args() + if not args.sign: + args.debuild_args.extend(['-us', '-uc']) + os.environ['INIT_SYSTEM'] = args.init_system capture = True @@ -167,7 +174,8 @@ def main(): print("Copied that archive to %r for local usage (if desired)." % (util.abs_join(os.getcwd(), tar_fn))) - print("Running 'debuild' in %r" % (xdir)) + print("Running 'debuild %s' in %r" % (' '.join(args.debuild_args), + xdir)) with util.chdir(xdir): cmd = ['debuild', '--preserve-envvar', 'INIT_SYSTEM'] if args.debuild_args: