Comment 2 for bug 990133

Revision history for this message
Daniel Manrique (roadmr) wrote :

I tested this on a Precise system with xawtv installed. Checkbox 0.13.7 is present first. I launched checkbox-qt, deselected all tests, and selected only the camera category (3 tests). Then I started the run:

- First test to come up is camera/display. I click "test". A live video window opens, then closes after about 10 seconds. I clicked on "Yes" to mark the test as passed.
- Next comes camera/still. A capture window with a picture of me (heh) comes up. No indication I have to do anything, and the window remains there. I counted 30 seconds, then closed the window. Marked the test as passed.
- The test run ends and I get to the report screen, but it's not relevant to this fix so I just closed checkbox.

I then upgraded checkbox and checkbox-qt to 0.13.8 from -proposed. I used the same procedure as above:
- First test to come up is camera/display. I click "test"Behaves as before, opening a video window and closing automatically after 10 seconds. I clicked on "Yes" to mark the test as passed.
- Next comes camera/still. A capture window with a picture of me (heh) comes up. No indication I have to do anything, and the window remains there. I counted 30 seconds, then closed the window. This constitutes a FAILURE because the window was supposed to close after 10 seconds.

Upon closer inspection of the code, I see that we call eog in two different places. This is because we try calling v4lctl first (first call to eog; I didn't apply the fix here). If v4lctl (which comes with xawtv) is not installed, we fall back to using gstreamer to capture the image (this is where I applied the fix).

A default Ubuntu system will not have xawtv installed, so I removed xawtv and tried to run the test again. I realized that the entire fallback code has two problems and doesn't work: first, the exception raised when v4lctl is not present is not CalledProcessError, but OSError (which we're not catching). Then, the call() where we invoke eog uses filename, which is not defined (should be file.name).

So all in all the fix was applied in the wrong place and does not work, I have unfortunately to mark this as verification-failed.

Thanks!