57 lines
1.4 KiB
Perl
Executable file
57 lines
1.4 KiB
Perl
Executable file
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
|
|
sub getConfig {
|
|
my $basename = shift;
|
|
my $key = shift;
|
|
my $value = `grep ^$key: $basename.def`;
|
|
$value =~ s/^$key\:\s+//;
|
|
chomp $value;
|
|
return $value
|
|
}
|
|
|
|
my $dataSeries = shift @ARGV;
|
|
|
|
my @tok = split /\-/, $dataSeries;
|
|
|
|
my $usage = "Usage $0 GRAPH_NAME-SERIES_NAME\n";
|
|
|
|
@tok == 2 || die $usage;
|
|
#(-r $tok[0]) || (-r $tok[0]) || die ("Couldn't open ."$tok[0]."\n");
|
|
my $seriesLine = `grep Data-Series\: $tok[0].def | grep '$tok[1] '`
|
|
|| die "No Data-Series entry\n";
|
|
|
|
$seriesLine =~ /^\S+\:\s+(\S+)\s+(.+)$/ || die "Bad data series line\n ($seriesLine)\n";
|
|
my $seriesName = $1;
|
|
my $command = $2;
|
|
|
|
## Change command so that the first token ends in .exe, and starts
|
|
## with ./ (ie: "foo bar" -> "./foo.exe bar")
|
|
|
|
$command =~ s/^(\S+)(.+)$/.\/$1.exe$2/;
|
|
|
|
|
|
my $range = getConfig($tok[0], "X-Range");
|
|
defined($range) || die "No X-Range entry";
|
|
|
|
warn "-------- GENERATE GRAPH DATA ----------\n";
|
|
|
|
#warn "Series line:\t$seriesLine\rRange:$range";
|
|
|
|
my @a = eval "(".$range.")";
|
|
|
|
if(-e "$dataSeries.ci-raw") {
|
|
my $i = 0;
|
|
while(-e "$dataSeries.$i.ci-raw") {
|
|
$i++;
|
|
}
|
|
`mv $dataSeries.ci-raw $dataSeries.$i.ci-raw`;
|
|
}
|
|
foreach my $x (@a) {
|
|
# The eval lets the $x in command be expanded.
|
|
eval "print \"echo $command | ../timer >> $dataSeries.ci-raw\n\";";
|
|
eval "`echo $command | ../timer >> $dataSeries.ci-raw`";
|
|
}
|
|
|
|
warn "----- END GENERATE GRAPH DATA ---------\n";
|