kunit: test: improve error messages for invalid kconfigs

Was trying to port an existing kunitconfig to the alpha branch and found
the error pretty opaque:

	$ ./tools/testing/kunit/kunit.py run --raw_output
	Regenerating .config ...
	ERROR:root:Provided Kconfig is not contained in validated .config!

Include the missing fields in the error message:

	$ ./tools/testing/kunit/kunit.py run --raw_output
	Regenerating .config ...
	ERROR:root:Provided Kconfig contains fields not in validated
	.config: CONFIG_KUNIT=y, CONFIG_KUNIT_TEST=y,
	CONFIG_KUNIT_EXAMPLE_TEST=y

Signed-off-by: Eric Chiang <ericchiang@google.com>
Change-Id: I04bf8cff499fd3e548a6a8da7ff3ea65e44a0161
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 8a51ba3..7fbb492 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -106,7 +106,10 @@
 		validated_kconfig = kunit_config.Kconfig()
 		validated_kconfig.read_from_file(KCONFIG_PATH)
 		if not self._kconfig.is_subset_of(validated_kconfig):
-			message = 'Provided Kconfig is not contained in validated .config!'
+			missing = self._kconfig.entries() - validated_kconfig.entries()
+			message = 'Provided Kconfig contains fields not in validated .config: %s' % (
+				', '.join([str(e) for e in missing]),
+			)
 			logging.error(message)
 			return ConfigResult(ConfigStatus.FAILURE, message)
 		return ConfigResult(ConfigStatus.SUCCESS, 'Build config!')
@@ -136,7 +139,10 @@
 		used_kconfig = kunit_config.Kconfig()
 		used_kconfig.read_from_file(KCONFIG_PATH)
 		if not self._kconfig.is_subset_of(used_kconfig):
-			message = 'Provided Kconfig is not contained in final config!'
+			missing = self._kconfig.entries() - validated_kconfig.entries()
+			message = 'Provided Kconfig contains fields not in final config: %s' % (
+				', '.join([str(e) for e in missing]),
+                        )
 			logging.error(message)
 			return BuildResult(BuildStatus.FAILURE, message)
 		return BuildResult(BuildStatus.SUCCESS, 'Built kernel!')