Skip to content

Instantly share code, notes, and snippets.

@baijum
Created January 22, 2012 13:21
Show Gist options
  • Select an option

  • Save baijum/1657059 to your computer and use it in GitHub Desktop.

Select an option

Save baijum/1657059 to your computer and use it in GitHub Desktop.

Revisions

  1. baijum revised this gist Jan 22, 2012. 1 changed file with 65 additions and 0 deletions.
    65 changes: 65 additions & 0 deletions output.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    $ py.test test_hello.py -d --tx 2*popen//python=python
    ==================================================================== test session starts ====================================================================
    platform linux2 -- Python 2.6.6 -- pytest-2.2.1
    gw0 [4] / gw1 [4]
    scheduling tests via LoadScheduling
    FFFF
    ========================================================================= FAILURES ==========================================================================
    _________________________________________________________________________ test_one __________________________________________________________________________
    [gw1] linux2 -- Python 2.6.6 /home/baiju/ve/bin/python
    browser = <conftest.Browser object at 0xb75f32cc>

    def test_one(browser):
    print browser.node
    time.sleep(.5)
    > assert browser.node == 1
    E assert 'a' == 1
    E + where 'a' = <conftest.Browser object at 0xb75f32cc>.node

    test_hello.py:6: AssertionError
    ---------------------------------------------------------------------- Captured stdout ----------------------------------------------------------------------
    a
    _________________________________________________________________________ test_two __________________________________________________________________________
    [gw0] linux2 -- Python 2.6.6 /home/baiju/ve/bin/python
    browser = <conftest.Browser object at 0xb744d2cc>

    def test_two(browser):
    print browser.node
    time.sleep(1)
    > assert browser.node == 1
    E assert 'a' == 1
    E + where 'a' = <conftest.Browser object at 0xb744d2cc>.node

    test_hello.py:11: AssertionError
    ---------------------------------------------------------------------- Captured stdout ----------------------------------------------------------------------
    a
    ________________________________________________________________________ test_three _________________________________________________________________________
    [gw1] linux2 -- Python 2.6.6 /home/baiju/ve/bin/python
    browser = <conftest.Browser object at 0x9ccdd0c>

    def test_three(browser):
    print browser.node
    time.sleep(1.5)
    > assert browser.node == 1
    E assert 'a' == 1
    E + where 'a' = <conftest.Browser object at 0x9ccdd0c>.node

    test_hello.py:16: AssertionError
    ---------------------------------------------------------------------- Captured stdout ----------------------------------------------------------------------
    a
    _________________________________________________________________________ test_four _________________________________________________________________________
    [gw0] linux2 -- Python 2.6.6 /home/baiju/ve/bin/python
    browser = <conftest.Browser object at 0xa0afb4c>

    def test_four(browser):
    print browser.node
    time.sleep(1.3)
    > assert browser.node == 1
    E assert 'a' == 1
    E + where 'a' = <conftest.Browser object at 0xa0afb4c>.node

    test_hello.py:21: AssertionError
    ---------------------------------------------------------------------- Captured stdout ----------------------------------------------------------------------
    a
    ================================================================= 4 failed in 2.67 seconds ==================================================================
    (ve)
  2. baijum created this gist Jan 22, 2012.
    36 changes: 36 additions & 0 deletions conftest.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    import time
    import pytest

    def pytest_configure_node(node):
    node.slaveinput['all_nodes'] = {'a': True, 'b': True, 'c': True}
    node.slaveinput['used_nodes'] = {}

    def _get_browser(request):
    def get_browser():
    class Browser(object):
    node = None
    browser = Browser()
    if hasattr(request.config, 'slaveinput'):
    all_nodes = request.config.slaveinput['all_nodes']
    used_nodes = request.config.slaveinput['used_nodes']
    free_nodes = set(all_nodes.keys()) - set(used_nodes.keys())
    node = free_nodes.pop()
    used_nodes[node] = all_nodes[node]
    request.config.slaveinput['used_nodes'] = used_nodes
    browser.node = node
    return browser
    return get_browser

    def _close_browser(request):
    def close_browser(browser):
    if hasattr(request.config, 'slaveinput'):
    used_nodes = request.config.slaveinput['used_nodes']
    del used_nodes[browser.node]
    request.config.slaveinput['used_nodes'] = used_nodes
    return close_browser

    def pytest_funcarg__browser(request):
    return request.cached_setup(
    setup=_get_browser(request),
    teardown=_close_browser(request),
    scope='function')
    21 changes: 21 additions & 0 deletions test_hello.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    import time

    def test_one(browser):
    print browser.node
    time.sleep(.5)
    assert browser.node == 1

    def test_two(browser):
    print browser.node
    time.sleep(1)
    assert browser.node == 1

    def test_three(browser):
    print browser.node
    time.sleep(1.5)
    assert browser.node == 1

    def test_four(browser):
    print browser.node
    time.sleep(1.3)
    assert browser.node == 1