Repository: freedomofpress/securedrop

Issue:
Can't run end to end test on dev VM
Env:

```
heartsucker@pythagoras:~/code/freedom-of-press/securedrop (sass)$ uname -a
Linux pythagoras 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u2 (2016-06-25) x86_64 GNU/Linux
heartsucker@pythagoras:~/code/freedom-of-press/securedrop (sass)$ VBoxManage --version
4.3.36_Debianr105129
heartsucker@pythagoras:~/code/freedom-of-press/securedrop (sass)$ vagrant --version
Vagrant 1.8.4
```

Output of `manage.py`:

```
test_submit_and_retrieve_happy_path (tests.functional.submit_and_retrieve_mess
======================================================================
ERROR: test_submit_and_retrieve_happy_path (tests.functional.submit_and_retrieve_message.SubmitAndRetrieveMessage)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/functional/submit_and_retrieve_message.py", line 15, in setUp
    functional_test.FunctionalTest.setUp(self)
  File "tests/functional/functional_test.py", line 82, in setUp
    self.driver = self._create_webdriver()
  File "tests/functional/functional_test.py", line 46, in _create_webdriver
    return webdriver.Firefox(firefox_binary=firefox)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
    self.binary, timeout),
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 66, in launch_browser
    self._wait_until_connectable()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 105, in _wait_until_connectable
    raise WebDriverException("Can't load the profile. Profile "
WebDriverException: Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.


----------------------------------------------------------------------
Ran 1 test in 36.541s

FAILED (errors=1)
```



Discussion:
The problem is likely due to the fact that Firefox [47(.0+build3-0ubuntu0.14.04.1)](http://packages.ubuntu.com/trusty/firefox) has broken compatibility with Selenium 2.53.2 and we should upgrade to [the latest 2.53.6](https://requires.io/github/freedomofpress/securedrop/requirements/?tag=0.3.8). Firefox and Selenium versions tend to break compatibility very quickly, so it's important we do better to update our dependencies more often. I'm going to file a separate issue to do that in SD 0.3.9. In the meantime, you can just try updating Selenium yourself and see if that fixes it.

@heartsucker Are you running tests on the develop branch, or on the latest release (tag 0.3.8)?

@fowlslegs I expect @heartsucker is working on the develop branch, so it should be easy for us to update the Python dependencies and fix the Selenium/Firefox incompatibility quickly and easily there and unblock his work.

We should also have a follow-up issue to fix this in the next 0.3.x release, so let's use #1352 for that. However, that is not an urgent issue because we don't need to do it in order to to unblock @heartsucker (unless he _is_ working off of the latest stable release, so let's wait to see what he says).

Yes, this was on the head of develop at the time the issue was submitted.
Am 05.07.2016 22:47 schrieb "Garrett Robinson" notifications@github.com:

> @heartsucker https://github.com/heartsucker Are you running tests on
> the develop branch, or on the latest release (tag 0.3.8)?
> 
> @fowlslegs https://github.com/fowlslegs I expect @heartsucker
> https://github.com/heartsucker is working on the develop branch, so it
> should be easy for us to update the Python dependencies and fix the
> Selenium/Firefox incompatibility quickly and easily there and unblock his
> work.
> 
> We should also have a follow-up issue to fix this in the next 0.3.x
> release, so let's use #1352
> https://github.com/freedomofpress/securedrop/issues/1352 for that.
> However, that is not an urgent issue because we don't need to do it in
> order to to unblock @heartsucker https://github.com/heartsucker (unless
> he _is_ working off of the latest stable release, so let's wait to see
> what he says).
> 
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> https://github.com/freedomofpress/securedrop/issues/1351#issuecomment-230598052,
> or mute the thread
> https://github.com/notifications/unsubscribe/AD0DAMNGIC0wfA9HAksFUmOC-GJH8YM3ks5qSsLWgaJpZM4JDs1j
> .


Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -59,9 +59,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '0.3.8'
+version = '0.3.9'
 # The full version, including alpha/beta/rc tags.
-release = '0.3.8'
+release = '0.3.9'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/securedrop/version.py b/securedrop/version.py
--- a/securedrop/version.py
+++ b/securedrop/version.py
@@ -1 +1 @@
-__version__ = '0.3.8'
+__version__ = '0.3.9'


Test patch: