Commits

Anonymous committed f355075

Add a test for -- terminating option processing.

Comments (0)

Files changed (1)

+#!/usr/bin/env python
+
+__revision__ = "test/option-n.py __REVISION__ __DATE__ __DEVELOPER__"
+
+import TestCmd
+import os.path
+import string
+import sys
+
+test = TestCmd.TestCmd(program = 'scons.py',
+                       workdir = '',
+                       interpreter = 'python')
+
+test.write('build.py', r"""
+import sys
+file = open(sys.argv[1], 'w')
+file.write("build.py: %s\n" % sys.argv[1])
+file.close()
+""")
+
+test.write('SConstruct', """
+MyBuild = Builder(name = "MyBuild",
+		  action = "python build.py %(target)s")
+env = Environment(BUILDERS = [MyBuild])
+env.MyBuild(target = '-f1.out', source = 'f1.in')
+env.MyBuild(target = '-f2.out', source = 'f2.in')
+""")
+
+expect = "python build.py -f1.out\npython build.py -f2.out\n"
+
+test.run(chdir = '.', arguments = '-- -f1.out -f2.out')
+
+test.fail_test(test.stdout() != expect)
+test.fail_test(test.stderr() != "")
+test.fail_test(not os.path.exists(test.workpath('-f1.out')))
+test.fail_test(not os.path.exists(test.workpath('-f2.out')))
+
+test.pass_test()
+