tests/test-mq-guards.out
author Jim Hague <jim.hague@acm.org>
Fri, 09 Jan 2009 22:15:08 +0000
changeset 7618 6c89dd0a7797
parent 7398 2cd1308cb588
child 7627 fb32ae9c76e7
permissions -rw-r--r--
Bugzilla 2.18 and on use contrib/sendbugmail.pl, not processmail. During 2.17, Bugzilla ditched the old 'processmail' script. With 2.18 contrib/sendbugmail.pl arrived in its place. For notification emails to work properly, sendbugmail.pl requires as its second parameter the Bugzilla user who made the commit. Otherwise the user will not be recognised as the committer, and will receive notification emails about the commit regardless of their preference about being notified on their own commits. This parameter should be given to processmail also, but wasn't for historical reasons. Add new config with the local Bugzilla install directory, and provide defaults for the notify string which should work for most setups. Still permit notify string to be specified, and for backwards compatibility with any extant notify strings try first interpolating notify string with old-style single bug ID argument. Add new 2.18 support version to introduce sendbugmail.pl. In other words, this update should be backwards-compatible with existing installations, but offers simplified setup in most cases. And as a bonus Bugzilla notification emails will be dispatched correctly; notifiers will not receive an email unless configured to do so.

adding x
Patch queue now empty
% should fail
abort: no patch named does-not-exist.patch
% should fail
abort: no patches applied
applying a.patch
Now at: a.patch
% should guard a.patch
% should print +a
a.patch: +a
Patch queue now empty
% should fail
cannot push 'a.patch' - guarded by ['+a']
a.patch: +a
% should push b.patch
applying b.patch
Now at: b.patch
Patch queue now empty
% test selection of an empty guard
abort: guard cannot be an empty string
number of unguarded, unapplied patches has changed from 2 to 3
% should push a.patch
applying a.patch
Now at: a.patch
% should print -a
c.patch: -a
% should skip c.patch
applying b.patch
skipping c.patch - guarded by '-a'
Now at: b.patch
% should display b.patch
b.patch
% should push c.patch
applying c.patch
Now at: c.patch
Patch queue now empty
guards deactivated
number of unguarded, unapplied patches has changed from 3 to 2
% should push all
applying b.patch
applying c.patch
Now at: c.patch
Patch queue now empty
number of unguarded, unapplied patches has changed from 1 to 2
% should push a.patch, not b.patch
applying a.patch
Now at: a.patch
applying c.patch
Now at: c.patch
Patch queue now empty
% should push b.patch
applying b.patch
Now at: b.patch
applying c.patch
Now at: c.patch
c.patch
Patch queue now empty
number of unguarded, unapplied patches has changed from 2 to 3
% should push a.patch, b.patch
applying a.patch
Now at: a.patch
applying b.patch
Now at: b.patch
Patch queue now empty
number of unguarded, unapplied patches has changed from 3 to 2
% list patches and guards
a.patch: +1 +2 -3
b.patch: +2
c.patch: unguarded
% list series
0 G a.patch
1 U b.patch
2 U c.patch
% list guards
1
2
3
% should push b.patch
applying b.patch
Now at: b.patch
applying c.patch
Now at: c.patch
guards deactivated
popping guarded patches
Patch queue now empty
reapplying unguarded patches
applying c.patch
Now at: c.patch
% guards in series file: +1 +2 -3
+1
+2
-3
% should show c.patch
c.patch
% should show :
% new.patch: +1 +2 -3
% b.patch: +2
% c.patch: unguarded
new.patch: +1 +2 -3
b.patch: +2
c.patch: unguarded
Now at: c.patch
% should show new.patch and b.patch as Guarded, c.patch as Applied
% and d.patch as Unapplied
0 G new.patch
1 G b.patch
2 A c.patch
3 U d.patch
% new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded.
0 G new.patch
1 G b.patch
2 A c.patch
3 G d.patch
Patch queue now empty
new.patch: +1 +2 -3
b.patch: +2
c.patch: unguarded
d.patch: +2
% hg qapplied
% hg qapplied -v
% hg qunapplied
c.patch
% hg qunapplied -v
0 G new.patch
1 G b.patch
2 U c.patch
3 G d.patch
number of unguarded, unapplied patches has changed from 1 to 2
% hg qapplied
% hg qapplied -v
% hg qunapplied
new.patch
c.patch
% hg qunapplied -v
0 U new.patch
1 G b.patch
2 U c.patch
3 G d.patch
applying new.patch
skipping b.patch - guarded by ['+2']
applying c.patch
skipping d.patch - guarded by ['+2']
Now at: c.patch
% hg qapplied
new.patch
c.patch
% hg qapplied -v
0 A new.patch
1 G b.patch
2 A c.patch
% hg qunapplied
% hg qunapplied -v
3 G d.patch
number of unguarded, unapplied patches has changed from 0 to 1
number of guarded, applied patches has changed from 1 to 0
% hg qapplied
new.patch
c.patch
% hg qapplied -v
0 A new.patch
1 U b.patch
2 A c.patch
% hg qunapplied
d.patch
% hg qunapplied -v
3 U d.patch
% hg qapplied new.patch
new.patch
% hg qunapplied new.patch
b.patch
d.patch
% hg qapplied b.patch
new.patch
% hg qunapplied b.patch
d.patch
% hg qapplied c.patch
new.patch
c.patch
% hg qunapplied c.patch
d.patch
% hg qapplied d.patch
new.patch
c.patch
% hg qunapplied d.patch
% hg qseries -m: only b.patch should be shown
the guards file was not ignored in the past
b.patch