view tests/test_push_eol.py @ 1485:6088597abd20 stable

test_fetch_renames: avoid hash randomization bug in test When hash randomization is enabled, the order in which revisions are committed to the Mercurial repository can vary for revisions which span branches. In order to work around this, we key the dictionary of golden values for copy data using the suffix of the convert_revision metadata rather than the Mercurial changelog index of the revision.
author Augie Fackler <raf@durin42.com>
date Sun, 26 Jun 2016 20:28:34 -0400
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'])