# HG changeset patch # User Pierre-Yves David # Date 1287154809 -7200 # Node ID f328ec853e18b390dbdd09fa3b1f830004c46e7e # Parent 1f8b902f31439c363a7ad0539feb38dc57931df0 [devtools] Firefox need write access to $HOME Check that you have write acces to the user home before launching Firefox. Firefox need to write stuff in the home directory of the user and will silency crash when unable to do it. We add an assertion with an explicite message to improve crash report in such situation. diff -r 1f8b902f3143 -r f328ec853e18 devtools/qunit.py --- a/devtools/qunit.py Fri Oct 15 16:20:27 2010 +0200 +++ b/devtools/qunit.py Fri Oct 15 17:00:09 2010 +0200 @@ -11,6 +11,7 @@ from logilab.common.testlib import unittest_main, with_tempdir, InnerTest import os +from os.path import expanduser import cubicweb from cubicweb.view import StartupView from cubicweb.web.controller import Controller @@ -53,15 +54,19 @@ stdout = TemporaryFile() stderr = TemporaryFile() try: - check_call(['firefox', '-no-remote', '-CreateProfile', - '%s %s' % (self._profile_name, self._tmp_dir)], - stdout=stdout, stderr=stderr) + home = expanduser('~') + user = os.getlogin() + assert os.access(home, os.W_OK), \ + 'No write access to your home directory, Firefox will crash.'\ + ' Are you sure "%s" is a valid home for user "%s"' % (home, user) + check_call(['firefox', '-no-remote', '-CreateProfile', + '%s %s' % (self._profile_name, self._tmp_dir)], + stdout=stdout, stderr=stderr) except CalledProcessError, cpe: stdout.seek(0) stderr.seek(0) raise VerboseCalledProcessError(cpe.returncode, cpe.cmd, stdout.read(), stderr.read()) - def start(self, url): self.stop() fnull = open(os.devnull, 'w')