Francois Gouget : testbot: Take into account configure for the build timeout.

Alexandre Julliard julliard at winehq.org
Fri Jan 15 15:38:07 CST 2021


Module: tools
Branch: master
Commit: e9d470d7e63724d8f989603b47830ece7fc1b1d9
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=e9d470d7e63724d8f989603b47830ece7fc1b1d9

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Fri Jan 15 16:09:19 2021 +0100

testbot: Take into account configure for the build timeout.

It is likely that configure will need to be rerun after a
make_makefiles, even outside of full rebuilds. In particular this is
the case when adding a new dll, program or test directory.
So take the configure time out of the full-rebuild timeouts and into its
own $ReconfigBuildTimeout setting.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 testbot/lib/WineTestBot/Config.pm     | 11 +++++++----
 testbot/lib/WineTestBot/PatchUtils.pm |  7 +++++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/testbot/lib/WineTestBot/Config.pm b/testbot/lib/WineTestBot/Config.pm
index 68709e5..2f01e95 100644
--- a/testbot/lib/WineTestBot/Config.pm
+++ b/testbot/lib/WineTestBot/Config.pm
@@ -31,7 +31,7 @@ use vars qw (@ISA @EXPORT @EXPORT_OK $UseSSL $LogDir $DataDir $BinDir
              $MaxVMsWhenIdle $WaitForBoot $SleepAfterBoot $SleepAfterRevert
              $VMToolTimeout $MaxVMErrors $MaxTaskTries $AdminEMail $RobotEMail
              $WinePatchToOverride $WinePatchCc
-             $ExeBuildTimeout $ExeModuleTimeout
+             $ReconfigBuildTimeout $ExeBuildTimeout $ExeModuleTimeout
              $WineBuildTimeout $WineModuleTimeout $TimeoutMargin
              $SuiteTimeout $SingleTimeout $SingleAvgTime $MaxUnitSize
              $TagPrefix $ProjectName $PatchesMailingList $LDAPServer
@@ -48,7 +48,7 @@ require Exporter;
              $SleepAfterRevert
              $VMToolTimeout $MaxVMErrors $MaxTaskTries $AdminEMail
              $RobotEMail $WinePatchToOverride $WinePatchCc $SuiteTimeout
-             $ExeBuildTimeout $ExeModuleTimeout
+             $ReconfigBuildTimeout $ExeBuildTimeout $ExeModuleTimeout
              $WineBuildTimeout $WineModuleTimeout $TimeoutMargin
              $SuiteTimeout $SingleTimeout $SingleAvgTime $MaxUnitSize
              $TagPrefix $ProjectName $PatchesMailingList
@@ -109,15 +109,18 @@ $MaxVMErrors = 3;
 # How many times to run a test that fails before giving up.
 $MaxTaskTries = 3;
 
+# Build configure timeout (in seconds)
+$ReconfigBuildTimeout = 60;
+
 # Exe build timeouts (in seconds)
 # - For a full build
-$ExeBuildTimeout = 7 * 60;
+$ExeBuildTimeout = 6 * 60;
 # - For a single module
 $ExeModuleTimeout = 30;
 
 # Wine build timeouts (in seconds)
 # - For a full build
-$WineBuildTimeout = 25 * 60;
+$WineBuildTimeout = 24 * 60;
 # - For a single module
 $WineModuleTimeout = 60;
 
diff --git a/testbot/lib/WineTestBot/PatchUtils.pm b/testbot/lib/WineTestBot/PatchUtils.pm
index 26c16c4..974ff8e 100644
--- a/testbot/lib/WineTestBot/PatchUtils.pm
+++ b/testbot/lib/WineTestBot/PatchUtils.pm
@@ -521,19 +521,22 @@ sub GetBuildTimeout($$)
   # Set $ModuleCount to 0 if a full rebuild is needed
   my $ModuleCount = (!$Impacts or $Impacts->{RebuildRoot}) ? 0 :
                     scalar(keys %{$Impacts->{BuildModules}});
+  my $Reconfig = (!$Impacts or $Impacts->{Autoconf} or $Impacts->{MakeMakefiles});
 
   my ($ExeTimeout, $WineTimeout) = (0, 0);
   if ($ExeCount)
   {
     my $OneBuild = $ModuleCount ? $ModuleCount * $ExeModuleTimeout :
                                   $ExeBuildTimeout;
-    $ExeTimeout = $ExeCount * min($ExeBuildTimeout, $OneBuild);
+    $ExeTimeout = $ExeCount * min($ExeBuildTimeout, $OneBuild) +
+                  ($Reconfig ? $ExeCount * $ReconfigBuildTimeout : 0);
   }
   if ($WineCount)
   {
     my $OneBuild = $ModuleCount ? $ModuleCount * $WineModuleTimeout :
                                   $WineBuildTimeout;
-    $WineTimeout = $WineCount * min($WineBuildTimeout, $OneBuild);
+    $WineTimeout = $WineCount * min($WineBuildTimeout, $OneBuild) +
+                   ($Reconfig ? $WineCount * $ReconfigBuildTimeout : 0);
   }
 
   return $ExeTimeout + $WineTimeout;




More information about the wine-cvs mailing list