kunit_tool relies on the UML console outputting printk() output to the tty in order to get results. Since the default console driver could change, pass 'console=tty' to the kernel.
This is triggered by a change[1] to use ttynull as a fallback console driver which -- by chance or by design -- seems to have changed the default console output on UML, breaking kunit_tool. While this may be fixed, we should be less fragile to such changes in the default.
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
Signed-off-by: David Gow davidgow@google.com Fixes: 757055ae8ded ("init/console: Use ttynull as a fallback when there is no console") --- tools/testing/kunit/kunit_kernel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py index 57c1724b7e5d..698358c9c0d6 100644 --- a/tools/testing/kunit/kunit_kernel.py +++ b/tools/testing/kunit/kunit_kernel.py @@ -198,7 +198,7 @@ class LinuxSourceTree(object): return self.validate_config(build_dir)
def run_kernel(self, args=[], build_dir='', timeout=None): - args.extend(['mem=1G']) + args.extend(['mem=1G', 'console=tty']) self._ops.linux_bin(args, timeout, build_dir) outfile = get_outfile_path(build_dir) subprocess.call(['stty', 'sane'])
On Mon, Dec 21, 2020 at 11:39:00PM -0800, David Gow wrote:
Reported-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Tested-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
Thanks!
Signed-off-by: David Gow davidgow@google.com Fixes: 757055ae8ded ("init/console: Use ttynull as a fallback when there is no console")
On Mon 2021-01-04 09:23:57, Shuah Khan wrote:
JFYI, I am not sure that this is the right solution. I am looking into it, see https://lore.kernel.org/linux-kselftest/X%2FSRA1P8t+ONZFKb@alley/ for more details.
Best Regards, Petr
On Wed, Jan 6, 2021 at 3:52 AM Shuah Khan skhan@linuxfoundation.org wrote:
Thanks, Shuah.
Personally, I think that this patch makes some sense to keep even if the underlying issue with ttynull is resolved. Given that kunit.py requires the console output, explicitly stating we want console=tty set is probably worth doing rather than relying on it being the default. That being said, I definitely agree that this patch doesn't fix the underlying issue with UML/ttynull: it just makes the kunit.py script less sensitive to such changes (which, while unlikely, could potentially occur legitimately down the track).
Cheers, -- David
On Wed 2021-01-06 12:29:12, David Gow wrote:
The real fix would be too complicated for 5.11-rc3. Instead, I proposed to revert the problematic commit, see https://lore.kernel.org/lkml/20210107164400.17904-2-pmladek@suse.com/ I would like to push it for 5.11-rc3.
I agree that the patch makes sense on its own. kunit depends on the particular console. Note that "tty" is actually the UML-specific stdio console implemented in arch/um/drivers/stdio_console.c.
Best Regards, Petr
On 1/7/21 9:53 AM, Petr Mladek wrote:
The proposal sounds like revert the problem commit https://lore.kernel.org/lkml/20210107164400.17904-2-pmladek@suse.com/
and also send kunit fix up. Sounds reasonable to me. I will send it for 5.11-rc3
thanks, -- Shuah
On Mon, Dec 21, 2020 at 11:39 PM David Gow davidgow@google.com wrote:
Acked-by: Brendan Higgins brendanhiggins@google.com
Thanks for taking care of this!
linux-kselftest-mirror@lists.linaro.org