ktest: Keep fonud configs separate from default configs
Steven Rostedt [Sat, 16 Jul 2011 02:01:56 +0000 (22:01 -0400)]
The IGNORE_CONFIG file holds the configs that we don't want to change
(with their proper settings). But on start up, the make noconfig is
executed, and the configs that are on are also put into the ignore
config category. But these are configs that were forced on by the
kconfig scripts and not something that we found must be enabled to boot
our machine. By keeping the configs that are forced on by default,
separate from the configs we found that are required to boot the box, we
can get a much more interesting IGNORE_CONFIG. In fact, the
IGNORE_CONFIG can usually end up being the must have configs to boot,
and only have 6 or 7 configs set.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

tools/testing/ktest/ktest.pl

index cf45f58..e826704 100755 (executable)
@@ -2405,6 +2405,7 @@ sub get_depends {
 
 my %min_configs;
 my %keep_configs;
+my %save_configs;
 my %processed_configs;
 my %nochange_config;
 
@@ -2496,15 +2497,17 @@ sub make_min_config {
 
     process_config_ignore $output_config;
 
-    undef %keep_configs;
+    undef %save_configs;
     undef %min_configs;
 
     if (defined($ignore_config)) {
        # make sure the file exists
        `touch $ignore_config`;
-       assign_configs \%keep_configs, $ignore_config;
+       assign_configs \%save_configs, $ignore_config;
     }
 
+    %keep_configs = %save_configs;
+
     doprint "Load initial configs from $start_minconfig\n";
 
     # Look at the current min configs, and save off all the
@@ -2614,14 +2617,15 @@ sub make_min_config {
            doprint "$min_configs{$config} is needed to boot the box... keeping\n";
            # this config is needed, add it to the ignore list.
            $keep_configs{$config} = $min_configs{$config};
+           $save_configs{$config} = $min_configs{$config};
            delete $min_configs{$config};
 
            # update new ignore configs
            if (defined($ignore_config)) {
                open (OUT, ">$temp_config")
                    or die "Can't write to $temp_config";
-               foreach my $config (keys %keep_configs) {
-                   print OUT "$keep_configs{$config}\n";
+               foreach my $config (keys %save_configs) {
+                   print OUT "$save_configs{$config}\n";
                }
                close OUT;
                run_command "mv $temp_config $ignore_config" or