view tests/test_push_eol.py @ 1453:d890d8d4e168

svnrepo: change svnurl to not use self.svn Before this patch, svnremoterepo uses self.svn.svn_url to answer svnurl. Accessing svnremoterepo.svn will create an svn ra object, which can be expensive because it involves network i/o. This patch changes it to use self.svnauth, which is a local operation. It speeds up "hg svn info" a lot. The old behavior is hard to test since instantiating a svn ra object requires a real URL. The change does not seem worth to set up SSH and HTTP servers to test. Therefore the tests are added only for the new behavior.
author Jun Wu <quark@fb.com>
date Sat, 11 Jun 2016 22:36:57 +0100
parents 23992b41b6b7
children
line wrap: on
line source

import test_util

import unittest

class TestPushEol(test_util.TestBase):
    obsolete_mode_tests = True
    stupid_mode_tests = True

    def setUp(self):
        test_util.TestBase.setUp(self)
        self._load_fixture_and_fetch('emptyrepo.svndump')

    def test_push_dirs(self):
        changes = [
            # Root files with LF, CRLF and mixed EOL
            ('lf', 'lf', 'a\nb\n\nc'),
            ('crlf', 'crlf', 'a\r\nb\r\n\r\nc'),
            ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd'),
            ]
        self.commitchanges(changes)
        self.pushrevisions()
        self.assertchanges(changes, self.repo['tip'])

        changes = [
            # Update all files once, with same EOL
            ('lf', 'lf', 'a\nb\n\nc\na\nb\n\nc'),
            ('crlf', 'crlf', 'a\r\nb\r\n\r\nc\r\na\r\nb\r\n\r\nc'),
            ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd\r\na\r\nb\n\r\nc\nd'),
            ]
        self.commitchanges(changes)
        self.pushrevisions()
        self.assertchanges(changes, self.repo['tip'])