Interrupted runs are recovered even if the user selects "No" when prompted

Bug #836623 reported by Daniel Manrique
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
High
Brendan Donegan
checkbox (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Tested with Checkbox trunk on Oneiric and with 0.11.3 on Natty.

Steps to reproduce:

- run checkbox-gtk
- On the test selection screen, deselect all tests and mark just a few categories.
- Start the test run.
- When on the first test screen, close checkbox.
- Start checkbox-gtk again.
- When prompted to recover the incomplete test run, select "No".

Expected behavior:
- Selection screen reset to its initial state.

Actual behavior:
- Old run data remains, including prior test selection.

The usual workaround is to delete the checkbox data directory, either $HOME/.checkbox or $HOME/.cache/checkbox. However, if checkbox offers to start a new run, it should do so correctly.

Related branches

Changed in checkbox (Ubuntu):
status: New → Confirmed
Ara Pulido (ara)
Changed in checkbox:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Canonical Hardware Certification (canonical-hw-cert)
milestone: none → 0.12.5
milestone: 0.12.5 → 0.12.6
Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

The only fundamental difference between Yes and No seems to be that Yes brings you directly to the last test run whereas No does show the test selection screen and then returns to the last run test (I can only guess what happens if you deselected the saved test from the list)

Changed in checkbox:
assignee: Canonical Hardware Certification (canonical-hw-cert) → Brendan Donegan (brendan-donegan)
Changed in checkbox:
status: Triaged → In Progress
Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

It seems that deleting just the 'store' directory does the trick, so I think the best path is to have the jobs_prompt plugin receive an event when the user selects 'No' to recover (something like begin-reset) and that can call self.store.delete_all_messages or suchlike.

Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

I tried adding an event to the jobs_prompt plugin but it doesn't seem to be receiving it when it's fired in the recover_prompt plugin. Currently investigating why

Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

Just had to modify the header of the function I added to handle the reset-jobs event. Now it works.

Marc Tardif (cr3)
Changed in checkbox:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package checkbox - 0.12.7

---------------
checkbox (0.12.7) oneiric; urgency=low

  New upstream release (LP: #850395):

  [Brendan Donegan]
  * Redirecting stderr to pipe to fix the gconf_resource script (LP: #832321)
  * Clear jobs directory when user selects No to recover question (LP: #836623)

  [Daniel Manrique]
  * checkbox/job.py: Guard against bogus timeout values (LP: #827859)
  * More explicit handling of string decoding/encoding, avoids problems with
    non-ascii characters (LP: #833747)
  * Changed architecture from all to any for checkbox base, to build
    architecture-specific binaries (LP: #833696)

  [Jeff Lane]
  * Several corrections necessary due to test name changes or typos found in
    job files

  [Marc Tardif]
  * Connecting hyper text widgets only once (LP: #827904)
  * Detecting MMC readers as OTHER instead of DISK (LP: #822948)
  * Validating the hostname in the SSL certificate (LP: #625076)
  * Validating the submission.xml (LP: #838123)
 -- Daniel Manrique <email address hidden> Fri, 14 Sep 2011 17:15:26 -0400

Changed in checkbox (Ubuntu):
status: Confirmed → Fix Released
Marc Tardif (cr3)
Changed in checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.