Comment 4 for bug 1026614

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

Hi! To test this, I installed chromium-browser on a virtual machine with checkbox 0.13.7. I configured it to be the default browser everywhere as indicated in the test case. I then launched checkbox-qt, deselected all tests, selected only the audio tests, and started the test run.

I ran through all the audio test cases, basically just clicking "yes" on each one. When the run finished I clicked on "view report" button. Firefox showed the report despite my earlier configuration :)

Since this is a test VM, I outright removed firefox, closed and relaunched checkbox, and repeated the process. Chromium-browser doesn't even launch because of an error on checkbox/user_interface.py, reads:

subprocess.Popen(sudo_prefix + [preferred_browser % url], shell=True)

should read:

subprocess.Popen(sudo_prefix + [preferred_browser, url], shell=True)

This line is a "fallback" when the browser is neither firefox (or relatives) or epiphany. Chromium will hit the fallback which is incorrect. So this basically uncovered an unrelated bug.

Then I installed checkbox 0.13.8 to see what the behavior is. I did the same process as above. The browser still didn't open.

I did some digging and it turns out that, for instance, firefox returns simply "firefox", but in this case chromium is returning "/usr/bin/chromium-browser". Since the regular expression we use to set the chromium-specific "quirk" does not specify the extra /usr/bin/ component:

browser = re.match("(chromium-browser[^\s]*)", preferred_browser)

This means that chromium again falls on the "fallback" which continues to have a syntax error and does not start at all.

I guess if we found a way to get the preferred application function we're using to return a relative binary name, things would work as expected. But since it looks like that would require black magic, I have to say that this fix does not work as expected (and indeed, the fix as present in trunk is suspect and would bear some closer review), so I will mark this bug as verification-failed.