local_help = None
num_jobs = 1
Scripts = []
+include_dirs = []
# utility functions
short = 'i', long = ['ignore-errors'],
help = "Ignore errors from build actions.")
- Option(func = opt_not_yet,
+ def opt_I(opt, arg):
+ global include_dirs
+ include_dirs = include_dirs + [arg]
+
+ Option(func = opt_I,
short = 'I', long = ['include-dir'], arg = 'DIRECTORY',
help = "Search DIRECTORY for imported Python modules.")
#
#sys.path = dirlist
+ sys.path = include_dirs + sys.path
+
# initialize node factory
init()
workdir = '',
interpreter = 'python')
-test.write('SConstruct', "")
+test.subdir('sub1', 'sub2')
-test.run(chdir = '.', arguments = '-I foo')
+test.write(['sub1', 'foo.py'], """
+variable = "sub1/foo"
+""")
-test.fail_test(test.stderr() !=
- "Warning: the -I option is not yet implemented\n")
+test.write(['sub2', 'foo.py'], """
+variable = "sub2/foo"
+""")
-test.run(chdir = '.', arguments = '--include-dir=foo')
+test.write(['sub2', 'bar.py'], """
+variable = "sub2/bar"
+""")
-test.fail_test(test.stderr() !=
- "Warning: the --include-dir option is not yet implemented\n")
+test.write('SConstruct', """
+import foo
+print foo.variable
+import bar
+print bar.variable
+""")
+
+test.run(chdir = '.', arguments = '-I sub1 -I sub2')
+
+test.fail_test(test.stdout() != "sub1/foo\nsub2/bar\n")
+test.fail_test(test.stderr() != "")
+
+test.run(chdir = '.', arguments = '--include-dir=sub2 --include-dir=sub1')
+
+test.fail_test(test.stdout() != "sub2/foo\nsub2/bar\n")
+test.fail_test(test.stderr() != "")
test.pass_test()