~testing-cabal/ubuntu/natty/subunit/daily-build-packaging

« back to all changes in this revision

Viewing changes to python/subunit/tests/test_test_protocol.py

  • Committer: Jelmer Vernooij
  • Date: 2011-02-28 09:32:28 UTC
  • mfrom: (135.1.5 python3)
  • Revision ID: jelmer@samba.org-20110228093228-1hyelaw7zkfe91e1
Tags: 0.0.6+bzr140-0ubuntu1
Merge new upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
#  license at the users choice. A copy of both licenses are available in the
7
7
#  project source as Apache-2.0 and BSD. You may not use this file except in
8
8
#  compliance with one of these two licences.
9
 
#  
 
9
#
10
10
#  Unless required by applicable law or agreed to in writing, software
11
11
#  distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT
12
12
#  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
16
16
 
17
17
import datetime
18
18
import unittest
19
 
try:
20
 
    from StringIO import StringIO
21
 
except ImportError:
22
 
    from io import StringIO
 
19
from StringIO import StringIO
23
20
import os
24
 
import sys
25
21
 
26
 
from testtools.compat import _u
27
22
from testtools.content import Content, TracebackContent
28
23
from testtools.content_type import ContentType
29
24
from testtools.tests.helpers import (
65
60
        pipe = StringIO("test old mcdonald\n"
66
61
                        "success old mcdonald\n")
67
62
        protocol.readFrom(pipe)
68
 
        mcdonald = subunit.RemotedTestCase("old mcdonald")
69
63
        self.assertEqual(client.testsRun, 1)
70
64
        self.assertEqual(pipe.getvalue(), out.getvalue())
71
65
 
78
72
        protocol.readFrom(pipe)
79
73
        self.assertEqual(client.testsRun, 0)
80
74
        self.assertEqual("", out.getvalue())
81
 
        
 
75
 
82
76
 
83
77
class TestTestProtocolServerPipe(unittest.TestCase):
84
78
 
94
88
                        "test an error\n"
95
89
                        "error an error\n")
96
90
        protocol.readFrom(pipe)
97
 
        mcdonald = subunit.RemotedTestCase("old mcdonald")
98
91
        bing = subunit.RemotedTestCase("bing crosby")
99
92
        an_error = subunit.RemotedTestCase("an error")
100
93
        self.assertEqual(client.errors,
293
286
        self.protocol.lineReceived("test old mcdonald\n")
294
287
        self.protocol.lostConnection()
295
288
        failure = subunit.RemoteError(
296
 
            _u("lost connection during test 'old mcdonald'"))
 
289
            u"lost connection during test 'old mcdonald'")
