]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test_multi.py: can run through python nose
authorYehuda Sadeh <yehuda@redhat.com>
Thu, 17 Dec 2015 20:41:20 +0000 (12:41 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 12 Feb 2016 00:13:46 +0000 (16:13 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/test/rgw/test_multi.py

index 76da5148f641591508ace4076c1edf00d1229a79..2dd38b52a881456b25c789c03b48dcc8356604b3 100644 (file)
@@ -7,6 +7,8 @@ import argparse
 import sys
 import time
 
+import ConfigParser
+
 import boto
 import boto.s3.connection
 
@@ -321,20 +323,43 @@ class RGWMulti:
 
         realm.meta_checkpoint()
 
+def main(parse_args):
+    cfg = ConfigParser.RawConfigParser({
+                                         'num_zones': 2,
+                                         'no_bootstrap': 'false',
+                                         })
+    try:
+        path = os.environ['RGW_MULTI_TEST_CONF']
+    except KeyError:
+        path = tpath('test_multi.conf')
+
+    try:
+        with file(path) as f:
+            cfg.readfp(f)
+    except:
+        print 'WARNING: error reading test config. Path can be set through the RGW_MULTI_TEST_CONF env variable'
+        pass
 
-
-def main():
     parser = argparse.ArgumentParser(
-            description='Add bucket lifecycle configuration',
-            usage='obo bucket lifecycle add <bucket>')
+            description='Run rgw multi-site tests',
+            usage='test_multi [--num-zones <num>] [--no-bootstrap]')
+
+    section = 'DEFAULT'
+    parser.add_argument('--num-zones', type=int, default=cfg.getint(section, 'num_zones'))
+    parser.add_argument('--no-bootstrap', action='store_true', default=cfg.getboolean(section, 'no_bootstrap'))
 
-    parser.add_argument('--num-zones', type=int, default=2)
-    parser.add_argument('--no-bootstrap', action='store_true')
+    argv = []
 
-    args = parser.parse_args(sys.argv[1:])
+    if parse_args:
+        argv = sys.argv[1:]
+
+    args = parser.parse_args(argv)
     rgw_multi = RGWMulti(int(args.num_zones))
 
     rgw_multi.setup(not args.no_bootstrap)
 
+def setup_module():
+    main(False)
+
 if __name__ == "__main__":
-    main()
+    main(True)