B.3. Wie Regressionstests mit Subversion durchgeführt werden
Zurück | Anhang B. Wie Fehler (Bugs) berichtet werden | Weiter

## B.3. Wie Regressionstests mit Subversion durchgeführt werden

Ein Problem, das manchmal auftreten kann ist "es hat vorher funktioniert, jetzt nicht mehr...". Hier ist eine Schritt-für-Schritt-Prozedur, um herauszufinden, wann das Problem aufgetreten ist. Dies ist nicht für gelegentliche Benutzer.

Zuerst musst du dir MPlayers Sourcenverzeichnis aus dem Subversion-Repository besorgen. Eine Anleitung hierzu kann unten auf dieser Seite gefunden werden.

Du wirst dann im mplayer/-Verzeichnis ein Abbild des Subversion-Baums auf der Client-Seite haben. Führe jetzt ein Update für dieses Abbild durch auf das Datum, das du möchtest:

    cd mplayer/
    svn update -r {"2004-08-23"}

Das Datumsformat ist YYYY-MM-DD HH:MM:SS. Die Benutzung des Datumsformats stellt sicher, dass du in der Lage sein wirst, Patches anhand des Datums, an dem sie eingespielt wurden, extrahieren kannst, wie im MPlayer-cvslog-Archiv.

Gehe nun vor wie bei einem normalen Update:

    ./configure
    make

Falls ein Nicht-Programmierer dies liest: Der schnellste Weg, an den Punkt zu gelangen, wo das Problem auftrat ist eine Binärsuche — das bedeutet: Suche das Datum der Bruchstelle, indem du das Suchintervall wiederholt halbierst. Zum Beispiel, wenn das Problem 2003 auftrat, starte in der Mitte des Jahres und frage "Ist das Problem schon da?". Wenn ja, gehe zurück zum 1. April; wenn nicht, gehe zum 1. Oktober und so weiter.

Wenn du viel Festplattenspeicher frei hast (eine vollständige Compilierung benötigt momentan 100 MB, und ungefähr 300-350 MB, wenn Debugging-Symbole mit dabei sind), kopiere vor einem Update die älteste Version, von der bekannt ist, dass sie funktioniert; das spart Zeit, wenn du zurückgehen musst. (Es ist normalerweise nicht nötig, 'make distclean' vor einer erneuten Compilierung einer früheren Version auszuführen. Wenn du also keine Backup-Kopie deines Original-Sourcebaums machst, wirst du alles neu compilieren müssen, wenn du beim gegenwärtigen wieder angekommen bist.)

Wenn du den Tag gefunden hast, an dem das Problem auftrat, fahre mit der Suche mit dem mplayer-cvslog-Archiv (sortiert nach Datum) und einem genaueren svn update, welches Stunde, Minute und Sekunde beinhaltet, fort:

    svn update -r {"2004-08-23 15:17:25"}

Dies wird dir erlauben, den genauen verursachenden Patch leicht zu finden.

Wenn du den Patch gefunden hast, der Ursache des Problems ist, hast du fast gewonnen; Berichte darüber im MPlayer Bugzilla-System oder melde dich bei MPlayer-users an schicke es dort ein. Es gibt eine Chance, dass der Autor einspringt und eine Lösung vorschlägt. Du kannst auch einen genauen Blick auf den Patch werden, bis er genötigt ist, zu offenbaren, wo der Fehler ist :-).

Zurück | Nach oben | Weiter
B.2. Wie Fehler beseitigt werden | Zum Anfang | B.4. Wie Fehler berichtet werden