File: bugreports_regression_test.html

package info (click to toggle)
mplayer 1.0~rc1-12etch7
  • links: PTS
  • area: main
  • in suites: etch
  • size: 47,324 kB
  • ctags: 86,269
  • sloc: ansic: 580,415; xml: 107,529; sh: 7,643; makefile: 2,860; asm: 2,206; cpp: 1,034; objc: 865; awk: 234; perl: 82
file content (64 lines) | stat: -rw-r--r-- 6,068 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>A.3.How to do regression testing using Subversion</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="MPlayer - The Movie Player"><link rel="up" href="bugreports.html" title="AppendixA.How to report bugs"><link rel="prev" href="bugreports_fix.html" title="A.2.How to fix bugs"><link rel="next" href="bugreports_report.html" title="A.4.How to report bugs"><link rel="preface" href="howtoread.html" title="How to read this documentation"><link rel="chapter" href="intro.html" title="Chapter1.Introduction"><link rel="chapter" href="install.html" title="Chapter2.Installation"><link rel="chapter" href="usage.html" title="Chapter3.Usage"><link rel="chapter" href="cd-dvd.html" title="Chapter4.CD/DVD usage"><link rel="chapter" href="faq.html" title="Chapter5.Frequently Asked Questions"><link rel="chapter" href="containers.html" title="Chapter6.Containers"><link rel="chapter" href="codecs.html" title="Chapter7.Codecs"><link rel="chapter" href="video.html" title="Chapter8.Video output devices"><link rel="chapter" href="audio.html" title="Chapter9.Audio output devices"><link rel="chapter" href="tv.html" title="Chapter10.TV"><link rel="chapter" href="radio.html" title="Chapter11.Radio"><link rel="chapter" href="ports.html" title="Chapter12.Ports"><link rel="chapter" href="mencoder.html" title="Chapter13.Basic usage of MEncoder"><link rel="chapter" href="encoding-guide.html" title="Chapter14.Encoding with MEncoder"><link rel="appendix" href="bugreports.html" title="AppendixA.How to report bugs"><link rel="appendix" href="bugs.html" title="AppendixB.Known bugs"><link rel="appendix" href="skin.html" title="AppendixC.MPlayer skin format"><link rel="appendix" href="history.html" title="AppendixD.History"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A.3.How to do regression testing using Subversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bugreports_fix.html">Prev</a></td><th width="60%" align="center">AppendixA.How to report bugs</th><td width="20%" align="right"><a accesskey="n" href="bugreports_report.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_regression_test"></a>A.3.How to do regression testing using Subversion</h2></div></div></div><p>
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 <span class="bold"><strong>not</strong></span> for casual users.
</p><p>
First, you'd need to fetch MPlayer's source tree from Subversion.
Instructions can be found at the bottom of
<a href="http://www.mplayerhq.hu/dload.html" target="_top">this page</a>.
</p><p>
You will have now in the mplayer/ directory an image of the Subversion tree, on the
client side.
Now update this image to the date you want:
</p><pre class="screen">
cd mplayer/
svn update -r {"2004-08-23"}
</pre><p>
The date format is YYYY-MM-DD HH:MM:SS.
Using this date format ensure that you will be able to extract patches
according to the date at which they were committed, as in the
<a href="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/" target="_top">MPlayer-cvslog archive</a>.
</p><p>
Now proceed as for a normal update:
</p><pre class="screen">
./configure
make
</pre><p>
</p><p>
If any non-programmer reads this, the fastest method to get at the point
where the problem occurred is to use a binary search &#8212; that is,
search the date of the breakage by repeatedly dividing the search
interval in half.
For example, if the problem occurred in 2003, start at mid-year, then ask
"Is the problem already here?".
If yes, go back to the first of April; if not, go to the first of October,
and so on.
</p><p>
If you have lot of free hard disk space (a full compile currently takes
100 MB, and around 300-350 MB if debugging symbols are enabled), copy the
oldest known working version before updating it; this will save time if
you need to go back.
(It is usually necessary to run 'make distclean' before recompiling an
earlier version, so if you do not make a backup copy of your original
source tree, you will have to recompile everything in it when you come
back to the present.)
</p><p>
When you have found the day where the problem happened, continue the search
using the mplayer-cvslog archive (sorted by date) and a more precise svn
update including hour, minute and second:
</p><pre class="screen">
svn update -r {"2004-08-23 15:17:25"}
</pre><p>
This will allow you to easily find the exact patch that did it.
</p><p>
If you find the patch that is the cause of the problem, you have almost won;
report about it to the
<a href="http://bugzilla.mplayerhq.hu/" target="_top">MPlayer Bugzilla</a> or
subscribe to 
<a href="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users" target="_top">MPlayer-users</a>
and post it there.
There is a chance that the author will jump in to suggest a fix.
You may also look hard at the patch until it is coerced to reveal where
the bug is :-).
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bugreports_fix.html">Prev</a></td><td width="20%" align="center"><a accesskey="u" href="bugreports.html">Up</a></td><td width="40%" align="right"><a accesskey="n" href="bugreports_report.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">A.2.How to fix bugs</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">A.4.How to report bugs</td></tr></table></div></body></html>