Messages in this thread | | | Subject | Re: [PATCH v2] kunit: run kunit_tool from any directory | From | shuah <> | Date | Wed, 19 Feb 2020 15:18:08 -0700 |
| |
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
| |