![Felix Guo](/assets/img/avatar_default.png)
The ultimate goal is to create minimal isolated test binaries; in the meantime we are using UML to provide the infrastructure to run tests, so define an abstract way to configure and run tests that allow us to change the context in which tests are built without affecting the user. This also makes pretty and dynamic error reporting, and a lot of other nice features easier. kunit_config.py: - parse .config and Kconfig files. kunit_kernel.py: provides helper functions to: - configure the kernel using kunitconfig. - build the kernel with the appropriate configuration. - provide function to invoke the kernel and stream the output back. kunit_parser.py: parses raw logs returned out by kunit_kernel and displays them in a user friendly way. test_data/*: samples of test data for testing kunit.py, kunit_config.py, etc. Signed-off-by: Felix Guo <felixguoxiuping@gmail.com> Signed-off-by: Brendan Higgins <brendanhiggins@google.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
107 lines
5 KiB
Plaintext
107 lines
5 KiB
Plaintext
Linux version 5.1.0-rc7-00061-g04652f1cb4aa0 (brendanhiggins@mactruck.svl.corp.google.com) (gcc version 7.3.0 (Debian 7.3.0-18)) #163 Wed May 8 16:18:20 PDT 2019
|
|
Built 1 zonelists, mobility grouping on. Total pages: 69906
|
|
Kernel command line: mem=256M root=98:0
|
|
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
|
|
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
|
|
Memory: 254468K/283500K available (1734K kernel code, 489K rwdata, 396K rodata, 85K init, 216K bss, 29032K reserved, 0K cma-reserved)
|
|
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
|
|
NR_IRQS: 15
|
|
clocksource: timer: mask: 0xffffffffffffffff max_cycles: 0x1cd42e205, max_idle_ns: 881590404426 ns
|
|
------------[ cut here ]------------
|
|
WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:458 clockevents_register_device+0x143/0x160
|
|
posix-timer cpumask == cpu_all_mask, using cpu_possible_mask instead
|
|
CPU: 0 PID: 0 Comm: swapper Not tainted 5.1.0-rc7-00061-g04652f1cb4aa0 #163
|
|
Stack:
|
|
6005cc00 60233e18 60233e60 60233e18
|
|
60233e60 00000009 00000000 6002a1b4
|
|
1ca00000000 60071c23 60233e78 100000000000062
|
|
Call Trace:
|
|
[<600214c5>] ? os_is_signal_stack+0x15/0x30
|
|
[<6005c5ec>] ? printk+0x0/0x9b
|
|
[<6001597e>] ? show_stack+0xbe/0x1c0
|
|
[<6005cc00>] ? __printk_safe_exit+0x0/0x40
|
|
[<6002a1b4>] ? __warn+0x144/0x170
|
|
[<60071c23>] ? clockevents_register_device+0x143/0x160
|
|
[<60021440>] ? get_signals+0x0/0x10
|
|
[<6005c5ec>] ? printk+0x0/0x9b
|
|
[<6002a27b>] ? warn_slowpath_fmt+0x9b/0xb0
|
|
[<6005c5ec>] ? printk+0x0/0x9b
|
|
[<6002a1e0>] ? warn_slowpath_fmt+0x0/0xb0
|
|
[<6005c5ec>] ? printk+0x0/0x9b
|
|
[<60021440>] ? get_signals+0x0/0x10
|
|
[<600213f0>] ? block_signals+0x0/0x20
|
|
[<60071c23>] ? clockevents_register_device+0x143/0x160
|
|
[<60021440>] ? get_signals+0x0/0x10
|
|
[<600213f0>] ? block_signals+0x0/0x20
|
|
[<6005c5ec>] ? printk+0x0/0x9b
|
|
[<60001bc8>] ? start_kernel+0x477/0x56a
|
|
[<600036f1>] ? start_kernel_proc+0x46/0x4d
|
|
[<60014442>] ? new_thread_handler+0x82/0xc0
|
|
|
|
random: get_random_bytes called from print_oops_end_marker+0x4c/0x60 with crng_init=0
|
|
---[ end trace c83434852b3702d3 ]---
|
|
Calibrating delay loop... 6958.28 BogoMIPS (lpj=34791424)
|
|
pid_max: default: 32768 minimum: 301
|
|
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
|
|
Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes)
|
|
*** VALIDATE proc ***
|
|
Checking that host ptys support output SIGIO...Yes
|
|
Checking that host ptys support SIGIO on close...No, enabling workaround
|
|
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
|
|
futex hash table entries: 256 (order: 0, 6144 bytes)
|
|
clocksource: Switched to clocksource timer
|
|
printk: console [stderr0] disabled
|
|
mconsole (version 2) initialized on /usr/local/google/home/brendanhiggins/.uml/VZ2qMm/mconsole
|
|
Checking host MADV_REMOVE support...OK
|
|
workingset: timestamp_bits=62 max_order=16 bucket_order=0
|
|
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
|
|
io scheduler mq-deadline registered
|
|
io scheduler kyber registered
|
|
Initialized stdio console driver
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 1 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 2 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 3 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 4 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 5 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 6 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 7 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 8 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 9 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 10 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 11 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 12 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 13 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 14 : Configuration failed
|
|
Using a channel type which is configured out of UML
|
|
setup_one_line failed for device 15 : Configuration failed
|
|
Console initialized on /dev/tty0
|
|
printk: console [tty0] enabled
|
|
printk: console [mc-1] enabled
|
|
TAP version 14
|
|
# Subtest: example
|
|
1..2
|
|
init_suite
|
|
# example_simple_test: initializing
|
|
# example_simple_test: example_simple_test passed
|
|
ok 1 - example_simple_test
|
|
# example_mock_test: initializing
|
|
# example_mock_test: example_mock_test passed
|
|
ok 2 - example_mock_test
|
|
kunit example: all tests passed
|
|
ok 1 - example
|
|
List of all partitions:
|