From f33f5913a3a8756679b98f70aa8a3a5719cd2bfe Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Thu, 13 Aug 2015 18:13:52 -0400 Subject: [PATCH] Use inheritance for overriding of builder args This establishes a pattern for adding any number of combinations for the new build script to use. Each individual test class may be called separately to only do builds of a select type. An example testr command looks like: testr run '^(test_build.BuildTestCentosBinary)' or even more simply testr run test_build.BuildTestCentosBinary Change-Id: I828a8c9c36a771bd5ad23e0dee6dffe3e94067e1 Paritally-Implements: blueprint gate-source-builds --- tests/test_build.py | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/tests/test_build.py b/tests/test_build.py index 0bfaad2751..03a15e6c4d 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -30,10 +30,11 @@ class BuildTest(base.BaseTestCase): super(BuildTest, self).setUp() self.useFixture(log_fixture.SetLogLevel([__name__], logging.logging.INFO)) + self.build_args = [__name__, "--debug"] - def test_build(self): - build_args = ["--debug"] - with patch.object(sys, 'argv', build_args): + def runTest(self): + with patch.object(sys, 'argv', self.build_args): + LOG.info("Running with args %s" % self.build_args) bad_results, good_results = build.main() # these are images that are known to not build properly @@ -57,3 +58,33 @@ class BuildTest(base.BaseTestCase): LOG.critical(">>> Expected image '%s' to succeed!" % image) self.assertEqual(failures, 0, "%d failure(s) occurred" % failures) + + +class BuildTestCentosBinary(BuildTest): + def setUp(self): + super(BuildTestCentosBinary, self).setUp() + self.build_args.extend(["--base", "centos", + "--type", "binary"]) + + +class BuildTestTemplateCentosBinary(BuildTest): + def setUp(self): + super(BuildTestCentosBinary, self).setUp() + self.build_args.extend(["--base", "centos", + "--type", "binary", + "--template"]) + + +class BuildTestCentosSource(BuildTest): + def setUp(self): + super(BuildTestCentosSource, self).setUp() + self.build_args.extend(["--base", "centos", + "--type", "source"]) + + +class BuildTestTemplateCentosSource(BuildTest): + def setUp(self): + super(BuildTestCentosSource, self).setUp() + self.build_args.extend(["--base", "centos", + "--type", "source", + "--template"])