kunit: tool: handle when .kunit exists but .kunitconfig does not
authorBrendan Higgins <brendanhiggins@google.com>
Mon, 28 Sep 2020 20:02:27 +0000 (13:02 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 2 Oct 2020 16:24:19 +0000 (10:24 -0600)
Right now .kunitconfig and the build dir are automatically created if
the build dir does not exists; however, if the build dir is present and
.kunitconfig is not, kunit_tool will crash.

Fix this by checking for both the build dir as well as the .kunitconfig.

NOTE: This depends on commit 5578d008d9e0 ("kunit: tool: fix running
kunit_tool from outside kernel tree")

Link: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/commit/?id=5578d008d9e06bb531fb3e62dd17096d9fd9c853
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/kunit/kunit.py

index 3c95a0e..ebf5f57 100755 (executable)
@@ -261,6 +261,8 @@ def main(argv, linux=None):
        if cli_args.subcommand == 'run':
                if not os.path.exists(cli_args.build_dir):
                        os.mkdir(cli_args.build_dir)
+
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
                        create_default_kunitconfig()
 
                if not linux:
@@ -277,10 +279,12 @@ def main(argv, linux=None):
                if result.status != KunitStatus.SUCCESS:
                        sys.exit(1)
        elif cli_args.subcommand == 'config':
-               if cli_args.build_dir:
-                       if not os.path.exists(cli_args.build_dir):
-                               os.mkdir(cli_args.build_dir)
-                               create_default_kunitconfig()
+               if cli_args.build_dir and (
+                               not os.path.exists(cli_args.build_dir)):
+                       os.mkdir(cli_args.build_dir)
+
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
+                       create_default_kunitconfig()
 
                if not linux:
                        linux = kunit_kernel.LinuxSourceTree()