sapling/tests/test-hgsubversion-helpers.py
Jun Wu 2c2e9112b0 hgsubversion: do not mess up with sys.path
Summary:
`run-tests.py` should set up `sys.path` correctly so `import mercurial` in
the hgsubversion tests should just work.

Also add a comment in `run-tests.py` to clarify this.

The hgsubversion module check is removed since it assumes the module lives in a
same directory as the test, which is not true with the `run-test.py --rebuild`
case.

Reviewed By: phillco

Differential Revision: D6758588

fbshipit-source-id: ba34253991e671dc972bcb1900243eab6b69fd92
2018-04-13 21:50:54 -07:00

36 lines
1.1 KiB
Python

import os, unittest
from hgext.hgsubversion import editor
class TestHelpers(unittest.TestCase):
def test_filestore(self):
fs = editor.FileStore(2)
fs.setfile('a', 'a')
fs.setfile('b', 'b')
self.assertEqual('a', fs._data.get('a'))
self.assertEqual('b', fs._data.get('b'))
fs.delfile('b')
self.assertRaises(IOError, lambda: fs.getfile('b'))
fs.setfile('bb', 'bb')
self.assertTrue('bb' in fs._files)
self.assertTrue('bb' not in fs._data)
self.assertEqual('bb', fs.getfile('bb'))
fs.delfile('bb')
self.assertTrue('bb' not in fs._files)
self.assertEqual([], os.listdir(fs._tempdir))
self.assertRaises(IOError, lambda: fs.getfile('bb'))
fs.setfile('bb', 'bb')
self.assertEqual(1, len(os.listdir(fs._tempdir)))
fs.popfile('bb')
self.assertEqual([], os.listdir(fs._tempdir))
self.assertRaises(editor.EditingError, lambda: fs.getfile('bb'))
fs.close()
if __name__ == '__main__':
import silenttestrunner
silenttestrunner.main(__name__)