Mercurial > hg
view tests/test-mactext.t @ 40939:8d9f366b7f19 stable
vfs: ensure closewrapbase fh doesn't escape by entering context manager
I'm not sure if there's a problem in practice here, as there's no test failure
either way. The __exit__() and close() methods raise an exception, so maybe
__exit__() and close() are being called directly on the underlying handle when
delayclosedfile is used on a context manager? I doubt that was intended.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 15 Dec 2018 13:54:37 -0500 |
parents | 5abc47d4ca6b |
children | da9b7f9635a2 |
line wrap: on
line source
$ cat > unix2mac.py <<EOF > import sys > > for path in sys.argv[1:]: > data = open(path, 'rb').read() > data = data.replace(b'\n', b'\r') > open(path, 'wb').write(data) > EOF $ cat > print.py <<EOF > import sys > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) > EOF $ hg init $ echo '[hooks]' >> .hg/hgrc $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc $ echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc $ cat .hg/hgrc [hooks] pretxncommit.cr = python:hgext.win32text.forbidcr pretxnchangegroup.cr = python:hgext.win32text.forbidcr $ echo hello > f $ hg add f $ hg ci -m 1 $ "$PYTHON" unix2mac.py f $ hg ci -m 2 attempt to commit or push text file(s) using CR line endings in dea860dc51ec: f transaction abort! rollback completed abort: pretxncommit.cr hook failed [255] $ hg cat f | "$PYTHON" print.py hello<LF> $ cat f | "$PYTHON" print.py hello<CR>