Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Reformat to 80 columns

  • Loading branch information...
commit 386af765aa04aecfeffc3d7801709a3b44674083 1 parent 852a00f
Christian Holler (:decoder) choller authored

Showing 1 changed file with 42 additions and 13 deletions. Show diff stats Hide diff stats

  1. +42 13 README
55 README
... ... @@ -1,40 +1,69 @@
1 1 == What JSBugMon is ==
2 2
3   -JSBugMon is a tool for automated tracking of JavaScript engine bug reports in Mozilla's Bugzilla database. It is capable of automatically extracting tests from bug reports that crash or assert. It is also able to extract the affected revision, guess required runtime options and architecture and determine what build type is required to reproduce.
  3 +JSBugMon is a tool for automated tracking of JavaScript engine bug reports in
  4 +Mozilla's Bugzilla database. It is capable of automatically extracting tests
  5 +from bug reports that crash or assert. It is also able to extract the affected
  6 +revision, guess required runtime options and architecture and determine what
  7 +build type is required to reproduce.
4 8
5 9 == What JSBugMon needs to track a bug ==
6 10
7   -In order to track a bug, JSBugMon must first be able to find a working test (that crashes or asserts). The test can be an attachment to the bug or be part of the first comment (comment 0), even if the comment includes other text that does not belong to the test. The second requirement is an HG revision specified in comment 0.
  11 +In order to track a bug, JSBugMon must first be able to find a working test
  12 +(that crashes or asserts). The test can be an attachment to the bug or be part
  13 +of the first comment (comment 0), even if the comment includes other text that
  14 +does not belong to the test. The second requirement is an HG revision specified
  15 +in comment 0.
8 16
9   -Using this data, JSBugMon will try to build a JS shell with the specified HG revision and try to reproduce the problem using the given test. It try different build types, runtime options and architectures, but will prefer the architecture specified in the bug. If tracking for a bug was requested, but JSBugMon was not able to reproduce/track the bug, it will state this in the bug comments.
  17 +Using this data, JSBugMon will try to build a JS shell with the specified HG
  18 +revision and try to reproduce the problem using the given test. It try different
  19 +build types, runtime options and architectures, but will prefer the architecture
  20 +specified in the bug. If tracking for a bug was requested, but JSBugMon was not
  21 +able to reproduce/track the bug, it will state this in the bug comments.
10 22
11 23 == How JSBugMon can be used ==
12 24
13   -While Mozilla's JSBugMon instance performs several tasks on its own and fully automatic (e.g. verification of fixed security bugs), most interaction needs to be explicitly requested using the whiteboard. Commands for JSBugMon are added in the whiteboard with a special tag that looks like this:
  25 +While Mozilla's JSBugMon instance performs several tasks on its own and fully
  26 +automatic (e.g. verification of fixed security bugs), most interaction needs to
  27 +be explicitly requested using the whiteboard. Commands for JSBugMon are added in
  28 +the whiteboard with a special tag that looks like this:
14 29
15 30 [jsbugmon:cmd1,cmd2,cmd3...]
16 31
17 32
18 33 Valid commands are:
19 34
20   -update - The most basic command, it requests tracking for the bug. JSBugMon will first attempt to reproduce the bug. If reproduction fails, it will comment and unset the update flag. If reproduction succeeds, it will remain quiet and comment once the bug no longer reproduces.
  35 +update - The most basic command, it requests tracking for the bug. JSBugMon will
  36 + first attempt to reproduce the bug. If reproduction fails, it will comment and
  37 + unset the update flag. If reproduction succeeds, it will remain quiet and
  38 + comment once the bug no longer reproduces.
21 39
22   -reconfirm - Only valid together with the update command. It will perform the same steps as for tracking, but even on successful reproduction, it will comment in the bug. After doing so, it will ignore the bug (by setting the ignore flag, see below) until otherwise requested.
  40 +reconfirm - Only valid together with the update command. It will perform the
  41 + same steps as for tracking, but even on successful reproduction, it will comment
  42 + in the bug. After doing so, it will ignore the bug (by setting the ignore flag,
  43 + see below) until otherwise requested.
23 44
24   -ignore - JSBugMon will ignore any bug that has this command in it, regardless of other commands. JSBugMon also sets this flag automatically after certain commands.
  45 +ignore - JSBugMon will ignore any bug that has this command in it, regardless of
  46 + other commands. JSBugMon also sets this flag automatically after certain
  47 + commands.
25 48
26   -bisect - This command will cause JSBugMon to perform a bisection to find the regressing changeset (the changeset that introduced the bug).
  49 +bisect - This command will cause JSBugMon to perform a bisection to find the
  50 + regressing changeset (the changeset that introduced the bug).
27 51
28   -bisectfix - This command will cause JSBugMon to perform a bisection to find the fixing changeset in case the bug does no longer reproduce.
  52 +bisectfix - This command will cause JSBugMon to perform a bisection to find the
  53 + fixing changeset in case the bug does no longer reproduce.
29 54
30   -verify-branch=b1;b2;b3.. - Using this command, it is possible to check if the test reproduces on one or more specified branches (e.g. mozilla-aurora). JSBugMon will comment with the result for every branch in the bug.
  55 +verify-branch=b1;b2;b3.. - Using this command, it is possible to check if the
  56 + test reproduces on one or more specified branches (e.g. mozilla-aurora).
  57 + JSBugMon will comment with the result for every branch in the bug.
31 58
32 59
33 60
34 61 == What JSBugMon currently supports (or does not support) ==
35 62
36   -JSBugMon currently only works with regular 32 and 64 bit Linux builds. It does not support:
  63 +JSBugMon currently only works with regular 32 and 64 bit Linux builds. It does
  64 +not support:
37 65
38   - * Threadsafe builds
39   - * Builds with additional flags like --enable-more-determinism, --enable-root-analysis
  66 + * Threadsafe builds
  67 + * Builds with additional flags like --enable-more-determinism
  68 + or --enable-root-analysis
40 69 * Checking a test with Valgrind or ASan

0 comments on commit 386af76

Please sign in to comment.
Something went wrong with that request. Please try again.