devtools/qunit.py
branchstable
changeset 6514 f328ec853e18
parent 6424 f443a2b8a5c7
child 6535 972bd504daf6
--- 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')