lkml.org 
[lkml]   [2020]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] kunit: run kunit_tool from any directory
From
Date
Hi Heidi,

On 2/18/20 3:19 PM, Heidi Fahim wrote:
> 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>

Thanks for the patch. In the future please include changes from v1
to v2.

I am assuming this v2 addresses Frank's comments.

> ---
> 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 3f552e847a14..060d960a7029 100755
> --- a/tools/testing/kunit/kunit.py
> +++ b/tools/testing/kunit/kunit.py
> @@ -26,6 +26,8 @@ KunitResult = namedtuple('KunitResult', ['status','result'])
> KunitRequest = namedtuple('KunitRequest', ['raw_output','timeout', 'jobs',
> 'build_dir', 'defconfig', 'json'])
>
> +KernelDirectoryPath = sys.argv[0].split('tools/testing/kunit/')[0]
> +
> class KunitStatus(Enum):
> SUCCESS = auto()
> CONFIG_FAILURE = auto()
> @@ -37,6 +39,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()
> @@ -130,6 +139,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)
>

thanks,
-- Shuah

\
 
 \ /
  Last update: 2020-02-19 23:19    [W:0.061 / U:0.756 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site