lp://staging/~the-test-people/selenium-simple-test/windows-fixes

Created by Peter Russell and last modified
Get this branch:
bzr branch lp://staging/~the-test-people/selenium-simple-test/windows-fixes
Members of The Test People can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
The Test People
Project:
selenium-simple-test
Status:
Development

Recent revisions

446. By Peter Russell

When trying to detect if Django is running, don't set SO_REUSEADDR on Windows.

Setting SO_REUSEADDR on a socket on Windows, allows the port to be reused
as well, meaning that it's not a good way of detecting if the port is in
use. But Windows allows binding even when the port is in the wait state,
so we don't need it anyway.

445. By Peter Russell

Skip tests for symlinks when on Windows.

444. By Peter Russell

Fix a bug where dotted test names are prefixed with ".." on Windows.

This breaks matching test names on the command line.

443. By Peter Russell

Allow test_sst_script_test_case to not use XVFB when on Windows.

This causes a lot of browser windows to pop up, but at least the tests
will run.

442. By Peter Russell

Skip the xvfb and concurrency tests on Windows

The concurrency module documents that it is Unix only, (although at a
glance it should be possible to port it).

Testing using Xvfb doesn't really make sense in the context of Windows.

441. By Peter Russell

Add a CI script for Windows, and fix running of Django for windows.

* Adds a powershell script, ci.ps1, which is similar to ci.sh.
* Make run_django in test.py use Python to run the management script, as
  on Windows scripts arent executable.
* Make run_django in test.py pass --noreload to avoid runaway subprocesses.
* Change the way the test harness stops the django process, it now uses
  os._exit() rather than sending a signal to the process - this is more
  portable. Sys.exit() apparently doesn't work in a multithreaded
  environment (os._exit() is the mechanism runserver uses itself).

440. By Peter Russell

Update the testproject to support modern Django versions

The manage.py file in testproject makes use of features which were
deprecated in Django 1.4 and removed by Django 1.6 (which is what is
brought in by the ci.sh script).

Similarly, the urls modules needed their imports updating.

439. By Peter Russell

Don't rely on shebang lines working in the virtualenv.

The ci.sh script falls down when the full path to the working directory
has spaces in it (which is common for Jenkins workspaces). This is
because it's not legal to have spaces in the interpreter part of a
shebang line, and scripts like pip and flake8 are used from the
virtualenv.

(virtualenv itself used to have this problem too, as it called
easy_install in the newly created env to set up pip, but this is fixed in
later versions)

In order to fix this, the paths to the pip and flake8 scripts are passed
to the virtualenv python

438. By Peter Russell

Adding set -e to ci.sh to improve robustness.

This has the effect of terminating the script as soon as any command
returns a non-zero exit code. As we presumably don't want flake 8
failures to prevent the tests from running, that line is allowed to fail.

437. By Michael Foord

[r=coreygoldberg] Fix a loop to iterate the correct number of times.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp://staging/selenium-simple-test
This branch contains Public information 
Everyone can see this information.

Subscribers