To improve the usability of KUnit, defconfig is used
by default if no kunitconfig is present.

 * https://bugzilla.kernel.org/show_bug.cgi?id=205259

Fixed up minor merge conflicts - Shuah Khan <sk...@linuxfoundation.org>

Signed-off-by: Vitor Massaru Iha <vi...@massaru.org>
Reviewed-by: Brendan Higgins <brendanhigg...@google.com>
Signed-off-by: Shuah Khan <sk...@linuxfoundation.org>
---
Version after kunit merge branch:
 * removes code related defconfig;
 * handles when there is no .kunitconfig. 
---
 tools/testing/kunit/kunit.py | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index b3490271a103..787b6d4ad716 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -23,7 +23,7 @@ import kunit_parser
 KunitResult = namedtuple('KunitResult', ['status','result','elapsed_time'])
 
 KunitConfigRequest = namedtuple('KunitConfigRequest',
-                               ['build_dir', 'defconfig', 'make_options'])
+                               ['build_dir', 'make_options'])
 KunitBuildRequest = namedtuple('KunitBuildRequest',
                               ['jobs', 'build_dir', 'alltests',
                                'make_options'])
@@ -32,8 +32,8 @@ KunitExecRequest = namedtuple('KunitExecRequest',
 KunitParseRequest = namedtuple('KunitParseRequest',
                               ['raw_output', 'input_data'])
 KunitRequest = namedtuple('KunitRequest', ['raw_output','timeout', 'jobs',
-                                          'build_dir', 'defconfig',
-                                          'alltests', 'make_options'])
+                                          'build_dir', 'alltests',
+                                          'make_options'])
 
 KernelDirectoryPath = sys.argv[0].split('tools/testing/kunit/')[0]
 
@@ -60,8 +60,7 @@ def config_tests(linux: kunit_kernel.LinuxSourceTree,
        kunit_parser.print_with_timestamp('Configuring KUnit Kernel ...')
 
        config_start = time.time()
-       if request.defconfig:
-               create_default_kunitconfig()
+       create_default_kunitconfig()
        success = linux.build_reconfig(request.build_dir, request.make_options)
        config_end = time.time()
        if not success:
@@ -131,7 +130,6 @@ def run_tests(linux: kunit_kernel.LinuxSourceTree,
        run_start = time.time()
 
        config_request = KunitConfigRequest(request.build_dir,
-                                           request.defconfig,
                                            request.make_options)
        config_result = config_tests(linux, config_request)
        if config_result.status != KunitStatus.SUCCESS:
@@ -177,11 +175,6 @@ def add_common_opts(parser):
                            help='Run all KUnit tests through allyesconfig',
                            action='store_true')
 
-def add_config_opts(parser):
-       parser.add_argument('--defconfig',
-                           help='Uses a default .kunitconfig.',
-                           action='store_true')
-
 def add_build_opts(parser):
        parser.add_argument('--jobs',
                            help='As in the make command, "Specifies  the 
number of '
@@ -210,7 +203,6 @@ def main(argv, linux=None):
        # The 'run' command will config, build, exec, and parse in one go.
        run_parser = subparser.add_parser('run', help='Runs KUnit tests.')
        add_common_opts(run_parser)
-       add_config_opts(run_parser)
        add_build_opts(run_parser)
        add_exec_opts(run_parser)
        add_parse_opts(run_parser)
@@ -219,7 +211,6 @@ def main(argv, linux=None):
                                                help='Ensures that .config 
contains all of '
                                                'the options in .kunitconfig')
        add_common_opts(config_parser)
-       add_config_opts(config_parser)
 
        build_parser = subparser.add_parser('build', help='Builds a kernel with 
KUnit tests')
        add_common_opts(build_parser)
@@ -251,6 +242,9 @@ def main(argv, linux=None):
                        cli_args.build_dir,
                        kunit_kernel.kunitconfig_path)
 
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
+                       create_default_kunitconfig()
+
                if not linux:
                        linux = kunit_kernel.LinuxSourceTree()
 
@@ -258,7 +252,6 @@ def main(argv, linux=None):
                                       cli_args.timeout,
                                       cli_args.jobs,
                                       cli_args.build_dir,
-                                      cli_args.defconfig,
                                       cli_args.alltests,
                                       cli_args.make_options)
                result = run_tests(linux, request)
@@ -272,11 +265,13 @@ def main(argv, linux=None):
                                cli_args.build_dir,
                                kunit_kernel.kunitconfig_path)
 
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
+                       create_default_kunitconfig()
+
                if not linux:
                        linux = kunit_kernel.LinuxSourceTree()
 
                request = KunitConfigRequest(cli_args.build_dir,
-                                            cli_args.defconfig,
                                             cli_args.make_options)
                result = config_tests(linux, request)
                kunit_parser.print_with_timestamp((
@@ -292,6 +287,9 @@ def main(argv, linux=None):
                                cli_args.build_dir,
                                kunit_kernel.kunitconfig_path)
 
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
+                       create_default_kunitconfig()
+
                if not linux:
                        linux = kunit_kernel.LinuxSourceTree()
 
@@ -313,6 +311,9 @@ def main(argv, linux=None):
                                cli_args.build_dir,
                                kunit_kernel.kunitconfig_path)
 
+               if not os.path.exists(kunit_kernel.kunitconfig_path):
+                       create_default_kunitconfig()
+
                if not linux:
                        linux = kunit_kernel.LinuxSourceTree()
 
-- 
2.26.2

Reply via email to