All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iotests/testrunner.py: refactor test_field_width
@ 2021-12-10 20:14 Vladimir Sementsov-Ogievskiy
  2021-12-17  0:02 ` John Snow
  2022-01-13 17:11 ` Kevin Wolf
  0 siblings, 2 replies; 3+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2021-12-10 20:14 UTC (permalink / raw)
  To: qemu-block; +Cc: qemu-devel, hreitz, kwolf, jsnow, vsementsov

A lot of Optional[] types doesn't make code beautiful.
test_field_width defaults to 8, but that is never used in the code.

More over, if we want some default behavior for single call of
test_run(), it should just print the whole test name, not limiting or
expanding its width, so 8 is bad default.

So, just drop the default as unused for now.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---

This is a follow-up for "[PATCH 0/3] iotests: multiprocessing!!" and
based on Hanna's block-next branch.

Based-on: <20211203122223.2780098-1-vsementsov@virtuozzo.com>

 tests/qemu-iotests/testrunner.py | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/tests/qemu-iotests/testrunner.py b/tests/qemu-iotests/testrunner.py
index 0feaa396d0..15788f919e 100644
--- a/tests/qemu-iotests/testrunner.py
+++ b/tests/qemu-iotests/testrunner.py
@@ -174,19 +174,17 @@ def __enter__(self) -> 'TestRunner':
     def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None:
         self._stack.close()
 
-    def test_print_one_line(self, test: str, starttime: str,
+    def test_print_one_line(self, test: str,
+                            test_field_width: int,
+                            starttime: str,
                             endtime: Optional[str] = None, status: str = '...',
                             lasttime: Optional[float] = None,
                             thistime: Optional[float] = None,
                             description: str = '',
-                            test_field_width: Optional[int] = None,
                             end: str = '\n') -> None:
         """ Print short test info before/after test run """
         test = os.path.basename(test)
 
-        if test_field_width is None:
-            test_field_width = 8
-
         if self.makecheck and status != '...':
             if status and status != 'pass':
                 status = f' [{status}]'
@@ -328,7 +326,7 @@ def do_run_test(self, test: str, mp: bool) -> TestResult:
                               casenotrun=casenotrun)
 
     def run_test(self, test: str,
-                 test_field_width: Optional[int] = None,
+                 test_field_width: int,
                  mp: bool = False) -> TestResult:
         """
         Run one test and print short status
@@ -347,20 +345,21 @@ def run_test(self, test: str,
 
         if not self.makecheck:
             self.test_print_one_line(test=test,
+                                     test_field_width=test_field_width,
                                      status = 'started' if mp else '...',
                                      starttime=start,
                                      lasttime=last_el,
-                                     end = '\n' if mp else '\r',
-                                     test_field_width=test_field_width)
+                                     end = '\n' if mp else '\r')
 
         res = self.do_run_test(test, mp)
 
         end = datetime.datetime.now().strftime('%H:%M:%S')
-        self.test_print_one_line(test=test, status=res.status,
+        self.test_print_one_line(test=test,
+                                 test_field_width=test_field_width,
+                                 status=res.status,
                                  starttime=start, endtime=end,
                                  lasttime=last_el, thistime=res.elapsed,
-                                 description=res.description,
-                                 test_field_width=test_field_width)
+                                 description=res.description)
 
         if res.casenotrun:
             print(res.casenotrun)
-- 
2.31.1



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

* Re: [PATCH] iotests/testrunner.py: refactor test_field_width
  2021-12-10 20:14 [PATCH] iotests/testrunner.py: refactor test_field_width Vladimir Sementsov-Ogievskiy
@ 2021-12-17  0:02 ` John Snow
  2022-01-13 17:11 ` Kevin Wolf
  1 sibling, 0 replies; 3+ messages in thread
From: John Snow @ 2021-12-17  0:02 UTC (permalink / raw)
  To: Vladimir Sementsov-Ogievskiy
  Cc: Kevin Wolf, Hanna Reitz, qemu-devel, Qemu-block

[-- Attachment #1: Type: text/plain, Size: 3996 bytes --]

On Fri, Dec 10, 2021 at 3:15 PM Vladimir Sementsov-Ogievskiy <
vsementsov@virtuozzo.com> wrote:

> A lot of Optional[] types doesn't make code beautiful.
> test_field_width defaults to 8, but that is never used in the code.
>
> More over, if we want some default behavior for single call of
> test_run(), it should just print the whole test name, not limiting or
> expanding its width, so 8 is bad default.
>
> So, just drop the default as unused for now.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
>
> This is a follow-up for "[PATCH 0/3] iotests: multiprocessing!!" and
> based on Hanna's block-next branch.
>
> Based-on: <20211203122223.2780098-1-vsementsov@virtuozzo.com>
>
>  tests/qemu-iotests/testrunner.py | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/tests/qemu-iotests/testrunner.py
> b/tests/qemu-iotests/testrunner.py
> index 0feaa396d0..15788f919e 100644
> --- a/tests/qemu-iotests/testrunner.py
> +++ b/tests/qemu-iotests/testrunner.py
> @@ -174,19 +174,17 @@ def __enter__(self) -> 'TestRunner':
>      def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) ->
> None:
>          self._stack.close()
>
> -    def test_print_one_line(self, test: str, starttime: str,
> +    def test_print_one_line(self, test: str,
> +                            test_field_width: int,
> +                            starttime: str,
>                              endtime: Optional[str] = None, status: str =
> '...',
>                              lasttime: Optional[float] = None,
>                              thistime: Optional[float] = None,
>                              description: str = '',
> -                            test_field_width: Optional[int] = None,
>                              end: str = '\n') -> None:
>          """ Print short test info before/after test run """
>          test = os.path.basename(test)
>
> -        if test_field_width is None:
> -            test_field_width = 8
> -
>          if self.makecheck and status != '...':
>              if status and status != 'pass':
>                  status = f' [{status}]'
> @@ -328,7 +326,7 @@ def do_run_test(self, test: str, mp: bool) ->
> TestResult:
>                                casenotrun=casenotrun)
>
>      def run_test(self, test: str,
> -                 test_field_width: Optional[int] = None,
> +                 test_field_width: int,
>                   mp: bool = False) -> TestResult:
>          """
>          Run one test and print short status
> @@ -347,20 +345,21 @@ def run_test(self, test: str,
>
>          if not self.makecheck:
>              self.test_print_one_line(test=test,
> +                                     test_field_width=test_field_width,
>                                       status = 'started' if mp else '...',
>                                       starttime=start,
>                                       lasttime=last_el,
> -                                     end = '\n' if mp else '\r',
> -                                     test_field_width=test_field_width)
> +                                     end = '\n' if mp else '\r')
>
>          res = self.do_run_test(test, mp)
>
>          end = datetime.datetime.now().strftime('%H:%M:%S')
> -        self.test_print_one_line(test=test, status=res.status,
> +        self.test_print_one_line(test=test,
> +                                 test_field_width=test_field_width,
> +                                 status=res.status,
>                                   starttime=start, endtime=end,
>                                   lasttime=last_el, thistime=res.elapsed,
> -                                 description=res.description,
> -                                 test_field_width=test_field_width)
> +                                 description=res.description)
>
>          if res.casenotrun:
>              print(res.casenotrun)
> --
> 2.31.1
>
>
"LGTM"

