Difference between revisions of "Thunderbird Bug Fix Lab"

From CDOT Wiki
Jump to: navigation, search
(Instructions)
Line 3: Line 3:
 
This lab is designed to give you first-hand experience working through a real bug, from confirming to fixing to submitting a patch.  You will also get experience building and working with Thunderbird, which shares much of the same code with Firefox.
 
This lab is designed to give you first-hand experience working through a real bug, from confirming to fixing to submitting a patch.  You will also get experience building and working with Thunderbird, which shares much of the same code with Firefox.
  
== Instructions ==
+
== Introduction ==
  
 
A friend has told you about something they don't like in Mozilla Thunderbird.  "I got an email today, and it made a hyperlink out of some text that shouldn't have been underlined."
 
A friend has told you about something they don't like in Mozilla Thunderbird.  "I got an email today, and it made a hyperlink out of some text that shouldn't have been underlined."
Line 18: Line 18:
 
  I'll tentatively schedule 3:30 on Wednesday.
 
  I'll tentatively schedule 3:30 on Wednesday.
 
  We'll come to [mailto:S@Y...where S@Y...where] should we meet?
 
  We'll come to [mailto:S@Y...where S@Y...where] should we meet?
 +
 +
You rightly identify this as a bug to your friend, and offer to try and fix it.
 +
 +
== Instructions ==
 +
 +
# File a '''dummy bug''' using Mozilla's [http://landfill.mozilla.org/bugzilla-3.0-branch/ test bugzilla].  NOTE: use '''Unclassified''' and '''dump unwanted bugs here'''.
 +
# Do a '''debug''' build of '''Thunderbird'''.  NOTE: you can obtain a build from your professor if something goes wrong.
 +
# Confirm the existence of this bug.  TIP: try creating a message with the text above, saving it to '''Drafts''', then open in '''Drafts''' to see how it gets rendered.
 +
# Fix the bug.  HINT: <code>mozilla/netwerk/streamconv/converters/mozTXTToHTMLConv.cpp</code>
 +
# Create a patch
 +
# Attach your patch to the dummy bug you filed in step 1
 +
# Get your patch reviewed by a classmate or your professor
  
 
== Resources ==
 
== Resources ==
 
* [http://developer.mozilla.org/en/docs/Creating_a_patch Creating a patch for Mozilla]
 
* [http://developer.mozilla.org/en/docs/Creating_a_patch Creating a patch for Mozilla]
* [http://developer.mozilla.org/devnews/index.php/2007/07/10/getting-a-patch-checked-in/ Instructions for getting a patch checked into the tree]
 
* There are many tutorials on using diff/patch, for example [http://tools.devchannel.org/devtoolschannel/04/06/02/1521207.shtml?tid=46 this one].
 

Revision as of 20:49, 4 November 2007

Overview

This lab is designed to give you first-hand experience working through a real bug, from confirming to fixing to submitting a patch. You will also get experience building and working with Thunderbird, which shares much of the same code with Firefox.

Introduction

A friend has told you about something they don't like in Mozilla Thunderbird. "I got an email today, and it made a hyperlink out of some text that shouldn't have been underlined."

Here is the text of the email:

Does Wednesday aft. work for you?
I'll tentatively schedule for 3:30 on Wednesday.
We'll come to S@Y...where should we meet?

which is being displayed as follows in Thunderbird:

Does Wednesday aft. work for you?
I'll tentatively schedule 3:30 on Wednesday.
We'll come to S@Y...where should we meet?

You rightly identify this as a bug to your friend, and offer to try and fix it.

Instructions

  1. File a dummy bug using Mozilla's test bugzilla. NOTE: use Unclassified and dump unwanted bugs here.
  2. Do a debug build of Thunderbird. NOTE: you can obtain a build from your professor if something goes wrong.
  3. Confirm the existence of this bug. TIP: try creating a message with the text above, saving it to Drafts, then open in Drafts to see how it gets rendered.
  4. Fix the bug. HINT: mozilla/netwerk/streamconv/converters/mozTXTToHTMLConv.cpp
  5. Create a patch
  6. Attach your patch to the dummy bug you filed in step 1
  7. Get your patch reviewed by a classmate or your professor

Resources