diff options
Diffstat (limited to 'test/site_scons')
-rw-r--r-- | test/site_scons/no-site-dir.py | 11 | ||||
-rw-r--r-- | test/site_scons/sys-path.py | 65 |
2 files changed, 73 insertions, 3 deletions
diff --git a/test/site_scons/no-site-dir.py b/test/site_scons/no-site-dir.py index 6f2f26e..3fc5a6d 100644 --- a/test/site_scons/no-site-dir.py +++ b/test/site_scons/no-site-dir.py @@ -71,9 +71,14 @@ e=Environment() print e.subst('no site: M4 is $M4, M4_MINE is $M4_MINE') """) -test.run(arguments = '-Q --no-site-dir .', -stdout = """no site: M4 is m4, M4_MINE is -scons: `.' is up to date.\n""") +test.run(arguments = '-Q --no-site-dir .') + +not_expected = """Hi there, I am in site_scons/site_init.py! +no site: M4 is my_m4, M4_MINE is 1 +scons: `.' is up to date. +""" + +test.fail_test(test.stdout() == not_expected) diff --git a/test/site_scons/sys-path.py b/test/site_scons/sys-path.py new file mode 100644 index 0000000..7af45aa --- /dev/null +++ b/test/site_scons/sys-path.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# 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__" + +""" +Verify that the site_scons dir is added to sys.path as an +absolute path, so it will work from a subdir. +""" + +import TestSCons + +test = TestSCons.TestSCons() + +test.subdir('site_scons') +test.subdir('sub1') + +test.write(['site_scons', 'testmod1.py'], """ +print "Imported site_scons/testmod1.py." +""") +test.write(['site_scons', 'testmod2.py'], """ +print "Imported site_scons/testmod2.py." +""") + +test.write(['sub1', 'SConscript'], """ +import sys +import testmod2 # This call did not work before the fix + +""") + +test.write('SConstruct', """ +import sys +import testmod1 # this always worked +SConscript('sub1/SConscript') +""") + +test.run(arguments = '-Q .', + stdout = """Imported site_scons/testmod1.py. +Imported site_scons/testmod2.py. +scons: `.' is up to date.\n""") + +test.pass_test() + +# end of file |