Module: tools
Branch: master
Commit: acf379aad4658d98ce3e189c587d84634ba9c471
URL: http://source.winehq.org/git/tools.git/?a=commit;h=acf379aad4658d98ce3e189c…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Aug 29 16:44:26 2012 +0200
testbot/bin: CVS is not used anymore so remove WineCvsHandler.pl.
---
testbot/bin/WineCvsHandler.pl | 35 -----------------------------------
1 files changed, 0 insertions(+), 35 deletions(-)
diff --git a/testbot/bin/WineCvsHandler.pl b/testbot/bin/WineCvsHandler.pl
deleted file mode 100755
index 02f807a..0000000
--- a/testbot/bin/WineCvsHandler.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/perl -Tw
-#
-# Tell the engine to expect a winetest.exe update on test.winehq.org
-#
-# Copyright 2009 Ge van Geldorp
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-
-use strict;
-
-my $Dir;
-sub BEGIN
-{
- $0 =~ m=^(.*)/[^/]*$=;
- $Dir = $1;
-}
-use lib "$Dir/../lib";
-
-use WineTestBot::Engine::Notify;
-
-ExpectWinetestUpdate();
-
-exit 0;
Module: tools
Branch: master
Commit: b967042dfc94fef6c4853a6fdea9c163d4e48843
URL: http://source.winehq.org/git/tools.git/?a=commit;h=b967042dfc94fef6c4853a6f…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Aug 29 16:39:49 2012 +0200
testbot/Engine: On startup stop stale RevertVM.pl processes and consider the VMs dirty.
On startup we don't know what state the VMs are in: they may be shut
off following a VM host reboot or they may still be running old
tasks. So consider them all to be dirty (i.e. in need of a revert
before use).
---
testbot/bin/Engine.pl | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/testbot/bin/Engine.pl b/testbot/bin/Engine.pl
index a4db2e1..f63344b 100755
--- a/testbot/bin/Engine.pl
+++ b/testbot/bin/Engine.pl
@@ -541,6 +541,25 @@ sub ClientRead
return $GotSomething;
}
+sub InitVMs()
+{
+ # Kill any stale RevertVM.pl process so they don't mess with our VMs
+ system('killall RevertVM.pl 2>/dev/null');
+
+ # On startup we don't know what state the VMs are in. So consider them all
+ # to be dirty.
+ my $VMs = CreateVMs();
+ foreach my $VMKey (@{$VMs->GetKeys()})
+ {
+ my $VM = $VMs->GetItem($VMKey);
+ if ($VM->Status ne "offline")
+ {
+ $VM->Status("dirty");
+ $VM->Save();
+ }
+ }
+}
+
sub SafetyNet
{
my $Jobs = CreateJobs();
@@ -635,6 +654,8 @@ sub main
$WineTestBot::Engine::Notify::RunningInEngine = 1;
+ InitVMs();
+
my $SockName = "$DataDir/socket/engine";
my $uaddr = sockaddr_un($SockName);
my $proto = getprotobyname('tcp');
Module: tools
Branch: master
Commit: 0b5285bc6f5365e0eda31d120c501c716ee9dbaf
URL: http://source.winehq.org/git/tools.git/?a=commit;h=0b5285bc6f5365e0eda31d12…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Wed Aug 29 16:36:55 2012 +0200
testbot: Add a README file.
---
testbot/README | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/testbot/README b/testbot/README
new file mode 100644
index 0000000..4f4cbc9
--- /dev/null
+++ b/testbot/README
@@ -0,0 +1,70 @@
+1. PURPOSE
+----------
+
+The goal of the WineTestBot is to make sure that only valid conformance
+tests enter the Wine codebase.
+
+The goal of Wine's conformance tests is to describe the behavior of the
+Windows APIs, ignoring bugs and quirks specific to one Windows version.
+They are then used to make sure Wine's behavior is correct. But the
+correctness of the tests themselves can only be verified by running
+them on multiple Windows versions which is out of the reach of most Wine
+developers. This is the issue that the WineTestBot intends to fix.
+
+
+2. MEANS
+--------
+
+The WineTestBot provides ways to run the conformance tests on a set of
+Windows machines. There are three ways this can happen:
+
+* Registered users can submit patches and binaries using the web site
+ and have them run on the set of Windows machines of their choosing.
+
+* Conformance test patches sent to the wine-patches mailing list are
+ run on the default set of Windows machines. Any failure is reported
+ to the patch author and to the wine-devel mailing list.
+
+* The WineTestBot also runs the full conformance test suite whenever
+ there is a round of Wine commits.
+
+
+3. GENERAL ARCHITECTURE
+-----------------------
+
+Most of the work is done on virtual machines for two reasons:
+
+* By its very nature the WineTestBot runs untrusted code. Virtual
+ machines provide a way to isolate the effect of malicious code and
+ can safely be reset to a clean state from the outside.
+
+* It's easy to reset the VMs to a clean state between each test, thus
+ ensuring they all run in a pristine environment.
+
+This results in four types of machines being involved in the
+WineTestBot:
+
+* The WineTestBot server
+ It hosts the website, WineTestBot server processes, and, usually,
+ also the WineTestBot database. This is the machine that orchestrates
+ everything.
+
+* VM hosts
+ These host the Linux Build VM and the Windows Test VMs. The
+ WineTestBot server tells them which VMs to power on or revert to a
+ clean state at a given time.
+
+* Linux Build VM
+ This is the virtual machine that is used to compile the patches and
+ generate the Windows binaries to test. It receives its commands
+ directly from the WineTestBot server.
+
+* Windows Test VMs
+ These are the Windows machines the tests run on. They receive the test
+ binaries directly from the WineTestBot server.
+
+
+4. INSTALLATION
+---------------
+
+See the doc/INSTALL.txt file.