lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGS_qxpoGCXAK=q+unFoYKN0GtH8V9Ojmntz0YZrae8zBeX-qw@mail.gmail.com>
Date:   Tue, 17 Jan 2023 13:55:59 -0800
From:   Daniel Latypov <dlatypov@...gle.com>
To:     Alexander Pantyukhin <apantykhin@...il.com>
Cc:     brendan.higgins@...ux.dev, davidgow@...gle.com,
        linux-kselftest@...r.kernel.org, kunit-dev@...glegroups.com,
        linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: [PATCH] tools/testing/kunit/kunit.py: remove redundant double check

On Sun, Jan 15, 2023 at 1:05 PM Alexander Pantyukhin
<apantykhin@...il.com> wrote:
>
> The build_tests function contained the doulbe checking for not success

very nit: if we're fixing the "doulbe" typo, can we also do
  "the doulbe" => "double" (drop the "the")

> result. It is fixed in the current patch. Additional small
> simplifications of code like useing ternary if were applied (avoid use
> the same operation by calculation times differ in two places).
>
> Signed-off-by: Alexander Pantyukhin <apantykhin@...il.com>

Reviewed-by: Daniel Latypov <dlatypov@...gle.com>

Thanks!
I can't believe we never noticed the duplicate `if not success` blocks
before now.

Some minor suggestions below if we're already going to send a v2 out for typos.

> ---
>  tools/testing/kunit/kunit.py | 17 +++++------------
>  1 file changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
> index 43fbe96318fe..481c213818bd 100755
> --- a/tools/testing/kunit/kunit.py
> +++ b/tools/testing/kunit/kunit.py
> @@ -77,10 +77,8 @@ def config_tests(linux: kunit_kernel.LinuxSourceTree,
>         config_start = time.time()
>         success = linux.build_reconfig(request.build_dir, request.make_options)
>         config_end = time.time()
> -       if not success:
> -               return KunitResult(KunitStatus.CONFIG_FAILURE,
> -                                  config_end - config_start)
> -       return KunitResult(KunitStatus.SUCCESS,
> +       status = KunitStatus.SUCCESS if success else KunitStatus.CONFIG_FAILURE
> +       return KunitResult(status,
>                            config_end - config_start)

nit: perhaps we can shorten this to one line, i.e.
  return KunitResult(status, config_end - config_start)

>
>  def build_tests(linux: kunit_kernel.LinuxSourceTree,
> @@ -92,13 +90,8 @@ def build_tests(linux: kunit_kernel.LinuxSourceTree,
>                                      request.build_dir,
>                                      request.make_options)
>         build_end = time.time()
> -       if not success:
> -               return KunitResult(KunitStatus.BUILD_FAILURE,
> -                                  build_end - build_start)
> -       if not success:
> -               return KunitResult(KunitStatus.BUILD_FAILURE,
> -                                  build_end - build_start)

Oh huh, I guess this duplication comes from commit 45ba7a893ad8
("kunit: kunit_tool: Separate out config/build/exec/parse")

@@ -64,78 +84,167 @@ def run_tests(linux: kunit_kernel.LinuxSourceTree,
        build_end = time.time()
        if not success:
                return KunitResult(KunitStatus.BUILD_FAILURE, 'could
not build kernel')
+       if not success:
+               return KunitResult(KunitStatus.BUILD_FAILURE,
+                                  'could not build kernel',

> -       return KunitResult(KunitStatus.SUCCESS,
> +       status = KunitStatus.SUCCESS if success else KunitStatus.BUILD_FAILURE
> +       return KunitResult(status,
>                            build_end - build_start)

ditto here,
  return KunitResult(status, build_end - build_start)

>
>  def config_and_build_tests(linux: kunit_kernel.LinuxSourceTree,
> @@ -145,7 +138,7 @@ def exec_tests(linux: kunit_kernel.LinuxSourceTree, request: KunitExecRequest) -
>                 tests = _list_tests(linux, request)
>                 if request.run_isolated == 'test':
>                         filter_globs = tests
> -               if request.run_isolated == 'suite':
> +               elif request.run_isolated == 'suite':

This is better, thanks.

Daniel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