Reviewed-by: John Snow <jsnow@redhat.com>

[-- Attachment #2: Type: text/html, Size: 5552 bytes --]

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

* Re: [PATCH] iotests/testrunner.py: refactor test_field_width
  2021-12-10 20:14 [PATCH] iotests/testrunner.py: refactor test_field_width Vladimir Sementsov-Ogievskiy
  2021-12-17  0:02 ` John Snow
@ 2022-01-13 17:11 ` Kevin Wolf
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Wolf @ 2022-01-13 17:11 UTC (permalink / raw)
  To: Vladimir Sementsov-Ogievskiy; +Cc: hreitz, jsnow, qemu-devel, qemu-block

Am 10.12.2021 um 21:14 hat Vladimir Sementsov-Ogievskiy geschrieben:
> A lot of Optional[] types doesn't make code beautiful.
> test_field_width defaults to 8, but that is never used in the code.
> 
> More over, if we want some default behavior for single call of
> test_run(), it should just print the whole test name, not limiting or
> expanding its width, so 8 is bad default.
> 
> So, just drop the default as unused for now.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

Thanks, applied to the block branch.

Kevin



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

end of thread, other threads:[~2022-01-13 17:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-10 20:14 [PATCH] iotests/testrunner.py: refactor test_field_width Vladimir Sementsov-Ogievskiy
2021-12-17  0:02 ` John Snow
2022-01-13 17:11 ` Kevin Wolf

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.