lp://qastaging/ubuntu/quantal/checkbox
- Get this branch:
- bzr branch lp://qastaging/ubuntu/quantal/checkbox
Branch merges
Branch information
- Owner:
- Ubuntu branches
- Status:
- Development
Recent revisions
- 54. By Daniel Manrique
-
* New upstream release (LP: #1064504)
[Zygmunt Krynicki]
* checkbox/dbus/__ init__. py, checkbox/ dbus/udisks2. py, checkbox/ heuristics/ ,
checkbox/heuristics/ __init_ _.py, checkbox/ heuristics/ udev.py,
checkbox/heuristics/ udisks2. py, checkbox/ tests/heuristic s.py,
checkbox/udev.py, checkbox/parsers/ udevadm. py, debian/control,
jobs/mediacard. txt.in, scripts/ removable_ storage_ test,
scripts/removable_ storage_ watcher, setup.py: Added udisks2 support
(LP: #1016035) - 53. By Daniel Holbach
-
* New upstream release (LP: #1061359)
* Launchpad automated translation updates* setup.py, qt/checkbox-qt.ui: Removed the old UI design file (LP: #1049912)
* scripts/display_ resource, jobs/resource. txt.in: Added a new display
resource script to properly handle connector names returned by proprietary
drivers (LP: #956139) (LP: #992727)
* jobs/optical.txt.in, scripts/ optical_ write_test: Filter ANSI escape char
outputed by wodim and removed some stray whitespace (LP: #1052803)
* checkbox/parsers/ udevadm. py: Improved wireless devices detection.
The wireless category is now set if the subsystem is equal to ieee80211
(LP: #855382)
* debian/control, jobs/esata.txt.in, jobs/firewire.txt.in, jobs/usb.txt.in,
jobs/mediacard. txt.in: Remove udisks package references in all of the jobs
that use removable_storage scripts (LP: #1059620). Used wrap-and-sort in
debian/control for clarity (Depends).
* scripts/graphics_ driver: Added NVIDIA driver detection (LP: #1060211)
* jobs/cpu.txt.in - add environ field containing
CHECKBOX_DATA to allow that environment variable to be used in the command
(LP: #1049595)
* jobs/wireless.txt.in - replace use of network_ wireless_ test in wireless_scanning
with a simple Bash script using nmcli and delete network_wireless_ test (LP: #900370)
* [UIFe] qt/frontend/qtfront. ui, qt/frontend/ qtfront. cpp - set focus to Continue
button and make it the default so that it can be 'clicked' using Enter,
as well as renaming it to 'continueButton' (LP: #1052506)
* jobs/usb.txt.in - Fix dependencies of USB tests so that things work properly if
the usb/storage-automated test fails (LP: #987876)
* scripts/network_ info - add exception handling to file reading so that
sensible values are given if the required file cannot be read (LP: #823606)
* qt/frontend/qtfront. ui: Fixed warnings when building with
qtcreator (LP: #1053126)
* plugins/suites_ prompt. py: Fixed tree view in selection window (LP: #1056432)
* plugins/apport_ prompt. py: Removed apport plugin that caused crashes
when trying to send bug report (LP: #1047857)
* jobs/optical.txt.in: Fixed missing category assignment in optical
dvd write tests (LP: #1057762)
* jobs/optical.txt.in: Changed optical read/write job commands to use
a more reliable dev path (LP: #990560)
* Added consecutive numbering to messages sent to the backend, so the
frontend knows to discard out-of-sequence messages. (LP: #886118) -
Merged branch
lp://qastaging/~roadmr/ubuntu/quantal/checkbox/0.14.8
- Bug #823606: [network_info_wlan0] test run against wi-fi device that's not associated with an AP causes a traceback
- Bug #855382: Some wireless cards are not reported as being in the WIRELESS category by udev_resource
- Bug #886118: disk detection failed due to insufficient priviledges
- Bug #900370: wireless_scanning should use NetworkManager and not iwconfig/iwlist
- Bug #956139: monitor tests fail to run because display resource doesn't work properly on my laptop with nVidia card
- Bug #987876: [usb/insert,remove] the dependencies are messed up for Precise (it appears)
- Bug #990560: [optical/*write] Test doesn't run properly
- Bug #992727: monitor tests need to accept video output identifiers used by proprietary drivers
- Bug #1047857: checkbox crashes when trying to send bug report
- Bug #1049595: jobs running as root can't use ${CHECKBOX_DATA}
- Bug #1049912: Remove the old checkbox-qt.ui in checkbox trunk
- Bug #1052506: Continue button in the welcome screen is not focused
- Bug #1053126: Build errors for Frontend.ui due do duplicate naming of widgets
- Bug #1056432: Selection window only shows tree one level deep
- Bug #1057762: Missing category assignment in optical dvd write tests
- Bug #1059620: Remove udisks package references in all of the jobs that use removable* scripts
- Bug #1060211: [FFe] graphics_driver script does not report proprietary driver version
- Bug #1061359: Candidate revision checkbox_0.14.8
- 52. By Daniel Manrique
-
* New upstream release (LP: #1057001)
* Launchpad automated translation updates* jobs/audio.txt.in: replaced gconfaudiosink by autoaudiosink (LP: #978895)
* scripts/audio_settings: Added exception handlers to catch problems with
unwritable or absent settings files. jobs/audio.txt.in: Fixed unwritable
setting files locations (LP: #1041644) (LP: #1041340)
* Ensured that strings passed to qtiface.showError via dbus are strings,
and not NoneType as could happen under certain circumstances.
(LP: #1032337)
* scripts/graphics_ modes_info: updated shebang to python3 (LP: #1047515)
* scripts/graphics_ driver, scripts/ color_depth_ info: Added ignoring
possible invalid characters in Xorg logfiles (LP: #1048096)
* scripts/network- device- info: fixed a problem with output causing a
traceback and a problem where modules with improper modules field causes
problems. jobs/networking.txt.in: added requires for pciutils for the
above bugfix (LP: #1042395)
* jobs/suspend.txt.in: Fixed suspend/ suspend_ advanced dependencies to avoid
calling fwts with the live CD (LP: #1045687)
* qt/frontend/qtfront. ui: Fixed the test purpose widget size to allow two
lines of description (LP: #1032255)
* qt/frontend/qtfront. ui: Fixed the progressLabel widget size to support job
names > 50 chars (LP: #1046274)
* Make audio_settings before/after suspend tests more robust by not requiring
every little audio setting to be the same before and after suspend, just
the major ones such as the current source/sink and the mute/volume settings
on them (LP: #1043144)
* scripts/frequency_ governors_ test - Ensure that check for difference in
expected and actual speedup only fails if the actual speedup is less than
the expected speedup (LP: #999547)
* patch/0.14.2: Fixed patch to rmtree instead of rmdir scripts directory.
(LP: #1047883)
* scripts/graphics_ driver: fixed a bug causing the hybrid check to throw an
exception on hybrid systems (LP: #1048058) -
Merged branch
lp://qastaging/~roadmr/ubuntu/quantal/checkbox/0.14.7
- Bug #978895: Checkbox Should Not Use gconfsink for Sound
- Bug #999547: cpu_scaling_test fails even if measured speedup exceeds expected speedup
- Bug #1032255: Test purpose area is too small to support two lines of description
- Bug #1032337: exception when displaying the report validation error message
- Bug #1041340: audio_settings crashed with IOError in store_audio_settings(): [Errno 13] Permission denied: '/usr/share/checkbox/pulseaudio_settings'
- Bug #1041644: audio_settings crashed with IOError in restore_audio_settings(): [Errno 2] No such file or directory: '/usr/share/checkbox/pulseaudio_settings'
- Bug #1042395: network_device_info test driver info could potentially be blank
- Bug #1043144: audio_settings before/after suspend test is too sensitive to minor changes in alsa mixer settings
- Bug #1045687: suspend/suspend_advanced and suspend/suspend_advanced_auto requirements are inverted
- Bug #1046274: progressLabel widget too small to render long job title (>50 chars)
- Bug #1047515: graphics_modes_info crashed with ImportError in /usr/share/checkbox/scripts/graphics_modes_info: No module named checkbox.contrib
- Bug #1047883: 0.14.2 crashed with OSError in main(): [Errno 39] Directory not empty: '/usr/share/checkbox/scripts'
- Bug #1048058: graphics_driver crashed with NameError in hybrid_graphics_check(): global name 'hybrid' is not defined
- Bug #1048096: non-utf8 characters in Xorg.0.log cause color_depth_info and graphics_driver to throw UnicodeDecodeError exception
- Bug #1057001: Candidate revision checkbox_0.14.7
- 51. By Daniel Manrique
-
* New upstream release (LP: #1049130)
* qt/frontend/
images/ checkbox- qt-head. png: updated header image
(LP: #1044035) - 49. By Martin Pitt
-
* New upstream release (LP: #1042911)
* [FEATURE]: qt/frontend/qtfront. cpp, qt/frontend/ qtfront. h,
qt/frontend/qtfront. ui, checkbox_ qt/qt_interface .py: Replaced test result
buttons with radiobuttons, made comment area always visible, and added
keyboard shortcuts. (LP: #1044037) - 48. By Sylvain Pineau
-
* New upstream release (LP: #1039094)
[ Daniel Manrique ]
* New version 0.14.4 for Quantal Quetzal development.
* Added new audio_test and test definitions.[Jeff Lane]
* jobs/esata.txt.in: added tests for removable eSATA drives
scripts/removable_ storage_ test: added support for ata_serial_esata devices
scripts/removable_ storage_ watcher: added support for ata_serial_esata
devices
* scripts/optical_ write_test: changed behaviour to timeout after 5 minutes
rather than a few seconds to give testers a chance to complete the test
without having to sit on top of the machine waiting. If tester doesn't hit
itself and proceed.
jobs/optical. txt.in: Cleared up text in the existing manual optical write
tests and added two automated tests that can be used if desired (they still
require the user to push the tray in after writing, but eliminate other
steps)
* scripts/graphics_ driver: Added this script based to parse Xorg.0.log and
discover the currently running graphics driver and driver version
jobs/graphics. txt.in: Added a new job to take advantage of the
graphics_driver script.
data/whitelists/ default. whitelist: Added the graphics_driver job to the
default whitelist because this would be good data to gather for UF and
doesn't cost much
* scripts/graphics_ driver: Merged Alberto Milone's work on a
hybrid_graphics_ test into graphics_driver as his stuff and my stuff were
similar enough to be in the same script, plus this allows the advantage of
using Bryce Harrington's xorglog library down the road.
* scripts/removable_ storage_ test: removed a lot of unnecessary output to
clean up the test run and also added in some basic performance monitoring.[Sylvain Pineau]
* jobs/graphics.txt.in, jobs/benchmarks .txt.in: Move gtkperk to the benchmarks
section.
* jobs/benchmarks.txt.in, scripts/ wifi_time2recon nect: Add a test to monitor
the time needed to reconnect to a WIFI access point.
* jobs/cpu.txt.in: Added a check for ARM Vector Floating Point Unit support.
* jobs/touchscreen.txt.in: Add 3 new manual tests (tap-detect, drag-n-drop and
multitouch-zoom)
* jobs/audio.txt.in: Added a test that verifies that the various audio
channels are working properly.
* scripts/camera_ test, jobs/camera.txt.in: Replace the call to "xawtv -hwscan"
in camera_test by the VIDIOC_QUERYCAP ioctl, xawtv requirement removed.
* jobs/led.txt.in, jobs/local.txt.in, scripts/led_hdd_ test.py: Add LED
tests.
* jobs/suspend.txt.in: Resurrect scripts/sleep_test as a fallback of fwts for
the suspend/suspend_ advanced test. [Brendan Donegan]
* scripts/audio_settings: Converted script from Perl to Python(3), putting
it in line with approved technology guidelines
* jobs/audio.txt.in: Fixed audio jobs to use --file option of audio_settings
instead of piping to STDOUT.
* Prettify the Step icons that appear next to each test step in the test run
screen (LP: #1036085)
* Remove the 'Don't show this message on startup' checkbox from the
introduction screen, since it isn't used (LP: #1036218)
* Continue to run the progress bar when the test dependencies are being
resolved so that it doesn't look like the UI hung (LP: #1036573)
* Remove gcov_attachment from default whitelist since it depends on lcov
which is not in the default install, and is not used anyway.[Nathan Williams]
* scripts/network_ check: Fixed exception handling in the absence of zenity
(LP: #988260)[Samantha Jian]
* Added disk spindown test script and definition.
* Added support for BT devices on PCI bus. (LP: #1036124)[Jeff Marcom]
* Added Accelerometer test.
* scripts/gst_pipeline_ test, jobs/audio.txt.in: Added device sink check [Matt Fischer]
* Added test to check that volume is within acceptable range and audio
elements are not muted.
* scripts/camera_ test: added the resolutions option to take sample pictures
in all resolutions supported by the specified webcam
jobs/camera. txt.in: added the camera/ multiple- resolution- images test which
utilitizes the changes to the camera_test script[Alberto Milone]
* checkbox/contrib/ gdk.py: Added library for getting gtk.gdk.Screen object
checkbox/contrib/ xrandr. py: Added library for manipulating graphics
settings similar to how xrandr does it.
scripts/brightness_ test: Added automated test to verify that backlight
settings are properly honored
scripts/color_depth_ info: Added script to get info on color depth and pixel
format
scripts/graphics_ modes_info: Added script to gather info on the supported
graphics modes available
scripts/rotation_ test: Added script to automate screen rotation testing
jobs/graphics. txt.in, jobs/monitor. txt.in: Added jobs to take advantage of
the new scripts added to Checkbox[ Sean Feole ]
* scripts/wifi_reconnect_ resume_ test, jobs/wifi_ resume_ time added.
* Fixed an output issue in scripts/wifi_reconnect_ test that was not handled
in the original merge. Also tweaked error messages to be more useful.[Chris Wayne]
* Added in bluetooth_test and related jobs for automated bluetooth
testing - 47. By Mathieu Trudel-Lapierre
-
* New upstream release (LP: #1033652)
* Changed description of PCMCIA/PCIX to PCMCIA/ExpressCard since PCIX
generally applies to servers (LP: #992249)
* Removed call to unlink temporary file in Html5Thread part of gpu_test.
Also addressed a few pyflakes complaints and removed a stray print.
* Include block device name in fields of block_device resource
output. This will prevent different block device fields from being
confused with each other (LP: #1027849)
* Fix apport_prompt.py so it properly checks the value in
/etc/default/ apport (LP: #1029897)
* Initially disable the 'Run' tab in the Qt UI, re-enabling it when the
'Start Testing' has been clicked (LP: #1029815)
* Put Component and Status into one tree view on the selection screen,
rather than two seperate ones (LP: #1030871)
* Disable the Select All and Deselect All buttons in the selection
view during testing (LP: #1032259)
* New version 0.14.3 for Quantal Quetzal development.
* alsa_info is invoked with --no-dialog, otherwise if dialog is installed
it results in invalid data in the submission file and results.
(LP: #1028065)
* Instruct Chromium browser to accept file:// URLs so it can correctly
open the checkbox submission.xml report (LP: #1026614)
* scripts/gconf_resource: decode gconf output as utf-8 rather than ascii
(LP: #1022593)
* jobs/user_apps.txt. in: Quicktime test now depends on gstreamer0. 10-ffmpeg
to ensure it's able to play .mov files (LP: #633009)
* scripts/network_ check: InvalidURL exception is caught and handled more
cleanly (LP: #751701)* jobs/usb.txt.in, scripts/
disk_read_ performance_ test: Add a USB3 read
performance test.
scripts/block_device_ resource: Add the maximum usb specification supported
by both a block device and the corresponding root hub port.
* qt/frontend/qtfront. ui, qt/frontend/ images/ checkbox- qt-head. png:
Add transparency properties to the main window header to keep the main theme
colors in the widget background (LP: #1030857)
* Added timeout to job call for disk smart test.
* Escaping encoded strings in udevadm output (LP: #1025381)
* jobs/cpu.txt.in: added a depends to cpu/scaling_test-log- attach to ensure
that job does not run until afte cpu/scaling_test (LP: #1031994)* scripts/
network_ device_ info: added a check to ensure what lspci reports and
what NetworkManger reports (if it is installed) are the same. Reports more
useful info now like driver and driver version, IP address, etc.
* scripts/cycle_vts: added checks to fail test if chvt returns a non-zero
exit code. Added a final check at the end to verify we did land back on the
original VT after testing.
jobs/miscellanea. txt.in: fixed a typo in the chvt job. It used to reqire
'package.alias' instead of 'package.name' -
Merged branch
lp://qastaging/~roadmr/ubuntu/quantal/checkbox/0.14.3
- Bug #633009: Check Box .mov test fails because there is no .mov support
- Bug #751701: network_check crashed with InvalidURL in _set_hostport(): nonnumeric port: ' text'
- Bug #992249: Mixing PCIX with ExpressCard
- Bug #1022593: gconf_resource crashed with UnicodeDecodeError in get_gconf(): 'ascii' codec can't decode byte 0xc3 in position 2527: ordinal not in range(128)
- Bug #1025381: inconsistent error message when uploading results
- Bug #1026614: Chromium doesn't display XML reports as generated by Checkbox
- Bug #1027849: block_device state attribute evaluated incorrectly
- Bug #1029815: Run tab should provide a helpful message to click on "Start testing" instead of showing an empty page
- Bug #1029897: apport_prompt doesn't properly check the contents of /etc/default/apport
- Bug #1030857: Checkbox header area should match theme selected by user
- Bug #1030871: Components and Status columns in Selection view should be expressed as a single table
- Bug #1031994: cpu_scaling_test log is not being attached.
- Bug #1032259: Select/deselect all buttons remain clickable after starting the tests
- Bug #1033652: Candidate revision checkbox_0.14.3
- 46. By Daniel Manrique
-
* New upstream release (LP: #1025869)
[Jeff Marcom]
* scripts/gpu_test - Fixed potential thread exiting issue.[Javier Collado]
* Fixed detection of circular references in resolver.[Jeff Lane]
* New version 0.14.2 for Quantal Quetzal development.
* jobs/cpu.txt.in: added cpu_scaling_test log attachment job
* jobs/disk.txt.in: modified block_device requirements so they'll work right
jobs/info.txt.in: added block_device resource requirements to hdparm job so
it won't run on removable stuff where it's not necessary.
* jobs/info.txt.in: removed extraneous fwts_log job
jobs/miscellanea. txt.in: modified fwts_results.log job
* scripts/optical_ detect: minor tweak to send error output to stderr
scripts/optical_ read_test: added root user check because this needs to be
run with root privileges. Added some additional output for stderr for
failures so we will know WHY a test or the script failed. Replaced
sys.stdout.write() and flush() calls with simple print statements.
* scripts/ipmi_test: output tweaks so error messages now go to stderr. No BMC
message is a little more clear. Module failed to load now generates an
error rather than a simple exit.
* scripts/network_ device_ info: minor change so that the fail message now
specifies that it was an error and outputs to stderr properly.
* scripts/disk_smart: Improvements to the logging and output during testing.
* scripts/cpu_scaling_ test: lots of output changes using logging module.
renamed script to frequency_governors_ test to be more descriptive and less
confusing. Added a --log option to write logs to an actual file
jobs/cpu.txt.in: added an attachment job to attach the freq_governors log.
Modified cpu/frequency_governors to write to log file
* scripts/cpu_offlining: added an extra bit of output in case of failures.
* scripts/fwts_test: improved console output so that the info displayed in
submission.xml is more useful.
jobs/power-managemen t.txt.in: added job to attach fwts_wakealarm.log to
results.
* scripts/network_ ntp_test: Tweaked output to use log levels more
appropriately. Added some decoding so that bytes output show up as strings
properly in output. Converted from optparse to argparse. Added a root
check because this needs to be root to properly run.
* scripts/disk_read_ performance_ test: Added extra targeted output so that
users can understand what's going on. Moved the exit bits so the test will
actuall run on multiple drives as originally intended and not exit on the
first failure.
* scripts/removable_ storage_ test: vastly improved the output from that script
and also introduced some new error handling to cover a couple conditions
that generated unhelpful tracebacks.
* scripts/memory_ compare: changed the output a little so failures now dump
data to stderr and success to stdout. Also added a try/except block to
catch possible ZeroDivisionError cases if dmi or meminfo return 0 (found on
my local system due to a library issue)
* jobs/power-management. txt.in: improved rtc and tickless idle tests to
provide more useful output, even though they are very simple tests.
* jobs/networking.txt.in: added some output to networking/ multi_nic so a
failure due to unconfigured ifaces generates something beyond a blank line
* scripts/cpu_topology: Changed it so there is less output on success and
more useful output on failure. Fixed a bug in the test for Failure that
caused the False condition to never be met.
* scripts/network_ bandwidth_ test: fleshed out the output to make it a little
more useful in both debug and info levels. Was going to set the
networking/bandwidth job to debug, but the info output should now be
sufficient to begin diagnosing test failures.
* jobs/usb.txt.in: Added output to usb/detect in case no USB controllers are
found. Added dependencies on the udisks package which may not be installed
by default.
debian/control: Added udisks as a suggests for checkbox as it's required
for the USB tests to function.
* scripts/memory_ test: converted from optparse to argparse. Added some extra
stderr output that may be useful if this test fails. redirected some
existing error messages to stderr also
* scripts/disk_stats_ test: some minor changes to output. Also, error output
now goes to stderr on test failure.[Marc Tardif]
* Fixed duplicate jobs appearing in the store when rerunning jobs.
* Fixed packaging to install scripts under /usr/lib.[Daniel Manrique]
* Added a message file format test that does some simplistic checks
on jobs/* files to ensure they are sane.
* Fixed two typos in jobs/suspend.txt.in.
* Merging of translations into job files prior to running message
file format test, to further ensure that translated strings
and field descriptions are parsed correctly.
* Explicit encoding of error strings in Job.execute, so that data returned
is consistent and invokers of this method don't choke on it. (LP:
#1024541)[Brendan Donegan]
* Make a call to rfkill unblock in the create_connection script, incase
those nasty Broadcom drivers have left a soft-block on the wireless after
loading. Also do a bit of refactoring to use check_output and check_call
instead of Popen (LP: #1019162)
* Move the call to unblock to before the connection is created
* Reimplemented memory_compare in python3 and restructured it to put
things into dictionaries for easy access. Also fixed bug with detecting
non-RAM devices as RAM. (LP: #960087)
* Wait longer to get the window handle in gpu_test, so that we don't fall foul
of timing issues. (LP: #1018563)
* Catch exception raised in memory_compare by DMI RAM entries with No Module
Installed in the Size field (LP: #1023220)
* Also unblock wireless before wireless_scanning test, as I neglected to do
this before. (LP: #1023619)
* Replace Flash video playback with HTML5 video playback. This has better
support in Ubuntu and is more relevant (LP: #1024078)[Sylvain Pineau]
* Add the firmware version (BIOS or UEFI) to the XML report. -
Merged branch
lp://qastaging/~roadmr/ubuntu/quantal/checkbox/0.14.2
- Bug #960087: memory_compare should be more strict about which devices it chooses to consider 'RAM' chips
- Bug #1018563: suspend/gpu_lockup_after_suspend test never finishes
- Bug #1019162: wireless tests fail due to soft-block being engaged on Broadcom wireless systems
- Bug #1023220: memory_compare script crashes if a system has empty RAM slots
- Bug #1023619: wireless_scanning test fails when wireless is soft-blocked on Broadcom systems
- Bug #1024078: gpu_lockup should use HTML5 video instead of Flash video
- Bug #1024541: Jobs whose commands can't be found or exit with signals result in strange behavior and dead backends
- Bug #1025869: Candidate revision checkbox_0.14.2
- 45. By Javier Collado
-
* New upstream release (LP: #1018571)
[Brendan Donegan]
* Fixed up a few things with the gpu_lockup tests. Removed depends,
renamed to gpu_lockup_suspend to reflect behaviour and removed the
requirement on Firefox
* Changed suspend_advanced and suspend_advanced_ auto to use less
strict definition of fwts s3 test.[Javier Collado]
* Make sure that jobs are topologically ordered (LP: #990075)
* Keep job ordering as close to whitelist as possible (LP: #1017951)[Marc Tardif]
* New version 0.14.1 for Quantal Quetzal development.
* jobs/suspend.txt.in: Fixed trailing newline on otherwise empty line.
* scripts/run_templates: Fixed calls to Popen to use universal_newlines
to return strings instead of bytes (LP: #1018354)[Daniel Manrique]
* Fixed duplicate suspend/bluetooth_ obex_after_ suspend job name.
* scripts/dpkg_resource: Changed encoding from ascii to utf-8 to handle
non-ascii locales (LP: #1018353)[Jeff Lane]
* Migrated audio/external-HDMI-playback into checkbox. Modified the
command to match our other audio tests that save and reset mixer
levels.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)