summaryrefslogtreecommitdiffstats
path: root/test/LEX/LEX.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/LEX/LEX.py')
-rw-r--r--test/LEX/LEX.py55
1 files changed, 18 insertions, 37 deletions
diff --git a/test/LEX/LEX.py b/test/LEX/LEX.py
index 79d8359..7dc8436 100644
--- a/test/LEX/LEX.py
+++ b/test/LEX/LEX.py
@@ -1,6 +1,8 @@
#!/usr/bin/env python
#
-# __COPYRIGHT__
+# MIT License
+#
+# Copyright The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -20,10 +22,6 @@
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
-
import TestSCons
@@ -32,46 +30,29 @@ _exe = TestSCons._exe
test = TestSCons.TestSCons()
-
-
-test.write('mylex.py', """
-import getopt
-import sys
-if sys.platform == 'win32':
- longopts = ['nounistd']
-else:
- longopts = []
-cmd_opts, args = getopt.getopt(sys.argv[1:], 't', longopts)
-for a in args:
- with open(a, 'rb') as f:
- contents = f.read()
- sys.stdout.write(contents.replace(b'LEX', b'mylex.py').decode())
-sys.exit(0)
-""")
+test.file_fixture('mylex.py')
test.write('SConstruct', """
-env = Environment(LEX = r'%(_python_)s mylex.py', tools=['default', 'lex'])
-env.CFile(target = 'aaa', source = 'aaa.l')
-env.CFile(target = 'bbb', source = 'bbb.lex')
-env.CXXFile(target = 'ccc', source = 'ccc.ll')
-env.CXXFile(target = 'ddd', source = 'ddd.lm')
+env = Environment(LEX=r'%(_python_)s mylex.py', tools=['default', 'lex'])
+env.CFile(target='aaa', source='aaa.l')
+env.CFile(target='bbb', source='bbb.lex')
+env.CXXFile(target='ccc', source='ccc.ll')
+env.CXXFile(target='ddd', source='ddd.lm')
""" % locals())
-test.write('aaa.l', "aaa.l\nLEX\n")
-test.write('bbb.lex', "bbb.lex\nLEX\n")
-test.write('ccc.ll', "ccc.ll\nLEX\n")
-test.write('ddd.lm', "ddd.lm\nLEX\n")
+test.write('aaa.l', "aaa.l\nLEX\n")
+test.write('bbb.lex', "bbb.lex\nLEX\n")
+test.write('ccc.ll', "ccc.ll\nLEX\n")
+test.write('ddd.lm', "ddd.lm\nLEX\n")
-test.run(arguments = '.', stderr = None)
+test.run(arguments='.', stderr=None)
# Read in with mode='r' because mylex.py implicitley wrote to stdout
# with mode='w'.
-test.must_match('aaa.c', "aaa.l\nmylex.py\n", mode='r')
-test.must_match('bbb.c', "bbb.lex\nmylex.py\n", mode='r')
-test.must_match('ccc.cc', "ccc.ll\nmylex.py\n", mode='r')
-test.must_match('ddd.m', "ddd.lm\nmylex.py\n", mode='r')
-
-
+test.must_match('aaa.c', "aaa.l\nmylex.py\n", mode='r')
+test.must_match('bbb.c', "bbb.lex\nmylex.py\n", mode='r')
+test.must_match('ccc.cc', "ccc.ll\nmylex.py\n", mode='r')
+test.must_match('ddd.m', "ddd.lm\nmylex.py\n", mode='r')
test.pass_test()