From 2acc329d8522dbaadece2c61744cf99019747239 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Wed, 24 Sep 2008 12:28:10 +0000 Subject: Split the MSVS variant_dir sub-tests into separate test scripts. --- test/MSVS/vs-6.0-files.py | 76 ++++++++-------------------------- test/MSVS/vs-6.0-variant_dir.py | 82 ++++++++++++++++++++++++++++++++++++ test/MSVS/vs-7.0-files.py | 88 ++++++++++----------------------------- test/MSVS/vs-7.0-variant_dir.py | 84 +++++++++++++++++++++++++++++++++++++ test/MSVS/vs-7.1-files.py | 88 ++++++++++----------------------------- test/MSVS/vs-7.1-variant_dir.py | 84 +++++++++++++++++++++++++++++++++++++ test/MSVS/vs-8.0-files.py | 92 ++++++++++------------------------------- test/MSVS/vs-8.0-variant_dir.py | 88 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 418 insertions(+), 264 deletions(-) create mode 100644 test/MSVS/vs-6.0-variant_dir.py create mode 100644 test/MSVS/vs-7.0-variant_dir.py create mode 100644 test/MSVS/vs-7.1-variant_dir.py create mode 100644 test/MSVS/vs-8.0-variant_dir.py diff --git a/test/MSVS/vs-6.0-files.py b/test/MSVS/vs-6.0-files.py index 7287e5a..3e75626 100644 --- a/test/MSVS/vs-6.0-files.py +++ b/test/MSVS/vs-6.0-files.py @@ -29,9 +29,6 @@ Test that we can generate Visual Studio 6 project (.dsp) and solution (.dsw) files that look correct. """ -import os -import sys - import TestSConsMSVS test = TestSConsMSVS.TestSConsMSVS() @@ -47,74 +44,35 @@ SConscript_contents = TestSConsMSVS.SConscript_contents_6_0 -test.subdir('work1') - -test.write(['work1', 'SConstruct'], SConscript_contents) +test.write('SConstruct', SConscript_contents) -test.run(chdir='work1', arguments="Test.dsp") +test.run(arguments="Test.dsp") -test.must_exist(test.workpath('work1', 'Test.dsp')) -dsp = test.read(['work1', 'Test.dsp'], 'r') -expect = test.msvs_substitute(expected_dspfile, '6.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.dsp')) +dsp = test.read('Test.dsp', 'r') +expect = test.msvs_substitute(expected_dspfile, '6.0', None, 'SConstruct') # don't compare the pickled data assert dsp[:len(expect)] == expect, test.diff_substr(expect, dsp) -test.must_exist(test.workpath('work1', 'Test.dsw')) -dsw = test.read(['work1', 'Test.dsw'], 'r') -expect = test.msvs_substitute(expected_dswfile, '6.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.dsw')) +dsw = test.read('Test.dsw', 'r') +expect = test.msvs_substitute(expected_dswfile, '6.0', None, 'SConstruct') assert dsw == expect, test.diff_substr(expect, dsw) -test.run(chdir='work1', arguments='-c .') - -test.must_not_exist(test.workpath('work1', 'Test.dsp')) -test.must_not_exist(test.workpath('work1', 'Test.dsw')) - -test.run(chdir='work1', arguments='Test.dsp') - -test.must_exist(test.workpath('work1', 'Test.dsp')) -test.must_exist(test.workpath('work1', 'Test.dsw')) - -test.run(chdir='work1', arguments='-c Test.dsw') - -test.must_not_exist(test.workpath('work1', 'Test.dsp')) -test.must_not_exist(test.workpath('work1', 'Test.dsw')) +test.run(arguments='-c .') +test.must_not_exist(test.workpath('Test.dsp')) +test.must_not_exist(test.workpath('Test.dsw')) +test.run(arguments='Test.dsp') -test.subdir('work2', ['work2', 'src']) +test.must_exist(test.workpath('Test.dsp')) +test.must_exist(test.workpath('Test.dsw')) -test.write(['work2', 'SConstruct'], """\ -SConscript('src/SConscript', variant_dir='build') -""") - -test.write(['work2', 'src', 'SConscript'], SConscript_contents) - -test.run(chdir='work2', arguments=".") - -dsp = test.read(['work2', 'src', 'Test.dsp'], 'r') -expect = test.msvs_substitute(expected_dspfile, '6.0', 'work2', 'SConstruct') -# don't compare the pickled data -assert dsp[:len(expect)] == expect, test.diff_substr(expect, dsp) - -test.must_exist(test.workpath('work2', 'src', 'Test.dsw')) -dsw = test.read(['work2', 'src', 'Test.dsw'], 'r') -expect = test.msvs_substitute(expected_dswfile, '6.0', - os.path.join('work2', 'src')) -assert dsw == expect, test.diff_substr(expect, dsw) +test.run(arguments='-c Test.dsw') -test.must_match(['work2', 'build', 'Test.dsp'], """\ -This is just a placeholder file. -The real project file is here: -%s -""" % test.workpath('work2', 'src', 'Test.dsp'), - mode='r') - -test.must_match(['work2', 'build', 'Test.dsw'], """\ -This is just a placeholder file. -The real workspace file is here: -%s -""" % test.workpath('work2', 'src', 'Test.dsw'), - mode='r') +test.must_not_exist(test.workpath('Test.dsp')) +test.must_not_exist(test.workpath('Test.dsw')) diff --git a/test/MSVS/vs-6.0-variant_dir.py b/test/MSVS/vs-6.0-variant_dir.py new file mode 100644 index 0000000..c642e4e --- /dev/null +++ b/test/MSVS/vs-6.0-variant_dir.py @@ -0,0 +1,82 @@ +#!/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__" + +""" +Test that we can generate Visual Studio 6 project (.dsp) and solution +(.dsw) files that look correct when using a variant_dir. +""" + +import TestSConsMSVS + +test = TestSConsMSVS.TestSConsMSVS() + +# Make the test infrastructure think we have this version of MSVS installed. +test._msvs_versions = ['6.0'] + + + +expected_dspfile = TestSConsMSVS.expected_dspfile_6_0 +expected_dswfile = TestSConsMSVS.expected_dswfile_6_0 +SConscript_contents = TestSConsMSVS.SConscript_contents_6_0 + + +test.subdir('src') + +test.write('SConstruct', """\ +SConscript('src/SConscript', variant_dir='build') +""") + +test.write(['src', 'SConscript'], SConscript_contents) + +test.run(arguments=".") + +dsp = test.read(['src', 'Test.dsp'], 'r') +expect = test.msvs_substitute(expected_dspfile, '6.0', None, 'SConstruct') +# don't compare the pickled data +assert dsp[:len(expect)] == expect, test.diff_substr(expect, dsp) + +test.must_exist(test.workpath('src', 'Test.dsw')) +dsw = test.read(['src', 'Test.dsw'], 'r') +expect = test.msvs_substitute(expected_dswfile, '6.0', 'src') +assert dsw == expect, test.diff_substr(expect, dsw) + +test.must_match(['build', 'Test.dsp'], """\ +This is just a placeholder file. +The real project file is here: +%s +""" % test.workpath('src', 'Test.dsp'), + mode='r') + +test.must_match(['build', 'Test.dsw'], """\ +This is just a placeholder file. +The real workspace file is here: +%s +""" % test.workpath('src', 'Test.dsw'), + mode='r') + + + +test.pass_test() diff --git a/test/MSVS/vs-7.0-files.py b/test/MSVS/vs-7.0-files.py index c8134e9..d20b298 100644 --- a/test/MSVS/vs-7.0-files.py +++ b/test/MSVS/vs-7.0-files.py @@ -30,8 +30,6 @@ solution (.sln) files that look correct. """ import os -import os.path -import sys import TestSConsMSVS @@ -48,38 +46,36 @@ SConscript_contents = TestSConsMSVS.SConscript_contents_7_0 -test.subdir('work1') +test.write('SConstruct', SConscript_contents) -test.write(['work1', 'SConstruct'], SConscript_contents) +test.run(arguments="Test.vcproj") -test.run(chdir='work1', arguments="Test.vcproj") - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.0', None, 'SConstruct') # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work1', 'Test.sln')) -sln = test.read(['work1', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '7.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.sln')) +sln = test.read('Test.sln', 'r') +expect = test.msvs_substitute(expected_slnfile, '7.0', None, 'SConstruct') # don't compare the pickled data assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) -test.run(chdir='work1', arguments='-c .') +test.run(arguments='-c .') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='Test.vcproj') +test.run(arguments='Test.vcproj') -test.must_exist(test.workpath('work1', 'Test.vcproj')) -test.must_exist(test.workpath('work1', 'Test.sln')) +test.must_exist(test.workpath('Test.vcproj')) +test.must_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='-c Test.sln') +test.run(arguments='-c Test.sln') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) @@ -88,57 +84,15 @@ test.must_not_exist(test.workpath('work1', 'Test.sln')) os.environ['PYTHON_ROOT'] = 'xyzzy' python = os.path.join('$(PYTHON_ROOT)', os.path.split(TestSConsMSVS.python)[1]) -test.run(chdir='work1', arguments='Test.vcproj') - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.0', 'work1', 'SConstruct', - python=python) -# don't compare the pickled data -assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) - -del os.environ['PYTHON_ROOT'] -python = None - - +test.run(arguments='Test.vcproj') -test.subdir('work2', ['work2', 'src']) - -test.write(['work2', 'SConstruct'], """\ -SConscript('src/SConscript', variant_dir='build') -""") - -test.write(['work2', 'src', 'SConscript'], SConscript_contents) - -test.run(chdir='work2', arguments=".") - -vcproj = test.read(['work2', 'src', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.0', 'work2', 'SConstruct', +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.0', None, 'SConstruct', python=python) # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work2', 'src', 'Test.sln')) -sln = test.read(['work2', 'src', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '7.0', - os.path.join('work2', 'src')) -# don't compare the pickled data -assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) - -test.must_match(['work2', 'build', 'Test.vcproj'], """\ -This is just a placeholder file. -The real project file is here: -%s -""" % test.workpath('work2', 'src', 'Test.vcproj'), - mode='r') - -test.must_match(['work2', 'build', 'Test.sln'], """\ -This is just a placeholder file. -The real workspace file is here: -%s -""" % test.workpath('work2', 'src', 'Test.sln'), - mode='r') - test.pass_test() diff --git a/test/MSVS/vs-7.0-variant_dir.py b/test/MSVS/vs-7.0-variant_dir.py new file mode 100644 index 0000000..eba00dc --- /dev/null +++ b/test/MSVS/vs-7.0-variant_dir.py @@ -0,0 +1,84 @@ +#!/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__" + +""" +Test that we can generate Visual Studio 7.0 project (.vcproj) and +solution (.sln) files that look correct when using a variant_dir. +""" + +import TestSConsMSVS + +test = TestSConsMSVS.TestSConsMSVS() + +# Make the test infrastructure think we have this version of MSVS installed. +test._msvs_versions = ['7.0'] + + + +expected_slnfile = TestSConsMSVS.expected_slnfile_7_0 +expected_vcprojfile = TestSConsMSVS.expected_vcprojfile_7_0 +SConscript_contents = TestSConsMSVS.SConscript_contents_7_0 + + + +test.subdir('src') + +test.write('SConstruct', """\ +SConscript('src/SConscript', variant_dir='build') +""") + +test.write(['src', 'SConscript'], SConscript_contents) + +test.run(arguments=".") + +vcproj = test.read(['src', 'Test.vcproj'], 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.0', None, 'SConstruct') +# don't compare the pickled data +assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) + +test.must_exist(test.workpath('src', 'Test.sln')) +sln = test.read(['src', 'Test.sln'], 'r') +expect = test.msvs_substitute(expected_slnfile, '7.0', 'src') +# don't compare the pickled data +assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) + +test.must_match(['build', 'Test.vcproj'], """\ +This is just a placeholder file. +The real project file is here: +%s +""" % test.workpath('src', 'Test.vcproj'), + mode='r') + +test.must_match(['build', 'Test.sln'], """\ +This is just a placeholder file. +The real workspace file is here: +%s +""" % test.workpath('src', 'Test.sln'), + mode='r') + + + +test.pass_test() diff --git a/test/MSVS/vs-7.1-files.py b/test/MSVS/vs-7.1-files.py index f797a38..35815db 100644 --- a/test/MSVS/vs-7.1-files.py +++ b/test/MSVS/vs-7.1-files.py @@ -30,8 +30,6 @@ solution (.sln) files that look correct. """ import os -import os.path -import sys import TestSConsMSVS @@ -48,38 +46,36 @@ SConscript_contents = TestSConsMSVS.SConscript_contents_7_1 -test.subdir('work1') +test.write('SConstruct', SConscript_contents) -test.write(['work1', 'SConstruct'], SConscript_contents) +test.run(arguments="Test.vcproj") -test.run(chdir='work1', arguments="Test.vcproj") - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.1', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.1', None, 'SConstruct') # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work1', 'Test.sln')) -sln = test.read(['work1', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '7.1', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.sln')) +sln = test.read('Test.sln', 'r') +expect = test.msvs_substitute(expected_slnfile, '7.1', None, 'SConstruct') # don't compare the pickled data assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) -test.run(chdir='work1', arguments='-c .') +test.run(arguments='-c .') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='Test.vcproj') +test.run(arguments='Test.vcproj') -test.must_exist(test.workpath('work1', 'Test.vcproj')) -test.must_exist(test.workpath('work1', 'Test.sln')) +test.must_exist(test.workpath('Test.vcproj')) +test.must_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='-c Test.sln') +test.run(arguments='-c Test.sln') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) @@ -88,57 +84,15 @@ test.must_not_exist(test.workpath('work1', 'Test.sln')) os.environ['PYTHON_ROOT'] = 'xyzzy' python = os.path.join('$(PYTHON_ROOT)', os.path.split(TestSConsMSVS.python)[1]) -test.run(chdir='work1', arguments='Test.vcproj') - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.1', 'work1', 'SConstruct', - python=python) -# don't compare the pickled data -assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) - -del os.environ['PYTHON_ROOT'] -python = None - - +test.run(arguments='Test.vcproj') -test.subdir('work2', ['work2', 'src']) - -test.write(['work2', 'SConstruct'], """\ -SConscript('src/SConscript', variant_dir='build') -""") - -test.write(['work2', 'src', 'SConscript'], SConscript_contents) - -test.run(chdir='work2', arguments=".") - -vcproj = test.read(['work2', 'src', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '7.0', 'work2', 'SConstruct', +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.1', None, 'SConstruct', python=python) # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work2', 'src', 'Test.sln')) -sln = test.read(['work2', 'src', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '7.0', - os.path.join('work2', 'src')) -# don't compare the pickled data -assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) - -test.must_match(['work2', 'build', 'Test.vcproj'], """\ -This is just a placeholder file. -The real project file is here: -%s -""" % test.workpath('work2', 'src', 'Test.vcproj'), - mode='r') - -test.must_match(['work2', 'build', 'Test.sln'], """\ -This is just a placeholder file. -The real workspace file is here: -%s -""" % test.workpath('work2', 'src', 'Test.sln'), - mode='r') - test.pass_test() diff --git a/test/MSVS/vs-7.1-variant_dir.py b/test/MSVS/vs-7.1-variant_dir.py new file mode 100644 index 0000000..f0b6ffb --- /dev/null +++ b/test/MSVS/vs-7.1-variant_dir.py @@ -0,0 +1,84 @@ +#!/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__" + +""" +Test that we can generate Visual Studio 7.1 project (.vcproj) and +solution (.sln) files that look correct when using a variant_dir. +""" + +import TestSConsMSVS + +test = TestSConsMSVS.TestSConsMSVS() + +# Make the test infrastructure think we have this version of MSVS installed. +test._msvs_versions = ['7.1'] + + + +expected_slnfile = TestSConsMSVS.expected_slnfile_7_1 +expected_vcprojfile = TestSConsMSVS.expected_vcprojfile_7_1 +SConscript_contents = TestSConsMSVS.SConscript_contents_7_1 + + + +test.subdir('src') + +test.write('SConstruct', """\ +SConscript('src/SConscript', variant_dir='build') +""") + +test.write(['src', 'SConscript'], SConscript_contents) + +test.run(arguments=".") + +vcproj = test.read(['src', 'Test.vcproj'], 'r') +expect = test.msvs_substitute(expected_vcprojfile, '7.0', None, 'SConstruct') +# don't compare the pickled data +assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) + +test.must_exist(test.workpath('src', 'Test.sln')) +sln = test.read(['src', 'Test.sln'], 'r') +expect = test.msvs_substitute(expected_slnfile, '7.0', 'src') +# don't compare the pickled data +assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) + +test.must_match(['build', 'Test.vcproj'], """\ +This is just a placeholder file. +The real project file is here: +%s +""" % test.workpath('src', 'Test.vcproj'), + mode='r') + +test.must_match(['build', 'Test.sln'], """\ +This is just a placeholder file. +The real workspace file is here: +%s +""" % test.workpath('src', 'Test.sln'), + mode='r') + + + +test.pass_test() diff --git a/test/MSVS/vs-8.0-files.py b/test/MSVS/vs-8.0-files.py index d5d210a..28e9f2a 100644 --- a/test/MSVS/vs-8.0-files.py +++ b/test/MSVS/vs-8.0-files.py @@ -30,8 +30,6 @@ solution (.sln) files that look correct. """ import os -import os.path -import sys import TestSConsMSVS @@ -48,38 +46,36 @@ SConscript_contents = TestSConsMSVS.SConscript_contents_8_0 -test.subdir('work1') +test.write('SConstruct', SConscript_contents) -test.write(['work1', 'SConstruct'], SConscript_contents) +test.run(arguments="Test.vcproj") -test.run(chdir='work1', arguments="Test.vcproj") - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '8.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '8.0', None, 'SConstruct') # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work1', 'Test.sln')) -sln = test.read(['work1', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '8.0', 'work1', 'SConstruct') +test.must_exist(test.workpath('Test.sln')) +sln = test.read('Test.sln', 'r') +expect = test.msvs_substitute(expected_slnfile, '8.0', None, 'SConstruct') # don't compare the pickled data assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) -test.run(chdir='work1', arguments='-c .') +test.run(arguments='-c .') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='Test.vcproj') +test.run(arguments='Test.vcproj') -test.must_exist(test.workpath('work1', 'Test.vcproj')) -test.must_exist(test.workpath('work1', 'Test.sln')) +test.must_exist(test.workpath('Test.vcproj')) +test.must_exist(test.workpath('Test.sln')) -test.run(chdir='work1', arguments='-c Test.sln') +test.run(arguments='-c Test.sln') -test.must_not_exist(test.workpath('work1', 'Test.vcproj')) -test.must_not_exist(test.workpath('work1', 'Test.sln')) +test.must_not_exist(test.workpath('Test.vcproj')) +test.must_not_exist(test.workpath('Test.sln')) @@ -88,61 +84,15 @@ test.must_not_exist(test.workpath('work1', 'Test.sln')) os.environ['PYTHON_ROOT'] = 'xyzzy' python = os.path.join('$(PYTHON_ROOT)', os.path.split(TestSConsMSVS.python)[1]) -test.run(chdir='work1', arguments='Test.vcproj') - -test.must_exist(test.workpath('work1', 'Test.vcproj')) -vcproj = test.read(['work1', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, '8.0', 'work1', 'SConstruct', - python=python) -# don't compare the pickled data -assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) - -del os.environ['PYTHON_ROOT'] -python = None - - +test.run(arguments='Test.vcproj') -test.subdir('work2', ['work2', 'src']) - -test.write(['work2', 'SConstruct'], """\ -SConscript('src/SConscript', variant_dir='build') -""") - -test.write(['work2', 'src', 'SConscript'], SConscript_contents) - -test.run(chdir='work2', arguments=".") - -vcproj = test.read(['work2', 'src', 'Test.vcproj'], 'r') -expect = test.msvs_substitute(expected_vcprojfile, - '8.0', - 'work2', - 'SConstruct', - project_guid="{FC63FE9E-71B3-06CC-11AF-2077D8108DFE}", +test.must_exist(test.workpath('Test.vcproj')) +vcproj = test.read('Test.vcproj', 'r') +expect = test.msvs_substitute(expected_vcprojfile, '8.0', None, 'SConstruct', python=python) # don't compare the pickled data assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) -test.must_exist(test.workpath('work2', 'src', 'Test.sln')) -sln = test.read(['work2', 'src', 'Test.sln'], 'r') -expect = test.msvs_substitute(expected_slnfile, '8.0', - os.path.join('work2', 'src')) -# don't compare the pickled data -assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) - -test.must_match(['work2', 'build', 'Test.vcproj'], """\ -This is just a placeholder file. -The real project file is here: -%s -""" % test.workpath('work2', 'src', 'Test.vcproj'), - mode='r') - -test.must_match(['work2', 'build', 'Test.sln'], """\ -This is just a placeholder file. -The real workspace file is here: -%s -""" % test.workpath('work2', 'src', 'Test.sln'), - mode='r') - test.pass_test() diff --git a/test/MSVS/vs-8.0-variant_dir.py b/test/MSVS/vs-8.0-variant_dir.py new file mode 100644 index 0000000..35f89fd --- /dev/null +++ b/test/MSVS/vs-8.0-variant_dir.py @@ -0,0 +1,88 @@ +#!/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__" + +""" +Test that we can generate Visual Studio 8.0 project (.vcproj) and +solution (.sln) files that look correct when using a variant_dir. +""" + +import TestSConsMSVS + +test = TestSConsMSVS.TestSConsMSVS() + +# Make the test infrastructure think we have this version of MSVS installed. +test._msvs_versions = ['8.0'] + + + +expected_slnfile = TestSConsMSVS.expected_slnfile_8_0 +expected_vcprojfile = TestSConsMSVS.expected_vcprojfile_8_0 +SConscript_contents = TestSConsMSVS.SConscript_contents_8_0 + + + +test.subdir('src') + +test.write('SConstruct', """\ +SConscript('src/SConscript', variant_dir='build') +""") + +test.write(['src', 'SConscript'], SConscript_contents) + +test.run(arguments=".") + +vcproj = test.read(['src', 'Test.vcproj'], 'r') +expect = test.msvs_substitute(expected_vcprojfile, + '8.0', + None, + 'SConstruct', + project_guid="{FC63FE9E-71B3-06CC-11AF-2077D8108DFE}") +# don't compare the pickled data +assert vcproj[:len(expect)] == expect, test.diff_substr(expect, vcproj) + +test.must_exist(test.workpath('src', 'Test.sln')) +sln = test.read(['src', 'Test.sln'], 'r') +expect = test.msvs_substitute(expected_slnfile, '8.0', 'src') +# don't compare the pickled data +assert sln[:len(expect)] == expect, test.diff_substr(expect, sln) + +test.must_match(['build', 'Test.vcproj'], """\ +This is just a placeholder file. +The real project file is here: +%s +""" % test.workpath('src', 'Test.vcproj'), + mode='r') + +test.must_match(['build', 'Test.sln'], """\ +This is just a placeholder file. +The real workspace file is here: +%s +""" % test.workpath('src', 'Test.sln'), + mode='r') + + + +test.pass_test() -- cgit v0.12