297
290
        self.assertEqual([
298
291
            ('startTest', self.test),
299
292
            ('addError', self.test, failure),
306
299
        self.protocol.lostConnection()
307
300
        self.assertEqual([
308
301
            ('startTest', self.test),
309
 
            ('addError', self.test, subunit.RemoteError(_u(""))),
 
302
            ('addError', self.test, subunit.RemoteError(u"")),
310
303
            ('stopTest', self.test),
311
304
            ], self.client._events)
312
305
 
315
308
        self.protocol.lineReceived("%s old mcdonald %s" % (outcome, opening))
316
309
        self.protocol.lostConnection()
317
310
        failure = subunit.RemoteError(
318
 
            _u("lost connection during %s report of test 'old mcdonald'") % 
 
311
            u"lost connection during %s report of test 'old mcdonald'" %
319
312
            outcome)
320
313
        self.assertEqual([
321
314
            ('startTest', self.test),
335
328
        self.protocol.lostConnection()
336
329
        self.assertEqual([
337
330
            ('startTest', self.test),
338
 
            ('addFailure', self.test, subunit.RemoteError(_u(""))),
 
331
            ('addFailure', self.test, subunit.RemoteError(u"")),
339
332
            ('stopTest', self.test),
340
333
            ], self.client._events)
341
334
 
549
542
                value = details
550
543
            else:
551
544
                if error_message is not None:
552
 
                    value = subunit.RemoteError(
553
 
                        _u('Text attachment: traceback\n'
554
 
                           '------------\n' + error_message + '------------\n'))
 
545
                    value = subunit.RemoteError(u'Text attachment: traceback\n'
 
546
                        '------------\n' + error_message + '------------\n')
555
547
                else:
556
548
                    value = subunit.RemoteError()
557
549
            self.assertEqual([
686
678
            ], self.client._events)
687
679
 
688
680
    def test_simple_success(self):
689
 
        self.simple_success_keyword("failure")
690
 
 
691
 
    def test_simple_success_colon(self):
692
 
        self.simple_success_keyword("failure:")
693
 
 
694
 
    def test_simple_success(self):
695
681
        self.simple_success_keyword("successful")
696
682
 
697
683
    def test_simple_success_colon(self):
855
841
class TestRemoteError(unittest.TestCase):
856
842
 
857
843
    def test_eq(self):
858
 
        error = subunit.RemoteError(_u("Something went wrong"))
859
 
        another_error = subunit.RemoteError(_u("Something went wrong"))
860
 
        different_error = subunit.RemoteError(_u("boo!"))
 
844
        error = subunit.RemoteError(u"Something went wrong")
 
845
        another_error = subunit.RemoteError(u"Something went wrong")
 
846
        different_error = subunit.RemoteError(u"boo!")
861
847
        self.assertEqual(error, another_error)
862
848
        self.assertNotEqual(error, different_error)
863
849
        self.assertNotEqual(different_error, another_error)
864
850
 
865
851
    def test_empty_constructor(self):
866
 
        self.assertEqual(subunit.RemoteError(), subunit.RemoteError(_u("")))
 
852
        self.assertEqual(subunit.RemoteError(), subunit.RemoteError(u""))
867
853
 
868
854
 
869
855
class TestExecTestCase(unittest.TestCase):
951
937
 
952
938
 
953
939
    def test_construct(self):
954
 
        test = self.SampleIsolatedTestCase("test_sets_global_state")
 
940
        self.SampleIsolatedTestCase("test_sets_global_state")
955
941
 
956
942
    def test_run(self):
957
943
        result = unittest.TestResult()
987
973
 
988
974
 
989
975
    def test_construct(self):
990
 
        suite = subunit.IsolatedTestSuite()
 
976
        subunit.IsolatedTestSuite()
991
977
 
992
978
    def test_run(self):
993
979
        result = unittest.TestResult()
1014
1000
            ContentType('text', 'plain'), lambda:['serialised\nform'])}
1015
1001
        self.sample_tb_details = dict(self.sample_details)
1016
1002
        self.sample_tb_details['traceback'] = TracebackContent(
1017
 
            subunit.RemoteError(_u("boo qux")), self.test)
 
1003
            subunit.RemoteError(u"boo qux"), self.test)
1018
1004
 
1019
1005
    def test_start_test(self):
1020
1006
        """Test startTest on a TestProtocolClient."""
1044
1030
    def test_add_failure(self):
1045
1031
        """Test addFailure on a TestProtocolClient."""
1046
1032
        self.protocol.addFailure(
1047
 
            self.test, subunit.RemoteError(_u("boo qux")))
 
1033
            self.test, subunit.RemoteError(u"boo qux"))
1048
1034
        self.assertEqual(
1049
1035
            self.io.getvalue(),
1050
1036
            ('failure: %s [\n' + _remote_exception_str + ': boo qux\n]\n')
1068
1054
    def test_add_error(self):
1069
1055
        """Test stopTest on a TestProtocolClient."""
1070
1056
        self.protocol.addError(
1071
 
            self.test, subunit.RemoteError(_u("phwoar crikey")))
 
1057
            self.test, subunit.RemoteError(u"phwoar crikey"))
1072
1058
        self.assertEqual(
1073
1059
            self.io.getvalue(),
1074
1060
            ('error: %s [\n' +
1093
1079
    def test_add_expected_failure(self):
1094
1080
        """Test addExpectedFailure on a TestProtocolClient."""
1095
1081
        self.protocol.addExpectedFailure(
1096
 
            self.test, subunit.RemoteError(_u("phwoar crikey")))
 
1082
            self.test, subunit.RemoteError(u"phwoar crikey"))
1097
1083
        self.assertEqual(
1098
1084
            self.io.getvalue(),
1099
1085
            ('xfail: %s [\n' +
1122
1108
        self.assertEqual(
1123
1109
            self.io.getvalue(),
1124
1110
            'skip: %s [\nHas it really?\n]\n' % self.test.id())
1125
 
    
 
1111
 
1126
1112
    def test_add_skip_details(self):
1127
1113
        """Test addSkip on a TestProtocolClient with details."""
1128
1114
        details = {'reason':Content(