Running tests
Read about the Submit repo here. |
(C) Compiler (G) GC (R) Runtime
|
The
The |
When a change is identified that causes a regression and the best way to handle it is to back out the change, anyone can do so. It will still go through the standard code review process, but is considered a trivial change and thus it requires only one Reviewer and will avoid the 24h code review window. The idea here is to save time by not having a broken change hindering others. There is also the rationale that the change itself is automatically created by hg, and reviewed by the person who is performing the backout, so only one additional reviewer is required. There are two parts to this task, how to do the bookkeeping in JBS, and how to do the actual backout in mercurial. How to work with JBS when a change is backed out
How to work with mercurial when a change is backed outIn order to backout a change, the
|
To remove noise from our testing, tests that are expected to fail are quarantined or excluded. A quarantined test is removed from standard runs, but run in a separate job. Excluded tests are not run. Test quarantines are done in the file Quarantine jtreg testsUse Example where MyTest.java is excluded on windows, tracked by bug JDK-4711:
Exclude jtreg testsUse Example where MyTest.java is excluded, tracked by bug JDK-4711:
|
Any rule, any process has exceptions. And in some cases it is better to live with a potential failure and integrate anyway. It should of course be used in rare cases only, for example when it is more important to continue to run the test, and thus at the same time accept the failure. A typical example is an intermittent failure like an intermittent crash (say once a month) in a large system test, or if more info is needed, possibly diagnostics are added to the test, and the risk of not running it is high.
Label the bug with hs-nightly-quarantine-exception.
|
There are a few ways to figure out if a problem has already escaped a repository:
|
|
If a main bug is targeted to a release and the fix is pushed to a different release, then a backport bug is automatically created. Usually this is a "good thing", e.g., when you are really backporting a fix to an earlier release, but not always... If the main bug is targeted to a later release (due to schedule planning), but someone finds the time to fix that bug in the current release, then the bug should be retargeted to the current release before pushing the fix. However, sometimes we forget to do that. Here is how to fix that:
|
There are several ways to find out if a change has been integrated to
Or, if you don't have a recent clone of
|