All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] oetest.py: Add command line parameter support for tag in testexport
       [not found] <cover.1467610017.git.mariano.lopez@linux.intel.com>
@ 2016-07-04  5:28 ` mariano.lopez
  2016-07-04 15:14   ` Benjamin Esquivel
  0 siblings, 1 reply; 3+ messages in thread
From: mariano.lopez @ 2016-07-04  5:28 UTC (permalink / raw)
  To: openembedded-core

From: Mariano Lopez <mariano.lopez@linux.intel.com>

This allows to use a command line argument to change the
tag used to filter test instead of rebuilding the tests.

[YOCTO #8532]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
 meta/lib/oeqa/oetest.py      | 10 +++++++---
 meta/lib/oeqa/runexported.py |  6 +++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 4a740fb..339f34d 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -397,8 +397,6 @@ class RuntimeTestContext(TestContext):
     def __init__(self, d, target, exported=False):
         super(RuntimeTestContext, self).__init__(d, exported)
 
-        self.tagexp =  d.getVar("TEST_SUITES_TAGS", True)
-
         self.target = target
 
         self.pkgmanifest = {}
@@ -592,6 +590,8 @@ class ImageTestContext(RuntimeTestContext):
     def __init__(self, d, target, host_dumper):
         super(ImageTestContext, self).__init__(d, target)
 
+        self.tagexp = d.getVar("TEST_SUITES_TAGS", True)
+
         self.host_dumper = host_dumper
 
         self.sigterm = False
@@ -612,8 +612,12 @@ class ImageTestContext(RuntimeTestContext):
         super(ImageTestContext, self).install_uninstall_packages(test_id, pkg_dir, install)
 
 class ExportTestContext(RuntimeTestContext):
-    def __init__(self, d, target, exported=False):
+    def __init__(self, d, target, exported=False, *args, **kwargs):
         super(ExportTestContext, self).__init__(d, target, exported)
+
+        tag = kwargs.get("tag", None)
+        self.tagexp = tag if tag != None else d.getVar("TEST_SUITES_TAGS", True)
+
         self.sigterm = None
 
     def install_uninstall_packages(self, test_id, install=True):
diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py
index 5886739..b603d2f 100755
--- a/meta/lib/oeqa/runexported.py
+++ b/meta/lib/oeqa/runexported.py
@@ -81,6 +81,7 @@ def main():
             specified in the json if that directory actually exists or it will error out.")
     parser.add_argument("-l", "--log-dir", dest="log_dir", help="This sets the path for TEST_LOG_DIR. If not specified \
             the current dir is used. This is used for usually creating a ssh log file and a scp test file.")
+    parser.add_argument("-a", "--tag", dest="tag", help="Only run test with specified tag.")
     parser.add_argument("json", help="The json file exported by the build system", default="testdata.json", nargs='?')
 
     args = parser.parse_args()
@@ -107,6 +108,9 @@ def main():
         if not os.path.isdir(d["DEPLOY_DIR"]):
             print("WARNING: The path to DEPLOY_DIR does not exist: %s" % d["DEPLOY_DIR"])
 
+    kwargs = {}
+    kwargs["tag"] = args.tag
+
     extract_sdk(d)
 
     target = FakeTarget(d)
@@ -114,7 +118,7 @@ def main():
         setattr(target, key, loaded["target"][key])
 
     target.exportStart()
-    tc = ExportTestContext(d, target, True)
+    tc = ExportTestContext(d, target, True, **kwargs)
     tc.loadTests()
     tc.runTests()
 
-- 
2.6.6



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] oetest.py: Add command line parameter support for tag in testexport
  2016-07-04  5:28 ` [PATCH 1/1] oetest.py: Add command line parameter support for tag in testexport mariano.lopez
@ 2016-07-04 15:14   ` Benjamin Esquivel
  2016-07-04 19:27     ` Mariano Lopez
  0 siblings, 1 reply; 3+ messages in thread
From: Benjamin Esquivel @ 2016-07-04 15:14 UTC (permalink / raw)
  To: mariano.lopez, openembedded-core

Hello Mariano, comments below

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf
> Of mariano.lopez@linux.intel.com
> Sent: Monday, July 4, 2016 12:28 AM
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH 1/1] oetest.py: Add command line parameter
> support for tag in testexport
> 
> From: Mariano Lopez <mariano.lopez@linux.intel.com>
> 
> This allows to use a command line argument to change the tag used to
filter
> test instead of rebuilding the tests.
> 
> [YOCTO #8532]
> 
> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
> ---
>  meta/lib/oeqa/oetest.py      | 10 +++++++---
>  meta/lib/oeqa/runexported.py |  6 +++++-
>  2 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index
> 4a740fb..339f34d 100644
> --- a/meta/lib/oeqa/oetest.py
> +++ b/meta/lib/oeqa/oetest.py
> @@ -397,8 +397,6 @@ class RuntimeTestContext(TestContext):
>      def __init__(self, d, target, exported=False):
>          super(RuntimeTestContext, self).__init__(d, exported)
> 
> -        self.tagexp =  d.getVar("TEST_SUITES_TAGS", True)
> -
>          self.target = target
> 
>          self.pkgmanifest = {}
> @@ -592,6 +590,8 @@ class ImageTestContext(RuntimeTestContext):
>      def __init__(self, d, target, host_dumper):
>          super(ImageTestContext, self).__init__(d, target)
> 
> +        self.tagexp = d.getVar("TEST_SUITES_TAGS", True)
> +
>          self.host_dumper = host_dumper
> 
>          self.sigterm = False
> @@ -612,8 +612,12 @@ class ImageTestContext(RuntimeTestContext):
>          super(ImageTestContext, self).install_uninstall_packages(test_id,
> pkg_dir, install)
> 
>  class ExportTestContext(RuntimeTestContext):
> -    def __init__(self, d, target, exported=False):
> +    def __init__(self, d, target, exported=False, *args, **kwargs):
Is the use of kwargs necessary? If not, it would be preferable to have a 
Named var here instead. Kwargs breaks readability.
>          super(ExportTestContext, self).__init__(d, target, exported)
> +
> +        tag = kwargs.get("tag", None)
> +        self.tagexp = tag if tag != None else
> + d.getVar("TEST_SUITES_TAGS", True)
> +
>          self.sigterm = None
> 
>      def install_uninstall_packages(self, test_id, install=True):
> diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py
> index 5886739..b603d2f 100755
> --- a/meta/lib/oeqa/runexported.py
> +++ b/meta/lib/oeqa/runexported.py
> @@ -81,6 +81,7 @@ def main():
>              specified in the json if that directory actually exists or it
will error out.")
>      parser.add_argument("-l", "--log-dir", dest="log_dir", help="This
sets the
> path for TEST_LOG_DIR. If not specified \
>              the current dir is used. This is used for usually creating a
ssh log file and
> a scp test file.")
> +    parser.add_argument("-a", "--tag", dest="tag", help="Only run test
> + with specified tag.")
dest="tag_flag" or "tag_arg" is semantically better.
>      parser.add_argument("json", help="The json file exported by the build
> system", default="testdata.json", nargs='?')
> 
>      args = parser.parse_args()
> @@ -107,6 +108,9 @@ def main():
>          if not os.path.isdir(d["DEPLOY_DIR"]):
>              print("WARNING: The path to DEPLOY_DIR does not exist: %s" %
> d["DEPLOY_DIR"])
> 
> +    kwargs = {}
> +    kwargs["tag"] = args.tag
> +
>      extract_sdk(d)
> 
>      target = FakeTarget(d)
> @@ -114,7 +118,7 @@ def main():
>          setattr(target, key, loaded["target"][key])
> 
>      target.exportStart()
> -    tc = ExportTestContext(d, target, True)
> +    tc = ExportTestContext(d, target, True, **kwargs)
If you don't want to mess with the inputs of this function by using kwargs
then you
Can consider passing an object that includes the variables you want. I'd
only suggest
it if this function signature will grow.
>      tc.loadTests()
>      tc.runTests()
> 
> --
> 2.6.6
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] oetest.py: Add command line parameter support for tag in testexport
  2016-07-04 15:14   ` Benjamin Esquivel
