Francois Gouget : testbot/WineTest: Clean up the command line options.
Alexandre Julliard
julliard at winehq.org
Mon Aug 20 12:41:40 CDT 2018
Module: tools
Branch: master
Commit: ada7d8a85c8012e7c6e78549ec018985e8cf9b2f
URL: https://source.winehq.org/git/tools.git/?a=commit;h=ada7d8a85c8012e7c6e78549ec018985e8cf9b2f
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Mon Aug 20 09:07:37 2018 +0200
testbot/WineTest: Clean up the command line options.
This separates the actions (building or running WineTest) from the
targets they apply to (the win32, wow32 and wow64 builds).
This also renames the build action to --testpatch so it can later be
seamlessly extended to perform a more thorough patch validation.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
testbot/bin/build/WineTest.pl | 80 +++++++++++++++++++++++--------------------
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/testbot/bin/build/WineTest.pl b/testbot/bin/build/WineTest.pl
index 1fa59c2..1010619 100755
--- a/testbot/bin/build/WineTest.pl
+++ b/testbot/bin/build/WineTest.pl
@@ -170,9 +170,9 @@ sub RunWine($$$)
"time $Wine $Cmd $CmdArgs");
}
-sub DailyWineTest($$$$)
+sub DailyWineTest($$$$$)
{
- my ($Targets, $Build, $BaseTag, $Args) = @_;
+ my ($Targets, $Build, $NoSubmit, $BaseTag, $Args) = @_;
return 1 if (!$Targets->{$Build});
@@ -190,7 +190,7 @@ sub DailyWineTest($$$$)
}
# Send the report to the website
- if ($Targets->{submit} and
+ if (!$NoSubmit and
RunWine($Build, "./programs/winetest/winetest.exe.so",
"-c -s '../$Build.report'"))
{
@@ -210,13 +210,26 @@ $ENV{PATH} = "/usr/lib/ccache:/usr/bin:/bin";
delete $ENV{ENV};
my %AllTargets;
-map { $AllTargets{$_} = 1 } qw(win32 wow32 wow64 submit);
+map { $AllTargets{$_} = 1 } qw(win32 wow32 wow64);
-my ($Usage, $TargetList, $Action, $FileName, $BaseTag);
+my $Action = "";
+my ($Usage, $OptNoSubmit, $TargetList, $FileName, $BaseTag);
while (@ARGV)
{
my $Arg = shift @ARGV;
- if ($Arg =~ /^(?:-\?|-h|--help)$/)
+ if ($Arg eq "--testpatch" or $Arg eq "build")
+ {
+ $Action = "testpatch";
+ }
+ elsif ($Arg eq "--winetest" or $Arg eq "winetest")
+ {
+ $Action = "winetest";
+ }
+ elsif ($Arg eq "--no-submit")
+ {
+ $OptNoSubmit = 1;
+ }
+ elsif ($Arg =~ /^(?:-\?|-h|--help)$/)
{
$Usage = 0;
last;
@@ -231,11 +244,7 @@ while (@ARGV)
{
$TargetList = $Arg;
}
- elsif (!defined $Action)
- {
- $Action = $Arg;
- }
- elsif (($Action || "") eq "winetest")
+ elsif ($Action eq "winetest")
{
$BaseTag = $Arg;
# The remaining arguments are meant for WineTest
@@ -289,7 +298,7 @@ if (!defined $Usage)
$Usage = 2;
}
- if (!defined $Action)
+ if (!$Action)
{
Error "you must specify the action to perform\n";
$Usage = 2;
@@ -311,13 +320,8 @@ if (!defined $Usage)
$Usage = 2;
}
}
- elsif ($Action ne "build")
- {
- Error "invalid '$Action' action\n";
- $Usage = 2;
- }
- if (!defined $FileName and ($Action || "") eq "build")
+ if (!defined $FileName and $Action eq "testpatch")
{
Error "you must provide a patch to test\n";
$Usage = 2;
@@ -325,25 +329,24 @@ if (!defined $Usage)
}
if (defined $Usage)
{
- print "Usage: $Name0 [--help] TARGETS build PATCH\n";
- print "or $Name0 [--help] TARGETS winetest BASETAG ARGS\n";
+ print "Usage: $Name0 [--help] --testpatch TARGETS PATCH\n";
+ print "or $Name0 [--help] --winetest [--no-submit] TARGETS BASETAG ARGS\n";
print "\n";
print "Tests the specified patch or runs WineTest in Wine.\n";
print "\n";
print "Where:\n";
- print " TARGETS Is a comma-separated list of targets for the specified action.\n";
- print " - win32: The regular 32 bit Wine build.\n";
- print " - wow32: The 32 bit WoW Wine build.\n";
- print " - wow64: The 64 bit WoW Wine build.\n";
- print " - submit: Send the WineTest result to the website.\n";
- print " build Verify that the patch compiles.\n";
- print " PATCH Is the staging file containing the patch to test.\n";
- print " winetest Run WineTest and submit the result to the website if the submit\n";
- print " task was specified.\n";
- print " BASETAG Is the tag for this WineTest run. Note that the build type is\n";
- print " automatically added to this tag.\n";
- print " ARGS The WineTest arguments.\n";
- print " --help Shows this usage message.\n";
+ print " --testpatch Verify that the patch compiles.\n";
+ print " --winetest Run WineTest and submit the result to the website.\n";
+ print " --no-submit Do not submit the WineTest results to the website.\n";
+ print " TARGETS Is a comma-separated list of targets for the specified action.\n";
+ print " - win32: The regular 32 bit Wine build.\n";
+ print " - wow32: The 32 bit WoW Wine build.\n";
+ print " - wow64: The 64 bit WoW Wine build.\n";
+ print " PATCH Is the staging file containing the patch to test.\n";
+ print " BASETAG Is the tag for this WineTest run. Note that the build type is\n";
+ print " automatically added to this tag.\n";
+ print " ARGS The WineTest arguments.\n";
+ print " --help Shows this usage message.\n";
exit $Usage;
}
@@ -363,7 +366,7 @@ map { unlink("$_.report") } keys %AllTargets;
CountCPUs();
-if ($Action eq "build")
+if ($Action eq "testpatch")
{
my $Impacts = ApplyPatch($FileName);
exit(1) if (!$Impacts or
@@ -373,9 +376,12 @@ if ($Action eq "build")
}
elsif ($Action eq "winetest")
{
- exit(1) if (!DailyWineTest($Targets, "win32", $BaseTag, \@ARGV) or
- !DailyWineTest($Targets, "wow64", $BaseTag, \@ARGV) or
- !DailyWineTest($Targets, "wow32", $BaseTag, \@ARGV));
+ if (!DailyWineTest($Targets, "win32", $OptNoSubmit, $BaseTag, \@ARGV) or
+ !DailyWineTest($Targets, "wow64", $OptNoSubmit, $BaseTag, \@ARGV) or
+ !DailyWineTest($Targets, "wow32", $OptNoSubmit, $BaseTag, \@ARGV))
+ {
+ exit(1);
+ }
}
LogMsg "ok\n";
More information about the wine-cvs
mailing list