  <chapter id="cvs-regression">
    <title>How to do regression testing using CVS</title>

    <para>
      A problem that can happen sometimes is 'it used to work
      before, now it doesn't anymore...'. Here is a step by step
      procedure to try to pinpoint when the problem occurred. This is
      <emphasis>NOT</emphasis> for casual users.
    </para>

    <orderedlist>
      <listitem>
        <para>
          Get the <quote>full CVS</quote> archive from winehq. This archive is
          the CVS tree but with the tags controlling the versioning
          system. It's a big file (> 40 meg) with a name like
          full-cvs-&lt;last update date> (it's more than 100mb
          when uncompressed, you can't very well do this with
          small, old computers or slow Internet connections).
        </para>
      </listitem>
      <listitem>
        <para>
          untar it into a repository directory:
          <screen>
cd /home/gerard
tar -zxf full-cvs-2003-08-18.tar.gz
mv wine repository
          </screen>
        </para>
      </listitem>
      <listitem>
        <para>
          extract a new destination directory. This directory must
          not be in a subdirectory of the repository else
          <command>cvs</command> will think it's part of the
          repository and deny you an extraction in the repository:
          <screen>
cd /home/gerard
mv wine wine_current (-> this protects your current wine sandbox, if any)
export CVSROOT=/home/gerard/repository
cvs -d $CVSROOT checkout wine
          </screen>
        </para>
        <para>
          Note that it's not possible to do a checkout at a given
          date; you always do the checkout for the last date where
          the full-cvs-xxx snapshot was generated.
        </para>
        <para>
          Note also that it is possible to do all this with a direct
          CVS connection, of course. The full CVS file method is less
          painful for the WineHQ CVS server and probably a bit faster
          if you don't have a very good net connection.
        </para>
      </listitem>
      <listitem>
        <para>
          you will have now in the <filename>~/wine</filename>
          directory an image of the CVS tree, on the client side.
          Now update this image to the date you want:
          <screen>
cd /home/gerard/wine
cvs update -PAd -D "2004-08-23 CDT"   
          </screen>
        </para>
        <para>
          The date format is <literal>YYYY-MM-DD HH:MM:SS</literal>.
          Using the CST date format ensure that you will be able to
          extract patches in a way that will be compatible with the
          wine-cvs archive
          <ulink url="http://www.winehq.org/hypermail/wine-cvs">
          http://www.winehq.org/hypermail/wine-cvs</ulink>
        </para>
        <para>
          Many messages will inform you that more recent files have
          been deleted to set back the client cvs tree to the date
          you asked, for example:
          <screen>
cvs update: tsx11/ts_xf86dga2.c is no longer in the repository
          </screen>
        </para>
        <para>
          <command>cvs update</command> is not limited to upgrade to
          a <emphasis>newer</emphasis> version as I have believed for
          far too long :-(
        </para>
      </listitem>
      <listitem>
        <para>
          Now proceed as for a normal update:
        </para>
        <screen>
./configure
make depend && make
        </screen>
        <para>
          If any non-programmer reads this, the fastest method to get
          at the point where the problem occurred is to use a binary
          search, that is, if the problem occurred in 1999, start at
          mid-year, then is the problem is already here, back to 1st
          April, if not, to 1st October, and so on.
        </para>
        <para>
          If you have lot of hard disk free space (a full compile currently
          takes 400 Mb), copy the oldest known working version before
          updating it, it will save time if you need to go back. (it's
          better to <command>make distclean</command> before going back in
          time, so you have to make everything if you don't backup the older
          version)
        </para>
        <para>
          When you have found the day where the problem happened, continue
          the search using the wine-cvs archive (sorted by date) and a
          more precise cvs update including hour, minute, second :
          <screen>
cvs update -PAd -D "2004-08-23 15:17:25 CDT"
          </screen>
          This will allow you to find easily the exact patch that did it.
        </para>
      </listitem>
      <listitem>
        <para>
          If you find the patch that is the cause of the problem, you have
          almost won; report about it to
          <ulink url="http://bugs.winehq.org/">Wine Bugzilla</ulink>
          or subscribe to wine-devel and post it there. There is a chance
          that the author
          will jump in to suggest a fix; or there is always the possibility
          to look hard at the patch until it is coerced to reveal where is
          the bug :-) 
        </para>
      </listitem>
    </orderedlist>
  </chapter>

  <!-- Keep this comment at the end of the file
  Local variables:
  mode: sgml
  sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
  End:
  -->
