[PATCH] kunit/kunit_kernel: Rebuild .config if .kunitconfig is modified

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: SeongJae Park <sjpark@xxxxxxxxx>

Deletions of configs in the '.kunitconfig' is not applied because kunit
rebuilds '.config' only if the '.config' is not a subset of the
'.kunitconfig'.  To allow the deletions to applied, this commit modifies
the '.config' rebuild condition to addtionally check the modified times
of those files.

Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
---
 tools/testing/kunit/kunit_kernel.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index cc5d844ecca1..a3a5d6c7e66d 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -111,17 +111,22 @@ 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, or older than the .kunitconfig."""
 		kconfig_path = get_kconfig_path(build_dir)
 		if os.path.exists(kconfig_path):
 			existing_kconfig = kunit_config.Kconfig()
 			existing_kconfig.read_from_file(kconfig_path)
-			if not self._kconfig.is_subset_of(existing_kconfig):
-				print('Regenerating .config ...')
-				os.remove(kconfig_path)
-				return self.build_config(build_dir)
-			else:
+			subset = self._kconfig.is_subset_of(existing_kconfig)
+
+			kunitconfig_mtime = os.path.getmtime(kunitconfig_path)
+			kconfig_mtime = os.path.getmtime(kconfig_path)
+			older = kconfig_mtime < kunitconfig_mtime
+
+			if subset and not older:
 				return True
+			print('Regenerating .config ...')
+			os.remove(kconfig_path)
+			return self.build_config(build_dir)
 		else:
 			print('Generating .config ...')
 			return self.build_config(build_dir)
-- 
2.17.1




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux