Updated regression testing documentation.
This commit is contained in:
parent
893f5ff432
commit
027cef8b8e
|
@ -1,5 +1,5 @@
|
||||||
<chapter id="cvs-regression">
|
<chapter id="cvs-regression">
|
||||||
<title>How to do regression testing using Cvs</title>
|
<title>How to do regression testing using CVS</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
written by Gerard Patel
|
written by Gerard Patel
|
||||||
|
@ -18,8 +18,8 @@
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Get the 'full cvs' archive from winehq. This archive is
|
Get the <quote>full CVS</quote> archive from winehq. This archive is
|
||||||
the cvs tree but with the tags controlling the versioning
|
the CVS tree but with the tags controlling the versioning
|
||||||
system. It's a big file (> 40 meg) with a name like
|
system. It's a big file (> 40 meg) with a name like
|
||||||
wine-cvsdirs-<last update date> (it's more than 100mb
|
wine-cvsdirs-<last update date> (it's more than 100mb
|
||||||
when uncompressed, you can't very well do this with
|
when uncompressed, you can't very well do this with
|
||||||
|
@ -30,9 +30,9 @@
|
||||||
<para>
|
<para>
|
||||||
untar it into a repository directory:
|
untar it into a repository directory:
|
||||||
<screen>
|
<screen>
|
||||||
cd /home/gerard
|
cd /home/gerard
|
||||||
tar -zxfcvs-dirs-2000-05-20.tar.gz
|
tar -zxf cvs-dirs-2003-01-15.tar.gz
|
||||||
mv wine repository
|
mv wine repository
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -43,11 +43,11 @@
|
||||||
<command>cvs</command> will think it's part of the
|
<command>cvs</command> will think it's part of the
|
||||||
repository and deny you an extraction in the repository:
|
repository and deny you an extraction in the repository:
|
||||||
<screen>
|
<screen>
|
||||||
cd /home/gerard
|
cd /home/gerard
|
||||||
mv wine wine_current (-> this protects your current wine sandbox, if any)
|
mv wine wine_current (-> this protects your current wine sandbox, if any)
|
||||||
export CVSROOT=/home/gerard/repository
|
export CVSROOT=/home/gerard/repository
|
||||||
cd /home/gerard
|
cd /home/gerard
|
||||||
cvs -d $CVSROOT checkout wine
|
cvs -d $CVSROOT checkout wine
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -57,49 +57,52 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Note also that it is possible to do all this with a direct
|
Note also that it is possible to do all this with a direct
|
||||||
Cvs connection, of course. The full cvs file method is less
|
CVS connection, of course. The full CVS file method is less
|
||||||
painful for the winehq cvs server and probably a bit faster
|
painful for the winehq CVS server and probably a bit faster
|
||||||
if you don't have a very good net connection.
|
if you don't have a very good net connection.
|
||||||
</para>
|
</para>
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
If you use Cvs directly from the winehq.com server, do not
|
If you use CVS directly from the winehq.com server, do not
|
||||||
forget to add to your <filename>.cvsrc</filename> file:
|
forget to add to your <filename>.cvsrc</filename> file:
|
||||||
</para>
|
</para>
|
||||||
<screen>
|
<screen>
|
||||||
cvs -z 3
|
cvs -z 3
|
||||||
update -dPA
|
update -dPA
|
||||||
diff -u
|
diff -u
|
||||||
</screen>
|
</screen>
|
||||||
</note>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
you will have now in the <filename>~/wine</filename>
|
you will have now in the <filename>~/wine</filename>
|
||||||
directory an image of the cvs tree, on the client side.
|
directory an image of the CVS tree, on the client side.
|
||||||
Now update this image to the date you want:
|
Now update this image to the date you want:
|
||||||
<screen>
|
<screen>
|
||||||
cd /home/gerard/wine
|
cd /home/gerard/wine
|
||||||
cvs -d $CVSROOT update -D "1999-06-01 EDT"
|
cvs -d $CVSROOT update -D "2002-06-01 CST"
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The date format is <literal>YYYY-MM-DD HH:MM:SS</literal>.
|
The date format is <literal>YYYY-MM-DD HH:MM:SS</literal>.
|
||||||
Using the EDT date format ensure that you will be able to
|
Using the CST date format ensure that you will be able to
|
||||||
extract patches in a way that will be compatible with the
|
extract patches in a way that will be compatible with the
|
||||||
wine-cvs archive : http://www.winehq.com/hypermail/wine-cvs
|
wine-cvs archive
|
||||||
|
<ulink url="http://www.winehq.com/hypermail/wine-cvs">
|
||||||
|
http://www.winehq.com/hypermail/wine-cvs</ulink>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Many messages will inform you that more recent files have
|
Many messages will inform you that more recent files have
|
||||||
been deleted to set back the client cvs tree to the date
|
been deleted to set back the client cvs tree to the date
|
||||||
you asked, for example:
|
you asked, for example:
|
||||||
<screen>
|
<screen>
|
||||||
cvs update: tsx11/ts_xf86dga2.c is no longer in the repository
|
cvs update: tsx11/ts_xf86dga2.c is no longer in the repository
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<command>cvs update</command> is not limited to upgrade to
|
<command>cvs update</command> is not limited to upgrade to
|
||||||
a <emphasis>newer</emphasis> version as I have believed for far too long :-(
|
a <emphasis>newer</emphasis> version as I have believed for
|
||||||
|
far too long :-(
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -107,8 +110,8 @@
|
||||||
Now proceed as for a normal update:
|
Now proceed as for a normal update:
|
||||||
</para>
|
</para>
|
||||||
<screen>
|
<screen>
|
||||||
./configure
|
./configure
|
||||||
make depend && make
|
make depend && make
|
||||||
</screen>
|
</screen>
|
||||||
<para>
|
<para>
|
||||||
If any non-programmer reads this, the fastest method to get
|
If any non-programmer reads this, the fastest method to get
|
||||||
|
@ -118,18 +121,19 @@
|
||||||
April, if not, to 1st October, and so on.
|
April, if not, to 1st October, and so on.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
If you have lot of hard disk free space (a full compile takes
|
If you have lot of hard disk free space (a full compile currently
|
||||||
currently 400 Mb), copy the oldest known working version before
|
takes 400 Mb), copy the oldest known working version before
|
||||||
updating it, it will save time if you need to go back (it's
|
updating it, it will save time if you need to go back. (it's
|
||||||
better to make distclean before going back in time, so you
|
better to <command>make distclean</command> before going back in
|
||||||
have to make everything if you don't backup the older version)
|
time, so you have to make everything if you don't backup the older
|
||||||
|
version)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
When you have found the day where the problem happened, continue
|
When you have found the day where the problem happened, continue
|
||||||
the search using the wine-cvs archive (sorted by date) and a
|
the search using the wine-cvs archive (sorted by date) and a
|
||||||
more precise cvs update including hour, minute, second :
|
more precise cvs update including hour, minute, second :
|
||||||
<screen>
|
<screen>
|
||||||
cvs -d $CVSROOT update -D "1999-06-01 15:17:25 EDT"
|
cvs -d $CVSROOT update -D "2002-06-01 15:17:25 CST"
|
||||||
</screen>
|
</screen>
|
||||||
This will allow you to find easily the exact patch that did it.
|
This will allow you to find easily the exact patch that did it.
|
||||||
</para>
|
</para>
|
||||||
|
@ -137,8 +141,10 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
If you find the patch that is the cause of the problem, you have
|
If you find the patch that is the cause of the problem, you have
|
||||||
almost won; report about it on <systemitem>comp.emulators.windows.wine</systemitem>
|
almost won; report about it to
|
||||||
or susbscribe to wine-devel and post it there. There is a chance that the author
|
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>
|
||||||
|
or susbscribe 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
|
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
|
to look hard at the patch until it is coerced to reveal where is
|
||||||
the bug :-)
|
the bug :-)
|
||||||
|
|
Loading…
Reference in New Issue