DPDK CI discussions
 help / color / mirror / Atom feed
From: ohilyard@iol.unh.edu
To: ci@dpdk.org
Cc: aconole@redhat.com, Owen Hilyard <ohilyard@iol.unh.edu>
Subject: [dpdk-ci] [PATCH 1/2] create_new_execution_file_from_tags: add test specifier
Date: Fri, 24 Sep 2021 12:05:26 -0400	[thread overview]
Message-ID: <20210924160527.45602-1-ohilyard@iol.unh.edu> (raw)

From: Owen Hilyard <ohilyard@iol.unh.edu>

BREAKING CHANGE: --tags syntax changed

Due to limitations of the argparse library, the tags syntax needed
to be redone when the ability to specify individual tests was added.
As such, the syntax has gone from "--tags core documentation" to "--tag
core --tag documentation". This is because argparse does not allow
multiple greedy variadic arguments in all versions.

added syntax to force adding a specific test

syntax: "--test nic_single_core_perf --test hello_world"

This flag was added to help facilitate periodic testing. The list of
tests in the template file will be ignored by this argument. This allows
a more automated way to run tests which should not be run under normal
circumstances, such as rte_flow, which is lightly supported in many
NICs.

Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
---
 tools/create_new_execution_file_from_tags.py | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/tools/create_new_execution_file_from_tags.py b/tools/create_new_execution_file_from_tags.py
index d1d4447..61d801d 100755
--- a/tools/create_new_execution_file_from_tags.py
+++ b/tools/create_new_execution_file_from_tags.py
@@ -73,7 +73,10 @@ def __str__(self):
     parser.add_argument('output_path', help='The path to the output execution file')
     parser.add_argument('testing_type', type=TestingType, choices=list(TestingType),
                         help='What type of testing to create an execution file for')
-    parser.add_argument('tags', metavar='tag', type=str, nargs='*', help='The tags to create an execution file for.')
+    parser.add_argument('--tag', type=str, action='append',
+                        help='The tags to create an execution file for.')
+    parser.add_argument('--test', type=str, action='append',
+                        help='The tests to run along with the tests required by the provided tags')
 
     args = parser.parse_args()
 
@@ -86,7 +89,9 @@ def __str__(self):
     test_map = {key: parse_comma_delimited_list_from_string(value.strip()) for key, value in
                 tag_to_test_map_parser[str(args.testing_type)].items()}
 
-    tests = map_tags_to_tests(args.tags, test_map)
+    tests = set()
+    if args.tag is not None:
+        tests = map_tags_to_tests(args.tag, test_map)
 
     try:
         output_file = open(args.output_path, 'x')
@@ -98,7 +103,15 @@ def __str__(self):
         if execution_plan != 'DEFAULT':
             test_allowlist = parse_comma_delimited_list_from_string(
                 template_execution_file_parser[execution_plan]['test_suites'])
-            tests_to_run = list(set(test_allowlist).intersection(tests))
+            if len(tests) != 0:
+                tests_to_run = list(set(test_allowlist).intersection(tests))
+            else:  # no tags given
+                tests_to_run = [entry for entry in test_allowlist if entry != '']
+
+            if args.test is not None:
+                for test in args.test:
+                    tests_to_run.append(test)
+
             tests_to_run.sort()
             template_execution_file_parser[execution_plan]['test_suites'] = ", ".join(tests_to_run)
 
-- 
2.30.2


             reply	other threads:[~2021-09-24 16:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-24 16:05 ohilyard [this message]
2021-09-24 16:05 ` [dpdk-ci] [PATCH 2/2] guess_git_tree: edge case and style changes ohilyard
2021-10-11 17:38   ` Ali Alnubani
2021-10-11 17:53 ` [dpdk-ci] [PATCH 1/2] create_new_execution_file_from_tags: add test specifier Ali Alnubani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210924160527.45602-1-ohilyard@iol.unh.edu \
    --to=ohilyard@iol.unh.edu \
    --cc=aconole@redhat.com \
    --cc=ci@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).