diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2011-03-07 13:27:43 -0500 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2011-03-08 09:52:58 -0500 |
| commit | 612b9e9bd33af80f525a38c05a1663f7126b3d3c (patch) | |
| tree | cd5beffde98b075432f0b7a112ea26afe51790cf | |
| parent | 10abf118f090b9a70ea05296a981fa27196dc7c6 (diff) | |
ktest: Handle kernels before make oldnoconfig
When bisecting, one may come across a kernel that does not have
make oldnoconfig. In this case, we need to run the command "yes"
into a make oldconfig. This will select defaults instead of 'n'
into each command, but it works as a work around.
Note, "yes n" will not work because a config may have a value that
"n" is not acceptable for.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rwxr-xr-x | tools/testing/ktest/ktest.pl | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 6620fe4b364f..c95209bac65a 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl | |||
| @@ -930,6 +930,18 @@ sub check_buildlog { | |||
| 930 | return 1; | 930 | return 1; |
| 931 | } | 931 | } |
| 932 | 932 | ||
| 933 | sub make_oldconfig { | ||
| 934 | my ($defconfig) = @_; | ||
| 935 | |||
| 936 | if (!run_command "$defconfig $make oldnoconfig") { | ||
| 937 | # Perhaps oldnoconfig doesn't exist in this version of the kernel | ||
| 938 | # try a yes '' | oldconfig | ||
| 939 | doprint "oldnoconfig failed, trying yes '' | make oldconfig\n"; | ||
| 940 | run_command "yes '' | $defconfig $make oldconfig" or | ||
| 941 | dodie "failed make config oldconfig"; | ||
| 942 | } | ||
| 943 | } | ||
| 944 | |||
| 933 | sub build { | 945 | sub build { |
| 934 | my ($type) = @_; | 946 | my ($type) = @_; |
| 935 | my $defconfig = ""; | 947 | my $defconfig = ""; |
| @@ -975,8 +987,12 @@ sub build { | |||
| 975 | $defconfig = "KCONFIG_ALLCONFIG=$minconfig"; | 987 | $defconfig = "KCONFIG_ALLCONFIG=$minconfig"; |
| 976 | } | 988 | } |
| 977 | 989 | ||
| 978 | run_command "$defconfig $make $type" or | 990 | if ($type eq "oldnoconfig") { |
| 979 | dodie "failed make config"; | 991 | make_oldconfig $defconfig; |
| 992 | } else { | ||
| 993 | run_command "$defconfig $make $type" or | ||
| 994 | dodie "failed make config"; | ||
| 995 | } | ||
| 980 | 996 | ||
| 981 | $redirect = "$buildlog"; | 997 | $redirect = "$buildlog"; |
| 982 | if (!run_command "$make $build_options") { | 998 | if (!run_command "$make $build_options") { |
| @@ -1395,9 +1411,7 @@ sub create_config { | |||
| 1395 | close(OUT); | 1411 | close(OUT); |
| 1396 | 1412 | ||
| 1397 | # exit; | 1413 | # exit; |
| 1398 | run_command "$make oldnoconfig" or | 1414 | make_oldconfig ""; |
| 1399 | dodie "failed make config oldconfig"; | ||
| 1400 | |||
| 1401 | } | 1415 | } |
| 1402 | 1416 | ||
| 1403 | sub compare_configs { | 1417 | sub compare_configs { |
| @@ -1599,8 +1613,7 @@ sub config_bisect { | |||
| 1599 | close(IN); | 1613 | close(IN); |
| 1600 | 1614 | ||
| 1601 | # Now run oldconfig with the minconfig (and addconfigs) | 1615 | # Now run oldconfig with the minconfig (and addconfigs) |
| 1602 | run_command "$defconfig $make oldnoconfig" or | 1616 | make_oldconfig $defconfig; |
| 1603 | dodie "failed make config oldconfig"; | ||
| 1604 | 1617 | ||
| 1605 | # check to see what we lost (or gained) | 1618 | # check to see what we lost (or gained) |
| 1606 | open (IN, $output_config) | 1619 | open (IN, $output_config) |
