##// END OF EJS Templates
pushkey: do not exchange obsole markers if feature is disabled...
pushkey: do not exchange obsole markers if feature is disabled This apply to both push and pull both when client or server.

File last commit:

r15057:774da712 default
r17298:59c14bf5 stable
Show More
test-atomictempfile.py
48 lines | 1.2 KiB | text/x-python | PythonLexer
/ tests / test-atomictempfile.py
import os
import glob
from mercurial.util import atomictempfile
# basic usage
def test1_simple():
if os.path.exists('foo'):
os.remove('foo')
file = atomictempfile('foo')
(dir, basename) = os.path.split(file._tempname)
assert not os.path.isfile('foo')
assert basename in glob.glob('.foo-*')
file.write('argh\n')
file.close()
assert os.path.isfile('foo')
assert basename not in glob.glob('.foo-*')
print 'OK'
# discard() removes the temp file without making the write permanent
def test2_discard():
if os.path.exists('foo'):
os.remove('foo')
file = atomictempfile('foo')
(dir, basename) = os.path.split(file._tempname)
file.write('yo\n')
file.discard()
assert not os.path.isfile('foo')
assert basename not in os.listdir('.')
print 'OK'
# if a programmer screws up and passes bad args to atomictempfile, they
# get a plain ordinary TypeError, not infinite recursion
def test3_oops():
try:
file = atomictempfile()
except TypeError:
print "OK"
else:
print "expected TypeError"
if __name__ == '__main__':
test1_simple()
test2_discard()
test3_oops()