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

Proposed by Peter Russell
Status: Needs review
Proposed branch: lp://staging/~the-test-people/selenium-simple-test/windows-fixes
Merge into: lp://staging/selenium-simple-test
Diff against target: 303 lines (+114/-9)
10 files modified
ci.ps1 (+71/-0)
src/sst/cases.py (+1/-1)
src/sst/scripts/test.py (+10/-4)
src/sst/tests/__init__.py (+5/-1)
src/sst/tests/test_concurrency.py (+5/-0)
src/sst/tests/test_loaders.py (+6/-0)
src/sst/tests/test_sst_script_test_case.py (+3/-1)
src/sst/tests/test_write_tree.py (+7/-0)
src/sst/tests/test_xvfb.py (+5/-0)
src/testproject/simple/views.py (+1/-2)
To merge this branch: bzr merge lp://staging/~the-test-people/selenium-simple-test/windows-fixes
Reviewer Review Type Date Requested Status
Canonical ISD QA Team Pending
Review via email: mp+208114@code.staging.launchpad.net

Description of the change

Improving support for Windows.

This branch has one fairly important bug fix, but otherwise just focuses on getting the tests running under Windows - mostly by skipping tests which don't make sense on Windows.

There is a Powershell script, which can be run like this:

powershell.exe .\ci.ps1 -Flake8 -Acceptance Firefox

After these changes, I believe that the only test failures are also present on Linux.

To post a comment you must log in.
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.

Unmerged 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).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches