Module: tools Branch: master Commit: fce6cff49b2c6c2490f447f495579a858cfa4b89 URL: https://source.winehq.org/git/tools.git/?a=commit;h=fce6cff49b2c6c2490f447f4...
Author: Francois Gouget fgouget@codeweavers.com Date: Mon Apr 12 11:16:35 2021 +0200
winetest/gather: Add --update-all to force refresh all builds.
This allows moving the reports to the right index after modifying the platform groups.
Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
winetest/gather | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-)
diff --git a/winetest/gather b/winetest/gather index 1a61b0c..750f0ee 100755 --- a/winetest/gather +++ b/winetest/gather @@ -176,7 +176,7 @@ my %idmap = (95 => %w95, 98 => %w98, me => %me, # Command line processing #
-my ($opt_workdir, $builddir, $usage); +my ($opt_workdir, $builddir, $update_all, $usage);
sub check_opt_val($$) { @@ -207,6 +207,10 @@ while (@ARGV) { $builddir = check_opt_val($arg, $builddir); } + elsif ($arg eq "--update-all") + { + $update_all = 1; + } elsif ($arg eq "--help") { $usage = 0; @@ -235,10 +239,18 @@ if (!defined $usage) error("'$workdir' is not a valid work directory\n"); $usage = 2; } - if (defined $builddir and !-f "$builddir/summary.txt") + if (defined $builddir) { - error("the '$builddir' build directory is not valid\n"); - $usage = 1; + if (!-f "$builddir/summary.txt") + { + error("the '$builddir' build directory is not valid\n"); + $usage = 1; + } + elsif ($update_all) + { + error("--update and --update-all are mutually exclusive\n"); + $usage = 2; + } } } if (defined $usage) @@ -249,7 +261,7 @@ if (defined $usage) exit $usage; } print <<EOF; -Usage: $name0 [--workdir DIR] [--update BUILD] [--help] +Usage: $name0 [--workdir DIR] [--update BUILD|--update-all] [--help]
Identifies one build that received new reports and updates its summary and HTML index files. @@ -260,6 +272,8 @@ Where: --update BUILD Forcefully refreshes the specified build directory. BUILD should be a full path. If an outdated file is present, it is removed. + --update-all Forcefully refreshes every build directory. This can be + used when the platform groups have been modified. --help Shows this usage message.
Actions: @@ -283,6 +297,19 @@ EOF exit 0; }
+if ($update_all) +{ + my @cmd = ($0, "--workdir", $workdir, "--update"); + foreach my $builddir (glob "$workdir/data/*") + { + next if ($builddir !~ m~/data/[0-9a-f]{40}$~); + next if (!-d $builddir); + my $rc = system(@cmd, $builddir); + exit $rc if ($rc != 0 and $rc != 2); + } + exit 0; +} + chdir($workdir) or die "could not chdir to the work directory: $!";
if (!defined $builddir)