~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport/ftp/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-03-19 15:41:45 UTC
  • mfrom: (4167.1.1 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20090319154145-159h7mmiivu3df6v
(vila) FTP test server: disable medusa for python2.6, add pyftpdlib

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 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
31
31
import os
32
32
import os.path
33
33
import urlparse
 
34
import random
34
35
import socket
35
36
import stat
36
37
import time
37
 
import random
38
38
from warnings import warn
39
39
 
40
40
from bzrlib import (
439
439
        if mode:
440
440
            try:
441
441
                mutter("FTP site chmod: setting permissions to %s on %s",
442
 
                    str(mode), self._remote_path(relpath))
 
442
                       oct(mode), self._remote_path(relpath))
443
443
                ftp = self._get_FTP()
444
444
                cmd = "SITE CHMOD %s %s" % (oct(mode),
445
445
                                            self._remote_path(relpath))
447
447
            except ftplib.error_perm, e:
448
448
                # Command probably not available on this server
449
449
                warning("FTP Could not set permissions to %s on %s. %s",
450
 
                        str(mode), self._remote_path(relpath), str(e))
 
450
                        oct(mode), self._remote_path(relpath), str(e))
451
451
 
452
452
    # TODO: jam 20060516 I believe ftp allows you to tell an ftp server
453
453
    #       to copy something to another machine. And you may be able
597
597
 
598
598
def get_test_permutations():
599
599
    """Return the permutations to be used in testing."""
600
 
    from bzrlib import tests
601
 
    if tests.FTPServerFeature.available():
602
 
        from bzrlib.tests import ftp_server
603
 
        return [(FtpTransport, ftp_server.FTPServer)]
604
 
    else:
605
 
        # Dummy server to have the test suite report the number of tests
606
 
        # needing that feature. We raise UnavailableFeature from methods before
607
 
        # the test server is being used. Doing so in the setUp method has bad
608
 
        # side-effects (tearDown is never called).
609
 
        class UnavailableFTPServer(object):
610
 
 
611
 
            def setUp(self, vfs_server=None):
612
 
                pass
613
 
 
614
 
            def tearDown(self):
615
 
                pass
616
 
 
617
 
            def get_url(self):
618
 
                raise tests.UnavailableFeature(tests.FTPServerFeature)
619
 
 
620
 
            def get_bogus_url(self):
621
 
                raise tests.UnavailableFeature(tests.FTPServerFeature)
622
 
 
623
 
        return [(FtpTransport, UnavailableFTPServer)]
 
600
    from bzrlib.tests import ftp_server
 
601
    return [(FtpTransport, ftp_server.FTPTestServer)]