@ 2016-07-04 19:27     ` Mariano Lopez
  0 siblings, 0 replies; 3+ messages in thread
From: Mariano Lopez @ 2016-07-04 19:27 UTC (permalink / raw)
  To: benjamin.esquivel, openembedded-core



On 07/04/2016 10:14 AM, Benjamin Esquivel wrote:
> Hello Mariano, comments below
>
>>   class ExportTestContext(RuntimeTestContext):
>> -    def __init__(self, d, target, exported=False):
>> +    def __init__(self, d, target, exported=False, *args, **kwargs):
> Is the use of kwargs necessary? If not, it would be preferable to have a
> Named var here instead. Kwargs breaks readability.

Is not really necessary at this point. The idea here was to be easier to 
extend the class in child classes, but I see your point with the kwargs 
being to generic.

>>       target.exportStart()
>> -    tc = ExportTestContext(d, target, True)
>> +    tc = ExportTestContext(d, target, True, **kwargs)
> If you don't want to mess with the inputs of this function by using kwargs
> then you can consider passing an object that includes the variables you want. I'd
> only suggest it if this function signature will grow.
>

Right now, it just require a single variable that is an argument from 
the cli, so I will use a dict for that purpose, per our discussion.

-- 
Mariano Lopez


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-07-04 19:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <cover.1467610017.git.mariano.lopez@linux.intel.com>
2016-07-04  5:28 ` [PATCH 1/1] oetest.py: Add command line parameter support for tag in testexport mariano.lopez
2016-07-04 15:14   ` Benjamin Esquivel
2016-07-04 19:27     ` Mariano Lopez

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.