apport-hackers team mailing list archive
-
apport-hackers team
-
Mailing list archive
-
Message #00279
[Merge] lp:~didrocks/apport/whoopsie-auto-ui into lp:apport
Didier Roche has proposed merging lp:~didrocks/apport/whoopsie-auto-ui into lp:apport.
Commit message:
Remember option so that users can diminish crash interactions
Requested reviews:
Apport upstream developers (apport-hackers)
Related bugs:
Bug #1778497 in apport (Ubuntu): "Add a remember option to whoopsie so that users can diminish crash interactions"
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1778497
For more details, see:
https://code.launchpad.net/~didrocks/apport/whoopsie-auto-ui/+merge/348479
Add and adapt test for a "remember" option, which is reported by the UI,
to tell that we want to store the send/don't send option.
Ensure that Relaunch/Force close/Leave close additional buttons are
changed to a checkbox, and that additional Cancel button is never shown,
as being redundant with don't send if enable reporting is possible.
If enable reporting isn't enabled, leave it to "Continue".
Finally, additional labels to propose Sending the report.
--
Your team Apport upstream developers is requested to review the proposed merge of lp:~didrocks/apport/whoopsie-auto-ui into lp:apport.
=== modified file 'apport/fileutils.py'
--- apport/fileutils.py 2016-12-10 11:28:27 +0000
+++ apport/fileutils.py 2018-06-25 16:12:21 +0000
@@ -25,14 +25,15 @@
report_dir = os.environ.get('APPORT_REPORT_DIR', '/var/crash')
_config_file = '~/.config/apport/settings'
-_whoopsie_config_file = '/etc/default/whoopsie'
def allowed_to_report():
'''Check whether crash reporting is enabled.'''
- return get_config('General', 'report_crashes', default=True,
- path=_whoopsie_config_file, bool=True)
+ try:
+ return subprocess.call(["/bin/systemctl", "-q", "is-enabled", "whoopsie.service"]) == 0
+ except OSError:
+ return False
def find_package_desktopfile(package):
=== modified file 'apport/ui.py'
--- apport/ui.py 2018-05-09 23:28:31 +0000
+++ apport/ui.py 2018-06-25 16:12:21 +0000
@@ -305,6 +305,8 @@
self.restart()
if response['blacklist']:
self.report.mark_ignore()
+ if response['remember']:
+ self.remember_send_report(response['report'])
if not response['report']:
return
@@ -916,6 +918,26 @@
self.ui_run_terminal(cmds[response[0]])
+ def remember_send_report(self, send_report):
+ '''Put whoopsie in auto or never mode'''
+ if send_report:
+ send_report = "true"
+ else:
+ send_report = "false"
+ try:
+ subprocess.check_output(['/usr/bin/gdbus', 'call', '-y',
+ '-d', 'com.ubuntu.WhoopsiePreferences',
+ '-o', '/com/ubuntu/WhoopsiePreferences',
+ '-m', 'com.ubuntu.WhoopsiePreferences.SetReportCrashes', send_report])
+ subprocess.check_output(['/usr/bin/gdbus', 'call', '-y',
+ '-d', 'com.ubuntu.WhoopsiePreferences',
+ '-o', '/com/ubuntu/WhoopsiePreferences',
+ '-m', 'com.ubuntu.WhoopsiePreferences.SetAutomaticallyReportCrashes', 'true'])
+ except (OSError, subprocess.CalledProcessError) as e:
+ self.ui_error_message(_("Can't remember send report status settings"), '%s\n\n%s' % (
+ _("Saving crash reporting state failed. Canno't set auto or never reporting mode/"),
+ excstr(e)))
+
def check_report_crashdb(self):
'''Process reports' CrashDB field, if present'''
=== modified file 'bin/apport-cli'
--- bin/apport-cli 2017-11-08 20:50:21 +0000
+++ bin/apport-cli 2018-06-25 16:12:21 +0000
@@ -212,7 +212,7 @@
while True:
response = dialog.run()
- return_value = {'restart': False, 'blacklist': False,
+ return_value = {'restart': False, 'blacklist': False, 'remember': False,
'report': False, 'examine': False}
if response == examine:
return_value['examine'] = True
=== modified file 'gtk/apport-gtk'
--- gtk/apport-gtk 2016-12-18 12:51:13 +0000
+++ gtk/apport-gtk 2018-06-25 16:12:21 +0000
@@ -75,6 +75,7 @@
self.md = None
self.desktop_info = None
+ self.allowed_to_report = True
#
# ui_* implementation of abstract UserInterface classes
@@ -180,15 +181,11 @@
_('Send problem report to the developers?'))
self.w('title_label').show()
self.w('subtitle_label').hide()
- self.w('closed_button').hide()
self.w('ignore_future_problems').hide()
self.w('show_details').clicked()
self.w('show_details').hide()
- self.w('cancel_button').show()
- self.w('cancel_button').connect('clicked', Gtk.main_quit)
+ self.w('dont_send_button').show()
self.w('continue_button').set_label(_('Send'))
- self.w('send_error_report').set_active(True)
- self.w('send_error_report').hide()
def set_modal_for(self, xid):
gdk_window = self.w('dialog_crash_new')
@@ -207,18 +204,20 @@
self.w('show_details').set_label(_('Show Details'))
self.tree_model.clear()
- if allowed_to_report:
- self.w('send_error_report').set_active(True)
- self.w('send_error_report').show()
+ self.allowed_to_report = allowed_to_report
+ if self.allowed_to_report:
+ self.w('remember_send_report_choice').show()
+ self.w('send_problem_notice_label').set_label(
+ '<b>%s</b>' % self.w('send_problem_notice_label').get_label())
+ self.w('send_problem_notice_label').show()
+ self.w('dont_send_button').grab_focus()
else:
- self.w('send_error_report').set_active(False)
- self.w('send_error_report').hide()
+ self.w('dont_send_button').hide()
+ self.w('continue_button').set_label(_('Continue'))
+ self.w('continue_button').grab_focus()
self.w('examine').set_visible(self.can_examine_locally())
- self.w('continue_button').set_label(_('Continue'))
-
- self.w('cancel_button').hide()
if modal_for is not None and 'DISPLAY' in os.environ:
xid = find_xid_for_pid(modal_for)
if xid:
@@ -227,9 +226,8 @@
if report_type == 'Hang' and self.offer_restart:
self.w('ignore_future_problems').set_active(False)
self.w('ignore_future_problems').hide()
- self.w('closed_button').show()
- self.w('closed_button').set_label(_('Force Closed'))
- self.w('continue_button').set_label(_('Relaunch'))
+ self.w('relaunch_app').set_active(True)
+ self.w('relaunch_app').show()
self.w('subtitle_label').show()
self.w('subtitle_label').set_label(
'You can wait to see if it wakes up, or close or relaunch it.')
@@ -245,13 +243,14 @@
title = _('The program "%s" has stopped responding.') % name
self.w('title_label').set_label('<big><b>%s</b></big>' % title)
elif not self.report_file or report_type == 'Bug':
+ self.w('remember_send_report_choice').hide()
+ self.w('send_problem_notice_label').hide()
self.setup_bug_report()
elif report_type == 'KernelCrash' or report_type == 'KernelOops':
self.w('ignore_future_problems').set_active(False)
self.w('ignore_future_problems').hide()
self.w('title_label').set_label('<big><b>%s</b></big>' %
self.get_system_application_title())
- self.w('closed_button').hide()
self.w('subtitle_label').hide()
icon = 'distributor-logo'
elif report_type == 'Package':
@@ -261,7 +260,6 @@
self.w('subtitle_label').show()
else:
self.w('subtitle_label').hide()
- self.w('closed_button').hide()
self.w('ignore_future_problems').hide()
self.w('title_label').set_label(
_('Sorry, a problem occurred while installing software.'))
@@ -282,13 +280,9 @@
pid = apport.ui.get_pid(self.report)
still_running = pid and apport.ui.still_running(pid)
- if 'ProcCmdline' not in self.report or still_running or not self.offer_restart:
- self.w('closed_button').hide()
- self.w('continue_button').set_label(_('Continue'))
- else:
- self.w('closed_button').show()
- self.w('closed_button').set_label(_('Leave Closed'))
- self.w('continue_button').set_label(_('Relaunch'))
+ if 'ProcCmdline' in self.report and not still_running and self.offer_restart:
+ self.w('relaunch_app').set_active(True)
+ self.w('relaunch_app').show()
else:
icon = 'distributor-logo'
if report_type == 'RecoverableProblem':
@@ -302,8 +296,6 @@
self.w('subtitle_label').set_label(
_('If you notice further problems, '
'try restarting the computer.'))
- self.w('closed_button').hide()
- self.w('continue_button').set_label(_('Continue'))
self.w('ignore_future_problems').set_label(_('Ignore future problems of this type'))
if self.report.get('CrashCounter'):
self.w('ignore_future_problems').show()
@@ -353,7 +345,7 @@
if len(sys.argv) == 1:
d.set_focus_on_map(False)
- return_value = {'report': False, 'blacklist': False,
+ return_value = {'report': False, 'blacklist': False, 'remember': False,
'restart': False, 'examine': False}
def dialog_crash_dismissed(widget):
@@ -366,17 +358,24 @@
Gtk.main_quit()
return
- if self.w('send_error_report').get_active():
- return_value['report'] = True
+ # Force close or leave close app are the default actions with no specifier
+ # in case of hangs or crash
+ if self.w('relaunch_app').get_active() and self.desktop_info and self.offer_restart:
+ return_value['restart'] = True
+
if self.w('ignore_future_problems').get_active():
return_value['blacklist'] = True
- if widget == self.w('continue_button') and self.desktop_info and self.offer_restart:
- return_value['restart'] = True
+
+ return_value['remember'] = self.w('remember_send_report_choice').get_active()
+
+ if widget == self.w('continue_button'):
+ return_value['report'] = self.allowed_to_report
+
Gtk.main_quit()
self.w('dialog_crash_new').connect('destroy', dialog_crash_dismissed)
self.w('continue_button').connect('clicked', dialog_crash_dismissed)
- self.w('closed_button').connect('clicked', dialog_crash_dismissed)
+ self.w('dont_send_button').connect('clicked', dialog_crash_dismissed)
self.w('examine').connect('clicked', dialog_crash_dismissed)
Gtk.main()
return return_value
=== modified file 'gtk/apport-gtk.ui'
--- gtk/apport-gtk.ui 2015-06-05 10:42:49 +0000
+++ gtk/apport-gtk.ui 2018-06-25 16:12:21 +0000
@@ -162,6 +162,21 @@
</packing>
</child>
<child>
+ <object class="GtkLabel" id="send_problem_notice_label">
+ <property name="visible">False</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Send problem report to the developers?</property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkLabel" id="subtitle_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -172,7 +187,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
@@ -199,7 +214,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
@@ -209,13 +224,13 @@
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
- <object class="GtkCheckButton" id="send_error_report">
- <property name="label" translatable="yes">Send an error report to help fix this problem</property>
- <property name="visible">True</property>
+ <object class="GtkCheckButton" id="remember_send_report_choice">
+ <property name="label" translatable="yes">Remember this in future</property>
+ <property name="visible">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
- <property name="active">True</property>
+ <property name="active">False</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -239,11 +254,26 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="relaunch_app">
+ <property name="label" translatable="yes">Relaunch this application</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
</object>
@@ -304,19 +334,6 @@
<property name="position">1</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="cancel_button">
- <property name="label" translatable="yes">Cancel</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
</child>
</object>
@@ -332,8 +349,8 @@
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkButton" id="closed_button">
- <property name="label" translatable="yes">Leave Closed</property>
+ <object class="GtkButton" id="dont_send_button">
+ <property name="label" translatable="yes">Don't send</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -347,7 +364,7 @@
</child>
<child>
<object class="GtkButton" id="continue_button">
- <property name="label" translatable="yes">Continue</property>
+ <property name="label" translatable="yes">Send</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
=== modified file 'kde/apport-kde'
--- kde/apport-kde 2016-12-18 12:51:13 +0000
+++ kde/apport-kde 2018-06-25 16:12:21 +0000
@@ -369,7 +369,7 @@
response = self.dialog.exec_()
- return_value = {'report': False, 'blacklist': False,
+ return_value = {'report': False, 'blacklist': False, 'remember': False,
'restart': False, 'examine': False}
if response == QDialog.Rejected:
return return_value
=== modified file 'test/test_ui.py'
--- test/test_ui.py 2018-05-09 23:14:26 +0000
+++ test/test_ui.py 2018-06-25 16:12:21 +0000
@@ -502,7 +502,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_argv()
self.assertEqual(self.ui.offer_restart, True)
@@ -534,7 +535,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_severity, None)
@@ -577,7 +579,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
finally:
# kill test process
@@ -691,7 +694,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_argv()
self.assertTrue(self.ui.report['Package'].startswith(apport.packaging.get_kernel_package()))
@@ -729,7 +733,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_text, None)
@@ -788,7 +793,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None)
self.assertEqual(self.ui.msg_title, None)
@@ -803,7 +809,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
self.assertEqual(self.ui.msg_title, None)
@@ -832,7 +839,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': True,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None)
self.assertEqual(self.ui.msg_title, None)
@@ -854,7 +862,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -890,7 +899,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, 'info', self.ui.msg_text)
self.assertTrue('decompress' in self.ui.msg_text)
@@ -908,7 +918,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
@@ -926,7 +937,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertTrue('It stinks.' in self.ui.msg_text, '%s: %s' %
@@ -949,7 +961,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(self.report_file.name)
@@ -967,7 +980,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(self.report_file.name)
@@ -987,7 +1001,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(self.report_file.name)
@@ -1009,7 +1024,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(self.report_file.name)
@@ -1085,7 +1101,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, 'has %s message: %s: %s' % (
self.ui.msg_severity, str(self.ui.msg_title), str(self.ui.msg_text)))
@@ -1117,7 +1134,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.cur_package, 'uninstalled_pkg')
self.assertEqual(self.ui.msg_severity, None, 'has %s message: %s: %s' % (
@@ -1139,7 +1157,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertRaises(SystemExit, self.ui.run_crash, report_file)
self.assertEqual(self.ui.msg_title, _('Invalid problem report'))
@@ -1159,7 +1178,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_title, _('Problem in bash'))
@@ -1199,7 +1219,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertFalse('ExecutableTimestamp' in self.ui.report)
@@ -1230,7 +1251,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None)
self.assertEqual(self.ui.msg_title, None)
@@ -1245,7 +1267,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None)
self.assertEqual(self.ui.msg_title, None)
@@ -1292,7 +1315,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, 'error: %s - %s' %
(self.ui.msg_title, self.ui.msg_text))
@@ -1308,7 +1332,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, str(self.ui.msg_title) +
' ' + str(self.ui.msg_text))
@@ -1336,7 +1361,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1390,7 +1416,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1424,7 +1451,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1464,7 +1492,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1484,7 +1513,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
# known without URL
with open(report_file, 'wb') as f:
@@ -1499,7 +1529,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
# known with URL
with open(report_file, 'wb') as f:
r.write(f)
@@ -1525,7 +1556,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crash(report_file)
self.assertEqual(self.ui.opened_url, 'http://coreutils.bugs.example.com/%i' % self.ui.crashdb.latest_id())
# internal key should not be uploaded to the crash db
@@ -1564,7 +1596,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.run_crashes()
if os.getuid() != 0:
@@ -1611,7 +1644,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.crashdb.download(1)['SourcePackage'] = 'bash'
self.ui.crashdb.download(1)['Package'] = 'bash'
@@ -1634,7 +1668,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1656,7 +1691,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text)
@@ -1677,7 +1713,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
with open(os.path.join(self.hookdir, 'source_foo.py'), 'w') as f:
f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n')
@@ -1712,7 +1749,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
with open(os.path.join(self.hookdir, 'source_%s.py' % kernel_src), 'w') as f:
f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n')
@@ -1742,7 +1780,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self._run_hook('''report['begin'] = '1'
ui.information('InfoText')
report['end'] = '1'
@@ -1757,7 +1796,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.question_yesno_response = True
self._run_hook('''report['begin'] = '1'
report['answer'] = str(ui.yesno('YesNo?'))
@@ -1784,7 +1824,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.question_file_response = '/etc/fstab'
self._run_hook('''report['begin'] = '1'
report['answer'] = str(ui.file('YourFile?'))
@@ -1806,7 +1847,8 @@
self.ui.present_details_response = {'report': False,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.question_choice_response = [1]
self._run_hook('''report['begin'] = '1'
report['answer'] = str(ui.choice('YourChoice?', ['foo', 'bar']))
@@ -1840,7 +1882,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertTrue('foobar" is not known' in self.ui.msg_text)
self.assertEqual(self.ui.msg_severity, 'error')
@@ -1892,7 +1935,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_text, None)
self.assertEqual(self.ui.msg_severity, None)
@@ -1910,7 +1954,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_text, None)
self.assertEqual(self.ui.msg_severity, None)
@@ -1932,7 +1977,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.question_yesno_response = True
self.assertEqual(self.ui.run_argv(), True)
self.assertTrue(self.ui.present_details_shown)
@@ -1963,7 +2009,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.ui.question_choice_response = None
self.assertEqual(self.ui.run_argv(), True)
@@ -2210,7 +2257,8 @@
self.ui.present_details_response = {'report': True,
'blacklist': False,
'examine': False,
- 'restart': False}
+ 'restart': False,
+ 'remember': False}
self.assertEqual(self.ui.run_argv(), True)
self.assertEqual(self.ui.msg_severity, None)
=== modified file 'test/test_ui_gtk.py'
--- test/test_ui_gtk.py 2016-12-18 12:51:13 +0000
+++ test/test_ui_gtk.py 2018-06-25 16:12:21 +0000
@@ -89,7 +89,6 @@
def c(*args):
self.app.w('dialog_crash_new').destroy()
- self.app.w('send_error_report').set_active(True)
GLib.idle_add(c)
result = self.app.ui_present_report_details(True)
self.assertFalse(result['report'])
@@ -98,10 +97,11 @@
'''
+-----------------------------------------------------------------+
| [ logo] YourDistro has experienced an internal error. |
- | |
- | [x] Send an error report to help fix this problem. |
- | |
- | [ Show Details ] [ Continue ] |
+ | Send problem report to the developers? |
+ | |
+ | [ ] Remember this in future |
+ | |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'KernelCrash'
@@ -110,14 +110,15 @@
self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro)
self.assertEqual(self.app.w('title_label').get_text(),
_('Sorry, %s has experienced an internal error.') % self.distro)
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
self.assertFalse(self.app.w('subtitle_label').get_property('visible'))
self.assertFalse(self.app.w('ignore_future_problems').get_property('visible'))
@@ -125,11 +126,12 @@
'''
+-----------------------------------------------------------------+
| [ error ] Sorry, a problem occurred while installing software. |
+ | Send problem report to the developers? |
| Package: apport 1.2.3~0ubuntu1 |
| |
- | [x] Send an error report to help fix this problem. |
+ | [ ] Remember this in future |
| |
- | [ Show Details ] [ Continue ] |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'Package'
@@ -139,36 +141,50 @@
self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro)
self.assertEqual(self.app.w('title_label').get_text(),
_('Sorry, a problem occurred while installing software.'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
self.assertTrue(self.app.w('subtitle_label').get_property('visible'))
self.assertEqual(self.app.w('subtitle_label').get_text(),
_('Package: apport 1.2.3~0ubuntu1'))
def test_regular_crash_thread_layout(self):
'''A thread of execution has failed, but the application persists.'''
+ '''
+ +-----------------------------------------------------------------+
+ | [ logo] YourDistro has experienced an internal error. |
+ | Send problem report to the developers? |
+ | If you notice further problems, try restarting the |
+ | computer. |
+ | |
+ | [ ] Remember this in future |
+ | |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+ +-----------------------------------------------------------------+
+ '''
self.app.report['ProblemType'] = 'Crash'
self.app.report['ProcStatus'] = 'Name:\tupstart\nPid:\t1'
GLib.idle_add(Gtk.main_quit)
self.app.ui_present_report_details(True)
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
- self.assertEqual(self.app.w('continue_button').get_label(), _('Continue'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
+ self.assertEqual(self.app.w('continue_button').get_label(), _('Send'))
def test_regular_crash_layout(self):
'''
+-----------------------------------------------------------------+
| [ apport ] The application Apport has closed unexpectedly. |
- | |
- | [x] Send an error report to help fix this problem. |
- | [ ] Ignore future problems of this program version. |
- | |
- | [ Show Details ] [ Continue ] |
+ | Send problem report to the developers? |
+ | |
+ | [ ] Remember this in future |
+ | [ ] Ignore future problems of this program version |
+ | |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'Crash'
@@ -186,15 +202,16 @@
self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro)
self.assertEqual(self.app.w('title_label').get_text(),
_('The application Apport has closed unexpectedly.'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
# no ProcCmdline, cannot restart
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
self.assertFalse(self.app.w('subtitle_label').get_property('visible'))
self.assertTrue(self.app.w('ignore_future_problems').get_property('visible'))
self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith(
@@ -204,11 +221,13 @@
'''
+-----------------------------------------------------------------+
| [ apport ] The application Apport has closed unexpectedly. |
- | |
- | [x] Send an error report to help fix this problem. |
- | [ ] Ignore future problems of this program version. |
- | |
- | [ Show Details ] [ Leave Closed ] [ Relaunch ] |
+ | Send problem report to the developers? |
+ | |
+ | [ ] Remember this in future |
+ | [ ] Ignore future problems of this program version |
+ | [X] Relaunch this application |
+ | |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
# pretend we got called through run_crashes() which sets offer_restart
@@ -229,28 +248,32 @@
self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro)
self.assertEqual(self.app.w('title_label').get_text(),
_('The application Apport has closed unexpectedly.'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Relaunch'))
- self.assertTrue(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
self.assertFalse(self.app.w('subtitle_label').get_property('visible'))
self.assertTrue(self.app.w('ignore_future_problems').get_property('visible'))
self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith(
'of this program version'))
+ self.assertTrue(self.app.w('relaunch_app').get_property('visible'))
+ self.assertTrue(self.app.w('relaunch_app').get_active())
def test_regular_crash_layout_norestart(self):
'''
+-----------------------------------------------------------------+
| [ apport ] The application Apport has closed unexpectedly. |
+ | Send problem report to the developers? |
| |
- | [x] Send an error report to help fix this problem. |
+ | [ ] Remember this in future |
| [ ] Ignore future problems of this program version. |
| |
- | [ Show Details ] [ Continue ] |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
# pretend we did not get called through run_crashes(), thus no offer_restart
@@ -270,19 +293,28 @@
self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro)
self.assertEqual(self.app.w('title_label').get_text(),
_('The application Apport has closed unexpectedly.'))
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
+ self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
def test_hang_layout(self):
'''
+-----------------------------------------------------------------+
| [ apport ] The application Apport has stopped responding. |
- | |
- | [x] Send an error report to help fix this problem. |
- | |
- | [ Show Details ] [ Force Closed ] [ Relaunch ] |
+ | Send problem report to the developers? |
+ | You can wait to see if it wakes up, or close, or |
+ | relaunch it. |
+ | |
+ | [ ] Remember this in future |
+ | [X] Relaunch this application |
+ | |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
# pretend we got called through run_crashes() which sets offer_restart
@@ -305,16 +337,15 @@
self.assertEqual(self.app.w('subtitle_label').get_text(),
_('You can wait to see if it wakes up, or close or '
'relaunch it.'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Relaunch'))
- self.assertTrue(self.app.w('closed_button').get_property('visible'))
- self.assertEqual(self.app.w('closed_button').get_label(),
- _('Force Closed'))
+ _('Send'))
self.assertTrue(self.app.w('subtitle_label').get_property('visible'))
self.assertFalse(self.app.w('ignore_future_problems').get_property('visible'))
@@ -322,13 +353,14 @@
'''
+---------------------------------------------------------------+
| [ logo ] Sorry, YourDistro has experienced an internal error. |
+ | Send problem report to the developers? |
| If you notice further problems, try restarting the |
| computer |
| |
- | [x] Send an error report to help fix this problem. |
+ | [ ] Remember this in future |
| [ ] Ignore future problems of this type. |
| |
- | [ Show Details ] [ Continue ] |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+---------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'Crash'
@@ -342,14 +374,15 @@
self.assertEqual(self.app.w('subtitle_label').get_text(),
_('If you notice further problems, try restarting the computer.'))
self.assertTrue(self.app.w('subtitle_label').get_property('visible'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
self.assertTrue(self.app.w('ignore_future_problems').get_property('visible'))
self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith(
'of this type'))
@@ -358,12 +391,13 @@
'''
+-------------------------------------------------------------------+
| [ ubuntu ] Sorry, the application apport has closed unexpectedly. |
+ | Send problem report to the developers? |
| If you notice further problems, try restarting the |
| computer |
| |
- | [x] Send an error report to help fix this problem. |
+ | [ ] Remember this in future |
| |
- | [ Show Details ] [ Continue ] |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-------------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'Crash'
@@ -382,14 +416,15 @@
self.assertEqual(self.app.w('subtitle_label').get_text(),
_('If you notice further problems, try restarting the computer.'))
self.assertTrue(self.app.w('subtitle_label').get_property('visible'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
del self.app.report['ExecutablePath']
GLib.idle_add(Gtk.main_quit)
@@ -405,10 +440,11 @@
'''
+---------------------------------------------------------------------+
| [ apport ] The application Apport has closed unexpectedly. |
- | |
- | [x] Send an error report to help fix this problem. |
- | |
- | [ Show Details ] [ Examine locally ] [ Leave Closed ] [ Relaunch ] |
+ | Send problem report to the developers? |
+ | |
+ | [ ] Remember this in future |
+ | |
+ | [ Show Details ] [ Examine locally ] [ Don't send ] [ Send ] |
+---------------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'Crash'
@@ -435,7 +471,7 @@
| | ... | |
| +----------------------------------------------------+ |
| |
- | [ Cancel ] [ Send ] |
+ | [ Don't send ] [ Send ] |
+-------------------------------------------------------------------+
'''
self.app.report_file = None
@@ -444,15 +480,15 @@
self.assertEqual(self.app.w('title_label').get_text(),
_('Send problem report to the developers?'))
self.assertFalse(self.app.w('subtitle_label').get_property('visible'))
- send_error_report = self.app.w('send_error_report')
- self.assertFalse(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertFalse(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertFalse(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertFalse(self.app.w('show_details').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
_('Send'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
- self.assertTrue(self.app.w('cancel_button').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('details_scrolledwindow').get_property('visible'))
self.assertTrue(self.app.w('dialog_crash_new').get_resizable())
@@ -469,15 +505,15 @@
self.assertEqual(self.app.w('title_label').get_text(),
_('Send problem report to the developers?'))
self.assertFalse(self.app.w('subtitle_label').get_property('visible'))
- send_error_report = self.app.w('send_error_report')
- self.assertFalse(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertFalse(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertFalse(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertFalse(self.app.w('show_details').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
_('Send'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
- self.assertTrue(self.app.w('cancel_button').get_property('visible'))
+ self.assertTrue(self.app.w('dont_send_button').get_property('visible'))
self.assertTrue(self.app.w('details_scrolledwindow').get_property('visible'))
self.assertTrue(self.app.w('dialog_crash_new').get_resizable())
@@ -485,11 +521,12 @@
'''
+-----------------------------------------------------------------+
| [ logo ] The application Foo has experienced an internal error. |
+ | Send problem report to the developers? |
| Developer-specified error text. |
| |
- | [x] Send an error report to help fix this problem. |
+ | [ ] Remember this in future |
| |
- | [ Show Details ] [ Continue ] |
+ | [ Show Details ] [ Don't send ] [ Send ] |
+-----------------------------------------------------------------+
'''
self.app.report['ProblemType'] = 'RecoverableProblem'
@@ -511,21 +548,22 @@
msg = 'Some developer-specified error text.'
self.assertEqual(self.app.w('subtitle_label').get_text(), msg)
self.assertTrue(self.app.w('subtitle_label').get_property('visible'))
- send_error_report = self.app.w('send_error_report')
- self.assertTrue(send_error_report.get_property('visible'))
- self.assertTrue(send_error_report.get_active())
+ self.assertTrue(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertTrue(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
self.assertTrue(self.app.w('show_details').get_property('visible'))
self.assertTrue(self.app.w('continue_button').get_property('visible'))
self.assertEqual(self.app.w('continue_button').get_label(),
- _('Continue'))
- self.assertFalse(self.app.w('closed_button').get_property('visible'))
+ _('Send'))
def test_administrator_disabled_reporting(self):
GLib.idle_add(Gtk.main_quit)
self.app.ui_present_report_details(False)
- send_error_report = self.app.w('send_error_report')
- self.assertFalse(send_error_report.get_property('visible'))
- self.assertFalse(send_error_report.get_active())
+ self.assertFalse(self.app.w('send_problem_notice_label').get_property('visible'))
+ remember_send_error_report = self.app.w('remember_send_report_choice')
+ self.assertFalse(remember_send_error_report.get_property('visible'))
+ self.assertFalse(remember_send_error_report.get_active())
@patch.object(GTKUserInterface, 'open_url')
@patch.object(GTKUserInterface, 'ui_start_upload_progress')
@@ -759,9 +797,9 @@
'''Bug report for installed package'''
def c(*args):
- if not self.app.w('cancel_button').get_visible():
+ if not self.app.w('dont_send_button').get_visible():
return True
- self.app.w('cancel_button').clicked()
+ self.app.w('dont_send_button').clicked()
return False
self.app.report_file = None
@@ -778,9 +816,9 @@
'''Bug report for uninstalled package'''
def c(*args):
- if not self.app.w('cancel_button').get_visible():
+ if not self.app.w('dont_send_button').get_visible():
return True
- self.app.w('cancel_button').clicked()
+ self.app.w('dont_send_button').clicked()
return False
pkg = apport.packaging.get_uninstalled_package()
Follow ups