* [PATCH v4 1/5] docs/kunit/start: Use in-tree 'kunit_defconfig'
2019-12-04 20:17 [PATCH v4 0/5] Fix nits in the kunit SeongJae Park
@ 2019-12-04 20:17 ` SeongJae Park
2019-12-04 20:18 ` [PATCH v4 2/5] kunit: Remove duplicated defconfig creation SeongJae Park
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2019-12-04 20:17 UTC (permalink / raw)
To: brendanhiggins
Cc: corbet, kunit-dev, linux-doc, linux-kernel, linux-kselftest,
shuah, sj38.park, sjpark
From: SeongJae Park <sjpark@amazon.de>
The kunit doc suggests users to get the default `kunitconfig` from an
external git tree. However, the file is already located under the
`arch/um/configs/` of the kernel tree. Because the local file is easier
to access and maintain, this commit updates the doc to use it.
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
---
Documentation/dev-tools/kunit/start.rst | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Documentation/dev-tools/kunit/start.rst b/Documentation/dev-tools/kunit/start.rst
index aeeddfa..78a0aed 100644
--- a/Documentation/dev-tools/kunit/start.rst
+++ b/Documentation/dev-tools/kunit/start.rst
@@ -29,9 +29,8 @@ regular Kernel config, with the specific test targets as well.
.. code-block:: bash
- git clone -b master https://kunit.googlesource.com/kunitconfig $PATH_TO_KUNITCONFIG_REPO
cd $PATH_TO_LINUX_REPO
- ln -s $PATH_TO_KUNIT_CONFIG_REPO/kunitconfig kunitconfig
+ cp arch/um/configs/kunit_defconfig kunitconfig
You may want to add kunitconfig to your local gitignore.
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/5] kunit: Remove duplicated defconfig creation
2019-12-04 20:17 [PATCH v4 0/5] Fix nits in the kunit SeongJae Park
2019-12-04 20:17 ` [PATCH v4 1/5] docs/kunit/start: Use in-tree 'kunit_defconfig' SeongJae Park
@ 2019-12-04 20:18 ` SeongJae Park
2019-12-04 20:18 ` [PATCH v4 3/5] kunit: Create default config in '--build_dir' SeongJae Park
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2019-12-04 20:18 UTC (permalink / raw)
To: brendanhiggins
Cc: corbet, kunit-dev, linux-doc, linux-kernel, linux-kselftest,
shuah, sj38.park, sjpark
From: SeongJae Park <sjpark@amazon.de>
'--defconfig' option is handled by the 'main() of the 'kunit.py' but
again handled in following 'run_tests()'. This commit removes this
duplicated handling of the option in the 'run_tests()'.
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
---
tools/testing/kunit/kunit.py | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index efe06d6..f8f2695 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -37,9 +37,6 @@ def create_default_kunitconfig():
def run_tests(linux: kunit_kernel.LinuxSourceTree,
request: KunitRequest) -> KunitResult:
- if request.defconfig:
- create_default_kunitconfig()
-
config_start = time.time()
success = linux.build_reconfig(request.build_dir)
config_end = time.time()
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 3/5] kunit: Create default config in '--build_dir'
2019-12-04 20:17 [PATCH v4 0/5] Fix nits in the kunit SeongJae Park
2019-12-04 20:17 ` [PATCH v4 1/5] docs/kunit/start: Use in-tree 'kunit_defconfig' SeongJae Park
2019-12-04 20:18 ` [PATCH v4 2/5] kunit: Remove duplicated defconfig creation SeongJae Park
@ 2019-12-04 20:18 ` SeongJae Park
2019-12-04 20:18 ` [PATCH v4 4/5] kunit: Place 'test.log' under the 'build_dir' SeongJae Park
2019-12-04 20:18 ` [PATCH v4 5/5] kunit: Rename 'kunitconfig' to '.kunitconfig' SeongJae Park
4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2019-12-04 20:18 UTC (permalink / raw)
To: brendanhiggins
Cc: corbet, kunit-dev, linux-doc, linux-kernel, linux-kselftest,
shuah, sj38.park, sjpark
From: SeongJae Park <sjpark@amazon.de>
If both '--build_dir' and '--defconfig' are given, the handling of
'--defconfig' ignores '--build_dir' option. This commit modifies the
behavior to respect '--build_dir' option.
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Suggested-by: Brendan Higgins <brendanhiggins@google.com>
Reported-by: Brendan Higgins <brendanhiggins@google.com>
---
tools/testing/kunit/kunit.py | 11 +++++++++--
tools/testing/kunit/kunit_kernel.py | 4 ++--
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index f8f2695..5b22241 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -31,9 +31,9 @@ class KunitStatus(Enum):
TEST_FAILURE = auto()
def create_default_kunitconfig():
- if not os.path.exists(kunit_kernel.KUNITCONFIG_PATH):
+ if not os.path.exists(kunit_kernel.kunitconfig_path):
shutil.copyfile('arch/um/configs/kunit_defconfig',
- kunit_kernel.KUNITCONFIG_PATH)
+ kunit_kernel.kunitconfig_path)
def run_tests(linux: kunit_kernel.LinuxSourceTree,
request: KunitRequest) -> KunitResult:
@@ -114,6 +114,13 @@ def main(argv, linux=None):
cli_args = parser.parse_args(argv)
if cli_args.subcommand == 'run':
+ if cli_args.build_dir:
+ if not os.path.exists(cli_args.build_dir):
+ os.mkdir(cli_args.build_dir)
+ kunit_kernel.kunitconfig_path = os.path.join(
+ cli_args.build_dir,
+ kunit_kernel.kunitconfig_path)
+
if cli_args.defconfig:
create_default_kunitconfig()
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index bf38768..c04a12e 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -14,7 +14,7 @@ import os
import kunit_config
KCONFIG_PATH = '.config'
-KUNITCONFIG_PATH = 'kunitconfig'
+kunitconfig_path = 'kunitconfig'
class ConfigError(Exception):
"""Represents an error trying to configure the Linux kernel."""
@@ -82,7 +82,7 @@ class LinuxSourceTree(object):
def __init__(self):
self._kconfig = kunit_config.Kconfig()
- self._kconfig.read_from_file(KUNITCONFIG_PATH)
+ self._kconfig.read_from_file(kunitconfig_path)
self._ops = LinuxSourceTreeOperations()
def clean(self):
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 4/5] kunit: Place 'test.log' under the 'build_dir'
2019-12-04 20:17 [PATCH v4 0/5] Fix nits in the kunit SeongJae Park
` (2 preceding siblings ...)
2019-12-04 20:18 ` [PATCH v4 3/5] kunit: Create default config in '--build_dir' SeongJae Park
@ 2019-12-04 20:18 ` SeongJae Park
2019-12-04 20:18 ` [PATCH v4 5/5] kunit: Rename 'kunitconfig' to '.kunitconfig' SeongJae Park
4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2019-12-04 20:18 UTC (permalink / raw)
To: brendanhiggins
Cc: corbet, kunit-dev, linux-doc, linux-kernel, linux-kselftest,
shuah, sj38.park, sjpark
From: SeongJae Park <sjpark@amazon.de>
'kunit' writes the 'test.log' under the kernel source directory even
though a 'build_dir' option is given. As users who use the option might
expect the outputs to be placed under the specified directory, this
commit modifies the logic to write the log file under the 'build_dir'.
Signed-off-by: SeongJae Park <sjpark@amazon.de>
---
tools/testing/kunit/kunit.py | 2 +-
tools/testing/kunit/kunit_kernel.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index 5b22241..e4250c4 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -105,7 +105,7 @@ def main(argv, linux=None):
run_parser.add_argument('--build_dir',
help='As in the make command, it specifies the build '
'directory.',
- type=str, default=None, metavar='build_dir')
+ type=str, default='', metavar='build_dir')
run_parser.add_argument('--defconfig',
help='Uses a default kunitconfig.',
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index c04a12e..a10c0c7 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -140,10 +140,10 @@ class LinuxSourceTree(object):
return False
return True
- def run_kernel(self, args=[], timeout=None, build_dir=None):
+ def run_kernel(self, args=[], timeout=None, build_dir=''):
args.extend(['mem=256M'])
process = self._ops.linux_bin(args, timeout, build_dir)
- with open('test.log', 'w') as f:
+ with open(os.path.join(build_dir, 'test.log'), 'w') as f:
for line in process.stdout:
f.write(line.rstrip().decode('ascii') + '\n')
yield line.rstrip().decode('ascii')
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 5/5] kunit: Rename 'kunitconfig' to '.kunitconfig'
2019-12-04 20:17 [PATCH v4 0/5] Fix nits in the kunit SeongJae Park
` (3 preceding siblings ...)
2019-12-04 20:18 ` [PATCH v4 4/5] kunit: Place 'test.log' under the 'build_dir' SeongJae Park
@ 2019-12-04 20:18 ` SeongJae Park
4 siblings, 0 replies; 6+ messages in thread
From: SeongJae Park @ 2019-12-04 20:18 UTC (permalink / raw)
To: brendanhiggins
Cc: corbet, kunit-dev, linux-doc, linux-kernel, linux-kselftest,
shuah, sj38.park, sjpark
From: SeongJae Park <sjpark@amazon.de>
This commit renames 'kunitconfig' to '.kunitconfig' so that it can be
automatically ignored by git and do not disturb people who want to type
'kernel/' by pressing only the 'k' and then 'tab' key.
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
---
Documentation/dev-tools/kunit/start.rst | 12 +++++-------
tools/testing/kunit/kunit.py | 2 +-
tools/testing/kunit/kunit_kernel.py | 4 ++--
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/Documentation/dev-tools/kunit/start.rst b/Documentation/dev-tools/kunit/start.rst
index 78a0aed..faa6fa9 100644
--- a/Documentation/dev-tools/kunit/start.rst
+++ b/Documentation/dev-tools/kunit/start.rst
@@ -21,18 +21,16 @@ The wrapper can be run with:
./tools/testing/kunit/kunit.py run
-Creating a kunitconfig
-======================
+Creating a .kunitconfig
+=======================
The Python script is a thin wrapper around Kbuild as such, it needs to be
-configured with a ``kunitconfig`` file. This file essentially contains the
+configured with a ``.kunitconfig`` file. This file essentially contains the
regular Kernel config, with the specific test targets as well.
.. code-block:: bash
cd $PATH_TO_LINUX_REPO
- cp arch/um/configs/kunit_defconfig kunitconfig
-
-You may want to add kunitconfig to your local gitignore.
+ cp arch/um/configs/kunit_defconfig .kunitconfig
Verifying KUnit Works
---------------------
@@ -147,7 +145,7 @@ and the following to ``drivers/misc/Makefile``:
obj-$(CONFIG_MISC_EXAMPLE_TEST) += example-test.o
-Now add it to your ``kunitconfig``:
+Now add it to your ``.kunitconfig``:
.. code-block:: none
diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index e4250c4..e59eb9e 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -108,7 +108,7 @@ def main(argv, linux=None):
type=str, default='', metavar='build_dir')
run_parser.add_argument('--defconfig',
- help='Uses a default kunitconfig.',
+ help='Uses a default .kunitconfig.',
action='store_true')
cli_args = parser.parse_args(argv)
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index a10c0c7..cc5d844 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -14,7 +14,7 @@ import os
import kunit_config
KCONFIG_PATH = '.config'
-kunitconfig_path = 'kunitconfig'
+kunitconfig_path = '.kunitconfig'
class ConfigError(Exception):
"""Represents an error trying to configure the Linux kernel."""
@@ -111,7 +111,7 @@ class LinuxSourceTree(object):
return True
def build_reconfig(self, build_dir):
- """Creates a new .config if it is not a subset of the kunitconfig."""
+ """Creates a new .config if it is not a subset of the .kunitconfig."""
kconfig_path = get_kconfig_path(build_dir)
if os.path.exists(kconfig_path):
existing_kconfig = kunit_config.Kconfig()
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread