OpenCloudOS-Kernel/Documentation
Daniel Latypov 4c2911f1e1 kunit: tool: reconfigure when the used kunitconfig changes
Problem: currently, if you remove something from your kunitconfig,
kunit.py will not regenerate the .config file.
The same thing happens if you did --kunitconfig_add=CONFIG_KASAN=y [1]
and then ran again without it. Your new run will still have KASAN.

The reason is that kunit.py won't regenerate the .config file if it's a
superset of the kunitconfig. This speeds it up a bit for iterating.

This patch adds an additional check that forces kunit.py to regenerate
the .config file if the current kunitconfig doesn't match the previous
one.

What this means:
* deleting entries from .kunitconfig works as one would expect
* dropping  a --kunitconfig_add also triggers a rebuild
* you can still edit .config directly to turn on new options

We implement this by creating a `last_used_kunitconfig` file in the
build directory (so .kunit, by default) after we generate the .config.
When comparing the kconfigs, we compare python sets, so duplicates and
permutations don't trip us up.

The majority of this patch is adding unit tests for the existing logic
and for the new case where `last_used_kunitconfig` differs.

[1] https://lore.kernel.org/linux-kselftest/20211106013058.2621799-2-dlatypov@google.com/

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2021-12-13 13:59:03 -07:00
..
ABI f2fs-for-5.16-rc1 2021-11-13 11:20:22 -08:00
PCI pci-v5.15-changes 2021-09-07 19:13:42 -07:00
RCU rcu: Fix undefined Kconfig macros 2021-09-13 16:32:46 -07:00
accounting
admin-guide A slow cycle for nfsd: mainly cleanup, including Neil's patch dropping 2021-11-10 16:45:54 -08:00
arm ARM: SoC updates for v5.16 2021-11-03 16:48:32 -07:00
arm64 Merge branch 'for-next/trbe-errata' into for-next/core 2021-10-29 12:25:33 +01:00
block This is a relatively unexciting cycle for documentation. 2021-11-02 22:11:39 -07:00
bpf docs/bpf: Update documentation for BTF_KIND_DECL_TAG typedef support 2021-10-22 17:04:44 -07:00
cdrom drivers/cdrom: improved ioctl for media change detection 2021-09-14 20:05:26 -06:00
core-api Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
cpu-freq
crypto crypto: engine - Add KPP Support to Crypto Engine 2021-10-29 21:04:03 +08:00
dev-tools kunit: tool: reconfigure when the used kunitconfig changes 2021-12-13 13:59:03 -07:00
devicetree Devicetree fixes for v5.16, take 1: 2021-11-14 11:11:51 -08:00
doc-guide
driver-api cxl for v5.16 2021-11-08 11:49:48 -08:00
fault-injection
fb
features parisc: Move thread_info into task struct 2021-11-01 07:35:59 +01:00
filesystems f2fs-for-5.16-rc1 2021-11-13 11:20:22 -08:00
firmware-guide Documentation: ACPI: Fix non-D0 probe _DSC object example 2021-11-10 13:59:12 +01:00
firmware_class
fpga
gpu drm-misc-next for 5.16: 2021-11-05 13:50:15 +10:00
hid
hwmon Driver core changes for 5.16-rc1 2021-11-04 08:32:38 -07:00
i2c
ia64
ide
iio
infiniband
input
isdn
kbuild Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
kernel-hacking docs: futex: Fix kernel-doc references 2021-10-19 17:27:05 +02:00
leds leds: add new LED_FUNCTION_PLAYER for player LEDs for game controllers. 2021-10-27 09:49:29 +02:00
litmus-tests
livepatch
locking doc: drm: remove TODO entry regarding DRM_MODSET_LOCK_ALL cleanup 2021-10-01 13:01:05 -04:00
m68k
maintainer docs: use the lore redirector everywhere 2021-10-12 13:58:19 -06:00
mhi
mips
misc-devices
netlabel
networking Networking fixes for 5.16-rc1, including fixes from bpf, can 2021-11-11 09:49:36 -08:00
nios2
nvdimm
openrisc
parisc
pcmcia
power Documentation: power: include kernel-doc in Energy Model doc 2021-09-07 21:17:28 +02:00
powerpc
process docs: submitting-patches: make section about the Link: tag more explicit 2021-10-28 13:53:47 -06:00
riscv
s390
scheduler sched/fair: Add document for burstable CFS bandwidth 2021-10-05 15:51:41 +02:00
scsi
security net,lsm,selinux: revert the security_sctp_assoc_established() hook 2021-11-12 12:07:02 -05:00
sh
sound ASoC: doc: update codec example code 2021-10-25 12:36:14 +01:00
sparc
sphinx
sphinx-static
spi spi: Remove unused function spi_busnum_to_master() 2021-10-07 15:45:57 +01:00
staging
target
timers Documentation/no_hz: Introduce "dyntick-idle mode" before using it 2021-09-27 11:31:11 -06:00
trace tracing/histogram: Update division by 0 documentation 2021-11-01 20:46:29 -04:00
translations Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
usb
userspace-api Char/Misc driver update for 5.16-rc1 2021-11-04 08:21:47 -07:00
virt Merge branch 'kvm-sev-move-context' into kvm-master 2021-11-11 11:02:58 -05:00
vm mm/migrate.c: remove MIGRATE_PFN_LOCKED 2021-11-11 09:34:35 -08:00
w1 dt-bindings: w1: update w1-gpio.yaml reference 2021-09-16 21:02:09 -05:00
watchdog
x86 - Add the model number of a new, Raptor Lake CPU, to intel-family.h 2021-11-14 09:29:03 -08:00
xtensa
.gitignore
COPYING-logo
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
arch.rst
asm-annotations.rst docs: use the lore redirector everywhere 2021-10-12 13:58:19 -06:00
atomic_bitops.txt
atomic_t.txt
conf.py docs: pdfdocs: Adjust \headheight for fancyhdr 2021-10-12 14:09:03 -06:00
docutils.conf
dontdiff
index.rst
logo.gif
memory-barriers.txt
watch_queue.rst