tests/test-dirs.py
author Pulkit Goyal <7895pulkit@gmail.com>
Mon, 14 Sep 2020 14:31:23 +0530
changeset 45582 b9d6ab6cdeb4
parent 43571 c21aca51b392
child 48043 627cd8f33db0
permissions -rw-r--r--
configitems: add a new config option to control new filenode functionality This series is adding functionality where we can force create a new filenode for some files on a merge-commit. This is meant to represent an explicit choice made by user and hence distingusing the file in the merged commit with the file in parent by creating a new filenode instead of using the parent one. This introduces a experimental config option under which this functionality will be hidden. A new testcase is added in tests/test-merge-criss-cross.t to test the new functionality while making the option does not break other scenarios. Differential Revision: https://phab.mercurial-scm.org/D9026
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43542
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
from __future__ import absolute_import
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
import unittest
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
import silenttestrunner
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
43571
c21aca51b392 utils: move the `dirs` definition in pathutil (API)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43542
diff changeset
     7
from mercurial import pathutil
43542
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
class dirstests(unittest.TestCase):
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
    def testdirs(self):
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
        for case, want in [
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
            (b'a/a/a', [b'a', b'a/a', b'']),
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
            (b'alpha/beta/gamma', [b'', b'alpha', b'alpha/beta']),
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
        ]:
43571
c21aca51b392 utils: move the `dirs` definition in pathutil (API)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43542
diff changeset
    16
            d = pathutil.dirs({})
43542
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
            d.addpath(case)
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    18
            self.assertEqual(sorted(d), sorted(want))
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    20
    def testinvalid(self):
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    21
        with self.assertRaises(ValueError):
43571
c21aca51b392 utils: move the `dirs` definition in pathutil (API)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43542
diff changeset
    22
            d = pathutil.dirs({})
43542
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    23
            d.addpath(b'a//b')
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    24
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    25
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    26
if __name__ == '__main__':
5d40317d42b7 dirs: reject consecutive slashes in paths
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
    silenttestrunner.main(__name__)