sources for test_slave.py [rev. 38799]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
""" Testing the slave side node code (in a local way). """
from py.__.test.rsession.slave import SlaveNode, slave_main, setup
from py.__.test.rsession.outcome import ReprOutcome
import py, sys
from py.__.test.rsession.testing.basetest import BasicRsessionTest
modlevel = []
import os
if sys.platform == 'win32':
    py.test.skip("rsession is unsupported on Windows.")
# ----------------------------------------------------------------------
from py.__.test.rsession.executor import RunExecutor
class TestSlave(BasicRsessionTest):
    def gettestnode(self):
        node = SlaveNode(self.config, executor=RunExecutor) 
        return node
    def test_slave_run_passing(self):
        node = self.gettestnode()
        item = self.getexample("pass")
        outcome = node.execute(item._get_collector_trail())
        assert outcome.passed 
        assert not outcome.setupfailure 
        ser = outcome.make_repr()
        reproutcome = ReprOutcome(ser) 
        assert reproutcome.passed 
        assert not reproutcome.setupfailure 
    def test_slave_run_failing(self):
        node = self.gettestnode()
        item = self.getexample("fail") 
        outcome = node.execute(item._get_collector_trail())
        assert not outcome.passed 
        assert not outcome.setupfailure 
        assert len(outcome.excinfo.traceback) == 1
        assert outcome.excinfo.traceback[-1].frame.code.name == 'funcfail'
        ser = outcome.make_repr()
        reproutcome = ReprOutcome(ser) 
        assert not reproutcome.passed 
        assert not reproutcome.setupfailure 
        assert reproutcome.excinfo
    
    def test_slave_run_skipping(self):
        node = self.gettestnode()
        item = self.getexample("skip")
        outcome = node.execute(item._get_collector_trail())
        assert not outcome.passed
        assert outcome.skipped
        ser = outcome.make_repr()
        reproutcome = ReprOutcome(ser) 
        assert not reproutcome.passed 
        assert reproutcome.skipped
    def test_slave_run_failing_wrapped(self):
        node = self.gettestnode()
        item = self.getexample("fail") 
        repr_outcome = node.run(item._get_collector_trail()) 
        outcome = ReprOutcome(repr_outcome)  
        assert not outcome.passed 
        assert not outcome.setupfailure 
        assert outcome.excinfo
    def test_slave_run_different_stuff(self):
        py.test.skip("XXX not this way")
        node = self.gettestnode()
        node.run(self.rootcol._getitembynames("py doc log.txt".split()).
                 _get_collector_trail())