Mercurial > hg
view tests/test-hg-parseurl.py @ 38865:899b4c74209c
fileset: combine union of basic patterns into single matcher
This appears to improve query performance in a big repository than I thought.
Writing less Python in a hot loop, faster computation we gain.
$ hg files --cwd mozilla-central --time 'set:a* + b* + c* + d* + e*'
(orig) time: real 0.670 secs (user 0.640+0.000 sys 0.030+0.000)
(new) time: real 0.210 secs (user 0.180+0.000 sys 0.020+0.000)
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 21 Jul 2018 17:19:12 +0900 |
parents | 5dd71e9ae68a |
children | 2372284d9457 |
line wrap: on
line source
from __future__ import absolute_import, print_function import unittest from mercurial import ( hg, ) class ParseRequestTests(unittest.TestCase): def testparse(self): self.assertEqual(hg.parseurl(b'http://example.com/no/anchor'), (b'http://example.com/no/anchor', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com/an/anchor#foo'), (b'http://example.com/an/anchor', (b'foo', []))) self.assertEqual( hg.parseurl(b'http://example.com/no/anchor/branches', [b'foo']), (b'http://example.com/no/anchor/branches', (None, [b'foo']))) self.assertEqual( hg.parseurl(b'http://example.com/an/anchor/branches#bar', [b'foo']), (b'http://example.com/an/anchor/branches', (b'bar', [b'foo']))) self.assertEqual(hg.parseurl( b'http://example.com/an/anchor/branches-None#foo', None), (b'http://example.com/an/anchor/branches-None', (b'foo', []))) self.assertEqual(hg.parseurl(b'http://example.com/'), (b'http://example.com/', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com'), (b'http://example.com/', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com#foo'), (b'http://example.com/', (b'foo', []))) if __name__ == '__main__': import silenttestrunner silenttestrunner.main(__name__)