~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_selftest.py

  • Committer: Vincent Ladeuil
  • Date: 2010-02-09 17:27:46 UTC
  • mto: (5029.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5030.
  • Revision ID: v.ladeuil+lp@free.fr-20100209172746-6f4mvlnr2mac807j
Move NoSmartTransportServer to bzrlib.tests.test_server

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2007 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""UI tests for the test framework."""
18
18
 
19
 
import os
20
 
 
21
19
from bzrlib import (
 
20
    benchmarks,
22
21
    tests,
23
22
    )
24
23
from bzrlib.tests import (
25
24
    features,
 
25
    stub_sftp,
26
26
    )
27
 
from bzrlib.transport import memory
 
27
 
28
28
 
29
29
class SelfTestPatch:
30
30
 
47
47
            tests.selftest = original_selftest
48
48
 
49
49
 
 
50
class TestOptionsWritingToDisk(tests.TestCaseInTempDir, SelfTestPatch):
 
51
 
 
52
    def test_benchmark_runs_benchmark_tests(self):
 
53
        """selftest --benchmark should change the suite factory."""
 
54
        params = self.get_params_passed_to_core('selftest --benchmark')
 
55
        self.assertEqual(benchmarks.test_suite,
 
56
            params[1]['test_suite_factory'])
 
57
        self.assertNotEqual(None, params[1]['bench_history'])
 
58
        benchfile = open(".perf_history", "rt")
 
59
        try:
 
60
            lines = benchfile.readlines()
 
61
        finally:
 
62
            benchfile.close()
 
63
        # Because we don't run the actual test code no output is made to the
 
64
        # file.
 
65
        self.assertEqual(0, len(lines))
 
66
 
 
67
 
50
68
class TestOptions(tests.TestCase, SelfTestPatch):
51
69
 
52
70
    def test_load_list(self):
57
75
        # Test that we can pass a transport to the selftest core - sftp
58
76
        # version.
59
77
        self.requireFeature(features.paramiko)
60
 
        from bzrlib.tests import stub_sftp
61
78
        params = self.get_params_passed_to_core('selftest --transport=sftp')
62
79
        self.assertEqual(stub_sftp.SFTPAbsoluteServer,
63
80
            params[1]["transport"])
65
82
    def test_transport_set_to_memory(self):
66
83
        # Test that we can pass a transport to the selftest core - memory
67
84
        # version.
 
85
        import bzrlib.transport.memory
68
86
        params = self.get_params_passed_to_core('selftest --transport=memory')
69
 
        self.assertEqual(memory.MemoryServer, params[1]["transport"])
 
87
        self.assertEqual(bzrlib.transport.memory.MemoryServer,
 
88
            params[1]["transport"])
70
89
 
71
90
    def test_parameters_passed_to_core(self):
72
91
        params = self.get_params_passed_to_core('selftest --list-only')
150
169
    def test_lsprof_tests(self):
151
170
        params = self.get_params_passed_to_core('selftest --lsprof-tests')
152
171
        self.assertEqual(True, params[1]["lsprof_tests"])
153
 
 
154
 
    def test_parallel_fork_unsupported(self):
155
 
        if getattr(os, "fork", None) is not None:
156
 
            self.addCleanup(setattr, os, "fork", os.fork)
157
 
            del os.fork
158
 
        out, err = self.run_bzr(["selftest", "--parallel=fork", "-s", "bt.x"],
159
 
            retcode=3)
160
 
        self.assertIn("platform does not support fork", err)
161
 
        self.assertFalse(out)