* [qa-tools][PATCH v2] testopia_update: Add option to define test plan
@ 2017-03-07 13:58 jose.perez.carranza
2017-03-07 16:44 ` Aníbal Limón
0 siblings, 1 reply; 2+ messages in thread
From: jose.perez.carranza @ 2017-03-07 13:58 UTC (permalink / raw)
To: yocto
From: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
There are cases where the test plan and the product name are not equal hence
an option is added to handle those cases and define the test plan to work on.
Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
---
testopia_update.py | 13 +++++++++---
testopia_update/product/__init__.py | 40 ++++++++++++++++++++-----------------
2 files changed, 32 insertions(+), 21 deletions(-)
diff --git a/testopia_update.py b/testopia_update.py
index 9b35188..044074a 100755
--- a/testopia_update.py
+++ b/testopia_update.py
@@ -70,6 +70,9 @@ def get_args():
dest="project_revision", help='SCM Revision of the project.')
parser.add_argument('--project-date', required=False,
dest="project_date", help='SCM version/revision date of the project.')
+ parser.add_argument('--test-plan', required=False,
+ dest="plan_name", help='Name of the test plan of the product, used when \
+ test plan name is different from product name.')
parser.add_argument('--results-log', required=False,
dest="results_log", help='Results log.')
@@ -115,8 +118,12 @@ if __name__ == '__main__':
if not os.path.exists(opts.store_location):
os.makedirs(opts.store_location)
+ kwargs = {}
+ if args.plan_name:
+ kwargs['plan_name'] = args.plan_name
+
testopia = Testopia(opts.username, opts.password, opts.url, sslverify=False)
- products = get_products(testopia, opts, logger, config)
+ products = get_products(testopia, opts, logger, config, **kwargs)
if args.list_products:
print("List of available products: \n")
@@ -141,8 +148,8 @@ if __name__ == '__main__':
test_plan = product.get_test_plan(args.branch_name)
if not test_plan:
- logger.error("%s: Test plan for product %s and branch %s not exists."\
- % (sys.argv[0], args.product_name, args.branch_name))
+ logger.error("%s: Test plan %s for product %s and branch %s not exists."\
+ % (sys.argv[0], product.plan ,args.product_name, args.branch_name))
sys.exit(1)
diff --git a/testopia_update/product/__init__.py b/testopia_update/product/__init__.py
index e401824..18b112e 100644
--- a/testopia_update/product/__init__.py
+++ b/testopia_update/product/__init__.py
@@ -1,13 +1,17 @@
import re
-
class Product(object):
- def __init__(self, testopia, opts, logger, config):
+ def __init__(self, testopia, opts, logger, config, **kwargs):
self.testopia = testopia
self.opts = opts
self.logger = logger
self.config = config
+ if 'plan_name' in kwargs:
+ self.plan = kwargs['plan_name']
+ else:
+ self.plan = self.name
+
def support(self, name):
if self.name == name:
return True
@@ -16,11 +20,11 @@ class Product(object):
def get_test_plan(self, branch_name):
tp = None
- tp_name = '%s: %s branch' % (self.name, branch_name)
+ tp_name = '%s: %s branch' % (self.plan, branch_name)
tp = self.testopia.testplan_list(name=tp_name)
if not tp:
- tp_alt_name = '%s: %s branch' % (self.name, branch_name.lower())
+ tp_alt_name = '%s: %s branch' % (self.plan, branch_name.lower())
tp = self.testopia.testplan_list(name=tp_alt_name)
if tp:
@@ -68,7 +72,7 @@ class Product(object):
category_name, optional):
summary_alts = []
summary_alts.append('%s_%s_%s_%s' % (ttype, project_version,
- category_name, self.name))
+ category_name, self.plan))
summary_alts.append('%s_%s_%s' % (ttype, project_version,
category_name))
summary_alts.append('%s_%s' % (ttype, category_name))
@@ -186,7 +190,7 @@ class Product(object):
return missing
-def get_products(testopia, opts, config, logger):
+def get_products(testopia, opts, config, logger, **kwargs):
from . import bitbake
@@ -204,18 +208,18 @@ def get_products(testopia, opts, config, logger):
products = []
- products.append(bitbake.BitbakeProduct(testopia, opts, logger, config))
- products.append(bsp_qemu.BSPQEMUProduct(testopia, opts, logger, config))
- products.append(meta_yocto.MetaYoctoProduct(testopia, opts, logger, config))
- products.append(oe_core.OECoreProduct(testopia, opts, logger, config))
- products.append(runtime.RuntimeProduct(testopia, opts, logger, config))
- products.append(toaster.ToasterProduct(testopia, opts, logger, config))
- products.append(adt.ADTProduct(testopia, opts, logger, config))
- products.append(crops.CROPSProduct(testopia, opts, logger, config))
- products.append(eclipse_plugin.EclipePluginProduct(testopia, opts, logger, config))
- products.append(esdk.eSDKProduct(testopia, opts, logger, config))
- products.append(kernel.KernelProduct(testopia, opts, logger, config))
- products.append(general_runtime.GeneralRuntimeProduct(testopia, opts, logger, config))
+ products.append(bitbake.BitbakeProduct(testopia, opts, logger, config, **kwargs))
+ products.append(bsp_qemu.BSPQEMUProduct(testopia, opts, logger, config, **kwargs))
+ products.append(meta_yocto.MetaYoctoProduct(testopia, opts, logger, config, **kwargs))
+ products.append(oe_core.OECoreProduct(testopia, opts, logger, config, **kwargs))
+ products.append(runtime.RuntimeProduct(testopia, opts, logger, config, **kwargs))
+ products.append(toaster.ToasterProduct(testopia, opts, logger, config, **kwargs))
+ products.append(adt.ADTProduct(testopia, opts, logger, config, **kwargs))
+ products.append(crops.CROPSProduct(testopia, opts, logger, config, **kwargs))
+ products.append(eclipse_plugin.EclipePluginProduct(testopia, opts, logger, config, **kwargs))
+ products.append(esdk.eSDKProduct(testopia, opts, logger, config, **kwargs))
+ products.append(kernel.KernelProduct(testopia, opts, logger, config, **kwargs))
+ products.append(general_runtime.GeneralRuntimeProduct(testopia, opts, logger, config, **kwargs))
return products
--
2.11.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [qa-tools][PATCH v2] testopia_update: Add option to define test plan
2017-03-07 13:58 [qa-tools][PATCH v2] testopia_update: Add option to define test plan jose.perez.carranza
@ 2017-03-07 16:44 ` Aníbal Limón
0 siblings, 0 replies; 2+ messages in thread
From: Aníbal Limón @ 2017-03-07 16:44 UTC (permalink / raw)
To: jose.perez.carranza, yocto
[-- Attachment #1: Type: text/plain, Size: 6687 bytes --]
Ack
On 03/07/2017 07:58 AM, jose.perez.carranza@linux.intel.com wrote:
> From: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
>
> There are cases where the test plan and the product name are not equal hence
> an option is added to handle those cases and define the test plan to work on.
>
> Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
> ---
> testopia_update.py | 13 +++++++++---
> testopia_update/product/__init__.py | 40 ++++++++++++++++++++-----------------
> 2 files changed, 32 insertions(+), 21 deletions(-)
>
> diff --git a/testopia_update.py b/testopia_update.py
> index 9b35188..044074a 100755
> --- a/testopia_update.py
> +++ b/testopia_update.py
> @@ -70,6 +70,9 @@ def get_args():
> dest="project_revision", help='SCM Revision of the project.')
> parser.add_argument('--project-date', required=False,
> dest="project_date", help='SCM version/revision date of the project.')
> + parser.add_argument('--test-plan', required=False,
> + dest="plan_name", help='Name of the test plan of the product, used when \
> + test plan name is different from product name.')
>
> parser.add_argument('--results-log', required=False,
> dest="results_log", help='Results log.')
> @@ -115,8 +118,12 @@ if __name__ == '__main__':
> if not os.path.exists(opts.store_location):
> os.makedirs(opts.store_location)
>
> + kwargs = {}
> + if args.plan_name:
> + kwargs['plan_name'] = args.plan_name
> +
> testopia = Testopia(opts.username, opts.password, opts.url, sslverify=False)
> - products = get_products(testopia, opts, logger, config)
> + products = get_products(testopia, opts, logger, config, **kwargs)
>
> if args.list_products:
> print("List of available products: \n")
> @@ -141,8 +148,8 @@ if __name__ == '__main__':
>
> test_plan = product.get_test_plan(args.branch_name)
> if not test_plan:
> - logger.error("%s: Test plan for product %s and branch %s not exists."\
> - % (sys.argv[0], args.product_name, args.branch_name))
> + logger.error("%s: Test plan %s for product %s and branch %s not exists."\
> + % (sys.argv[0], product.plan ,args.product_name, args.branch_name))
>
> sys.exit(1)
>
> diff --git a/testopia_update/product/__init__.py b/testopia_update/product/__init__.py
> index e401824..18b112e 100644
> --- a/testopia_update/product/__init__.py
> +++ b/testopia_update/product/__init__.py
> @@ -1,13 +1,17 @@
> import re
>
> -
> class Product(object):
> - def __init__(self, testopia, opts, logger, config):
> + def __init__(self, testopia, opts, logger, config, **kwargs):
> self.testopia = testopia
> self.opts = opts
> self.logger = logger
> self.config = config
>
> + if 'plan_name' in kwargs:
> + self.plan = kwargs['plan_name']
> + else:
> + self.plan = self.name
> +
> def support(self, name):
> if self.name == name:
> return True
> @@ -16,11 +20,11 @@ class Product(object):
> def get_test_plan(self, branch_name):
> tp = None
>
> - tp_name = '%s: %s branch' % (self.name, branch_name)
> + tp_name = '%s: %s branch' % (self.plan, branch_name)
>
> tp = self.testopia.testplan_list(name=tp_name)
> if not tp:
> - tp_alt_name = '%s: %s branch' % (self.name, branch_name.lower())
> + tp_alt_name = '%s: %s branch' % (self.plan, branch_name.lower())
> tp = self.testopia.testplan_list(name=tp_alt_name)
>
> if tp:
> @@ -68,7 +72,7 @@ class Product(object):
> category_name, optional):
> summary_alts = []
> summary_alts.append('%s_%s_%s_%s' % (ttype, project_version,
> - category_name, self.name))
> + category_name, self.plan))
> summary_alts.append('%s_%s_%s' % (ttype, project_version,
> category_name))
> summary_alts.append('%s_%s' % (ttype, category_name))
> @@ -186,7 +190,7 @@ class Product(object):
>
> return missing
>
> -def get_products(testopia, opts, config, logger):
> +def get_products(testopia, opts, config, logger, **kwargs):
>
>
> from . import bitbake
> @@ -204,18 +208,18 @@ def get_products(testopia, opts, config, logger):
>
> products = []
>
> - products.append(bitbake.BitbakeProduct(testopia, opts, logger, config))
> - products.append(bsp_qemu.BSPQEMUProduct(testopia, opts, logger, config))
> - products.append(meta_yocto.MetaYoctoProduct(testopia, opts, logger, config))
> - products.append(oe_core.OECoreProduct(testopia, opts, logger, config))
> - products.append(runtime.RuntimeProduct(testopia, opts, logger, config))
> - products.append(toaster.ToasterProduct(testopia, opts, logger, config))
> - products.append(adt.ADTProduct(testopia, opts, logger, config))
> - products.append(crops.CROPSProduct(testopia, opts, logger, config))
> - products.append(eclipse_plugin.EclipePluginProduct(testopia, opts, logger, config))
> - products.append(esdk.eSDKProduct(testopia, opts, logger, config))
> - products.append(kernel.KernelProduct(testopia, opts, logger, config))
> - products.append(general_runtime.GeneralRuntimeProduct(testopia, opts, logger, config))
> + products.append(bitbake.BitbakeProduct(testopia, opts, logger, config, **kwargs))
> + products.append(bsp_qemu.BSPQEMUProduct(testopia, opts, logger, config, **kwargs))
> + products.append(meta_yocto.MetaYoctoProduct(testopia, opts, logger, config, **kwargs))
> + products.append(oe_core.OECoreProduct(testopia, opts, logger, config, **kwargs))
> + products.append(runtime.RuntimeProduct(testopia, opts, logger, config, **kwargs))
> + products.append(toaster.ToasterProduct(testopia, opts, logger, config, **kwargs))
> + products.append(adt.ADTProduct(testopia, opts, logger, config, **kwargs))
> + products.append(crops.CROPSProduct(testopia, opts, logger, config, **kwargs))
> + products.append(eclipse_plugin.EclipePluginProduct(testopia, opts, logger, config, **kwargs))
> + products.append(esdk.eSDKProduct(testopia, opts, logger, config, **kwargs))
> + products.append(kernel.KernelProduct(testopia, opts, logger, config, **kwargs))
> + products.append(general_runtime.GeneralRuntimeProduct(testopia, opts, logger, config, **kwargs))
>
> return products
>
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-03-07 16:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-07 13:58 [qa-tools][PATCH v2] testopia_update: Add option to define test plan jose.perez.carranza
2017-03-07 16:44 ` Aníbal Limón
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.