ktest: Add special variable ${KERNEL_VERSION}

Add a special variable that can be used in other variables called
${KERNEL_VERSION}. This will embed the current kernel version into
the variable. For example:

WARNINGS_FILE = ${OUTPUT_DIR}/warnings-${KERNEL_VERSION}

If the current version is v3.8 then the WARNINGS_FILE will become

  ${OUTPUT_DIR}/warnings-v3.8

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt (Red Hat) 2013-12-11 15:40:46 -05:00 committed by Steven Rostedt
parent 298a0d1d57
commit 8e80bf05ff

View File

@ -1129,6 +1129,10 @@ sub __eval_option {
} elsif (defined($opt{$var})) { } elsif (defined($opt{$var})) {
$o = $opt{$var}; $o = $opt{$var};
$retval = "$retval$o"; $retval = "$retval$o";
} elsif ($var eq "KERNEL_VERSION" && defined($make)) {
# special option KERNEL_VERSION uses kernel version
get_version();
$retval = "$retval$version";
} else { } else {
$retval = "$retval\$\{$var\}"; $retval = "$retval\$\{$var\}";
} }
@ -3919,6 +3923,18 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
my $makecmd = set_test_option("MAKE_CMD", $i); my $makecmd = set_test_option("MAKE_CMD", $i);
$outputdir = set_test_option("OUTPUT_DIR", $i);
$builddir = set_test_option("BUILD_DIR", $i);
chdir $builddir || die "can't change directory to $builddir";
if (!-d $outputdir) {
mkpath($outputdir) or
die "can't create $outputdir";
}
$make = "$makecmd O=$outputdir";
# Load all the options into their mapped variable names # Load all the options into their mapped variable names
foreach my $opt (keys %option_map) { foreach my $opt (keys %option_map) {
${$option_map{$opt}} = set_test_option($opt, $i); ${$option_map{$opt}} = set_test_option($opt, $i);
@ -3943,13 +3959,9 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
$start_minconfig = $minconfig; $start_minconfig = $minconfig;
} }
chdir $builddir || die "can't change directory to $builddir"; if (!-d $tmpdir) {
mkpath($tmpdir) or
foreach my $dir ($tmpdir, $outputdir) { die "can't create $tmpdir";
if (!-d $dir) {
mkpath($dir) or
die "can't create $dir";
}
} }
$ENV{"SSH_USER"} = $ssh_user; $ENV{"SSH_USER"} = $ssh_user;
@ -3958,7 +3970,6 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
$buildlog = "$tmpdir/buildlog-$machine"; $buildlog = "$tmpdir/buildlog-$machine";
$testlog = "$tmpdir/testlog-$machine"; $testlog = "$tmpdir/testlog-$machine";
$dmesg = "$tmpdir/dmesg-$machine"; $dmesg = "$tmpdir/dmesg-$machine";
$make = "$makecmd O=$outputdir";
$output_config = "$outputdir/.config"; $output_config = "$outputdir/.config";
if (!$buildonly) { if (!$buildonly) {