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

Bug #836623 reported by Daniel Manrique on 2011-08-29
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Checkbox
High
Brendan Donegan
checkbox (Ubuntu)
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

lp:~brendan-donegan/checkbox/fix_rerun
Marc Tardif (community): Approve on 2011-09-12
lp:~roadmr/ubuntu/oneiric/checkbox/0.12.7
Daniel Holbach: Needs Information on 2011-09-15
Changed in checkbox (Ubuntu):
status: New → Confirmed
Ara Pulido (apulido) on 2011-08-29
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

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

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.

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

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

Marc Tardif (cr3) on 2011-09-12
Changed in checkbox:
status: In Progress → Fix Committed
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) on 2011-09-15
Changed in checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers