lkml.org 
[lkml]   [2020]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.5 21/65] kunit: run kunit_tool from any directory
    Date
    From: Heidi Fahim <heidifahim@google.com>

    [ Upstream commit be886ba90cce2fb2f5a4dbcda8f3be3fd1b2f484 ]

    Implemented small fix so that the script changes work directories to the
    root of the linux kernel source tree from which kunit.py is run. This
    enables the user to run kunit from any working directory. Originally
    considered using os.path.join but this is more error prone as we would
    have to find all file path usages and modify them accordingly. Using
    os.chdir ensures that the entire script is run within /linux.

    Signed-off-by: Heidi Fahim <heidifahim@google.com>
    Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/testing/kunit/kunit.py | 12 ++++++++++++
    1 file changed, 12 insertions(+)

    diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
    index e59eb9e7f9236..180ad1e1b04f9 100755
    --- a/tools/testing/kunit/kunit.py
    +++ b/tools/testing/kunit/kunit.py
    @@ -24,6 +24,8 @@ KunitResult = namedtuple('KunitResult', ['status','result'])

    KunitRequest = namedtuple('KunitRequest', ['raw_output','timeout', 'jobs', 'build_dir', 'defconfig'])

    +KernelDirectoryPath = sys.argv[0].split('tools/testing/kunit/')[0]
    +
    class KunitStatus(Enum):
    SUCCESS = auto()
    CONFIG_FAILURE = auto()
    @@ -35,6 +37,13 @@ def create_default_kunitconfig():
    shutil.copyfile('arch/um/configs/kunit_defconfig',
    kunit_kernel.kunitconfig_path)

    +def get_kernel_root_path():
    + parts = sys.argv[0] if not __file__ else __file__
    + parts = os.path.realpath(parts).split('tools/testing/kunit')
    + if len(parts) != 2:
    + sys.exit(1)
    + return parts[0]
    +
    def run_tests(linux: kunit_kernel.LinuxSourceTree,
    request: KunitRequest) -> KunitResult:
    config_start = time.time()
    @@ -114,6 +123,9 @@ def main(argv, linux=None):
    cli_args = parser.parse_args(argv)

    if cli_args.subcommand == 'run':
    + if get_kernel_root_path():
    + os.chdir(get_kernel_root_path())
    +
    if cli_args.build_dir:
    if not os.path.exists(cli_args.build_dir):
    os.mkdir(cli_args.build_dir)
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-03-19 14:25    [W:5.459 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site