[yocto] [[PATCH][qa-tools] 14/16] toaster/toaster.py: Add command line options.

Aníbal Limón anibal.limon at linux.intel.com
Tue Feb 9 14:45:18 PST 2016


Now toaster script can receive options from command line like
the repository/branch and the work directory to use.

Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
---
 toaster/toaster.py | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/toaster/toaster.py b/toaster/toaster.py
index 8afd286..4b5b077 100755
--- a/toaster/toaster.py
+++ b/toaster/toaster.py
@@ -18,13 +18,25 @@ sys.path.insert(0, os.path.join(os.path.dirname(
     os.path.abspath(__file__)), '../'))
 from toaster.helpers import ToasterHelper
 
-WORK_DIRECTORY = '/tmp/toaster'
-POKY_URL = 'http://git.yoctoproject.org/git/poky.git'
+DEFAULT_WORK_DIRECTORY = '/tmp/toaster'
+DEFAULT_POKY_URL = 'http://git.yoctoproject.org/git/poky.git'
+DEFAULT_POKY_BRANCH = 'master'
 
-class InitToaster(unittest.TestCase):
+args = None
+help_text = """Usage examples:
+
+* To execute the Toaster test suite over poky master:
+    $ ./toaster/toaster.py
+
+* To execute the Toaster test suite over poky release:
+    $ ./toaster/toaster.py -r jethro
+"""
+
+class ToasterTests(unittest.TestCase):
     @classmethod
     def setUpClass(self):
-        self.toaster_helper = ToasterHelper(WORK_DIRECTORY, POKY_URL)
+        self.toaster_helper = ToasterHelper(args.work_directory,
+            args.url_repository, repo_ref=args.revision)
         self.toaster_helper.clone(rm=True)
         self.toaster_helper.setup()
         self.toaster_helper.start()
@@ -128,4 +140,21 @@ class InitToaster(unittest.TestCase):
         print "Builds complete!"
 
 if __name__ == "__main__":
-    unittest.main()
+    parser = argparse.ArgumentParser(description='Toaster Test suite',
+                                     formatter_class=argparse.RawTextHelpFormatter,
+                                     epilog=help_text)
+    parser.add_argument("-d", "--work-directory", default=DEFAULT_WORK_DIRECTORY,
+                        help="Directory for setup toaster")
+    parser.add_argument("-u", "--url-repository", default=DEFAULT_POKY_URL,
+                        help="GIT repository for setup toaster")
+    parser.add_argument("-r", "--revision", default=DEFAULT_POKY_BRANCH,
+                        help="GIT repository revision (branch, tag, hash) for setup toaster")
+
+    parser.add_argument("-v", "--verbose", type=int, default=1, choices=range(1, 6),
+                        help="Verbose level")
+
+    args = parser.parse_args()
+
+    runner = unittest.TextTestRunner(verbosity=args.verbose)
+    suite = unittest.TestLoader().loadTestsFromTestCase(ToasterTests)
+    runner.run(suite)
-- 
2.1.4




More information about the yocto mailing list