1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
# Tests proper handling of lextab and parsetab files in package structures
# Check of warning messages when files aren't writable
# Here for testing purposes
import sys
if '..' not in sys.path:
sys.path.insert(0, '..')
import ply.lex
import ply.yacc
def patched_open(filename, mode):
if 'w' in mode:
raise IOError("Permission denied %r" % filename)
return open(filename, mode)
ply.lex.open = patched_open
ply.yacc.open = patched_open
try:
from .parsing.calcparse import parser
finally:
del ply.lex.open
del ply.yacc.open
|