summaryrefslogtreecommitdiff
path: root/t/perf/aggregate.perl
diff options
context:
space:
mode:
authorChristian Couder <christian.couder@gmail.com>2018-02-01 10:14:32 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-02-02 19:47:37 (GMT)
commitcd5d4bf609339dec94ee64fce4bac4468e5277fc (patch)
tree3508951e80b5a325b1aeec81c3cc0837ef650837 /t/perf/aggregate.perl
parent5be1f00a9a701532232f57958efab4be8c959a29 (diff)
downloadgit-cd5d4bf609339dec94ee64fce4bac4468e5277fc.zip
git-cd5d4bf609339dec94ee64fce4bac4468e5277fc.tar.gz
git-cd5d4bf609339dec94ee64fce4bac4468e5277fc.tar.bz2
perf/aggregate: add --subsection option
This makes it easier to use the aggregate script on the command line, to get results from subsections. Previously setting GIT_PERF_SUBSECTION was needed for this purpose. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/perf/aggregate.perl')
-rwxr-xr-xt/perf/aggregate.perl33
1 files changed, 24 insertions, 9 deletions
diff --git a/t/perf/aggregate.perl b/t/perf/aggregate.perl
index 5c439f6..bbf0f30 100755
--- a/t/perf/aggregate.perl
+++ b/t/perf/aggregate.perl
@@ -36,7 +36,8 @@ sub format_times {
return $out;
}
-my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests, $codespeed);
+my (@dirs, %dirnames, %dirabbrevs, %prefixes, @tests,
+ $codespeed, $subsection);
while (scalar @ARGV) {
my $arg = $ARGV[0];
my $dir;
@@ -45,6 +46,15 @@ while (scalar @ARGV) {
shift @ARGV;
next;
}
+ if ($arg eq "--subsection") {
+ shift @ARGV;
+ $subsection = $ARGV[0];
+ shift @ARGV;
+ if (! $subsection) {
+ die "empty subsection";
+ }
+ next;
+ }
last if -f $arg or $arg eq "--";
if (! -d $arg) {
my $rev = Git::command_oneline(qw(rev-parse --verify), $arg);
@@ -76,10 +86,15 @@ if (not @tests) {
}
my $resultsdir = "test-results";
-my $results_section = "";
-if (exists $ENV{GIT_PERF_SUBSECTION} and $ENV{GIT_PERF_SUBSECTION} ne "") {
- $resultsdir .= "/" . $ENV{GIT_PERF_SUBSECTION};
- $results_section = $ENV{GIT_PERF_SUBSECTION};
+
+if (! $subsection and
+ exists $ENV{GIT_PERF_SUBSECTION} and
+ $ENV{GIT_PERF_SUBSECTION} ne "") {
+ $subsection = $ENV{GIT_PERF_SUBSECTION};
+}
+
+if ($subsection) {
+ $resultsdir .= "/" . $subsection;
}
my @subtests;
@@ -183,15 +198,15 @@ sub print_default_results {
}
sub print_codespeed_results {
- my ($results_section) = @_;
+ my ($subsection) = @_;
my $project = "Git";
my $executable = `uname -s -m`;
chomp $executable;
- if ($results_section ne "") {
- $executable .= ", " . $results_section;
+ if ($subsection) {
+ $executable .= ", " . $subsection;
}
my $environment;
@@ -233,7 +248,7 @@ sub print_codespeed_results {
binmode STDOUT, ":utf8" or die "PANIC on binmode: $!";
if ($codespeed) {
- print_codespeed_results($results_section);
+ print_codespeed_results($subsection);
} else {
print_default_results();
}