diff options
author | Daniel Moody <dmoody256@gmail.com> | 2016-11-11 06:24:48 (GMT) |
---|---|---|
committer | Daniel Moody <dmoody256@gmail.com> | 2016-11-11 06:24:48 (GMT) |
commit | 7b6b5aabd09fc6100d56544f2c5b99b57e0c41e7 (patch) | |
tree | 1c22c61ffe72a950fc518aa8c656627dcc3f5936 | |
parent | b527c93ebbb5b3e83b2f0882cf62d6072d8b4cb5 (diff) | |
download | SCons-7b6b5aabd09fc6100d56544f2c5b99b57e0c41e7.zip SCons-7b6b5aabd09fc6100d56544f2c5b99b57e0c41e7.tar.gz SCons-7b6b5aabd09fc6100d56544f2c5b99b57e0c41e7.tar.bz2 |
Wrote tests to make sure the xml is valid for visual studio project files generated by scons
This can occur when the user puts invalid characters that don't get converted to xml ampersands escapes
-rw-r--r-- | QMTest/TestSConsMSVS.py | 14 | ||||
-rw-r--r-- | test/MSVS/vs-14.0-exec.py | 6 |
2 files changed, 17 insertions, 3 deletions
diff --git a/QMTest/TestSConsMSVS.py b/QMTest/TestSConsMSVS.py index 39dbb5e..fcca470 100644 --- a/QMTest/TestSConsMSVS.py +++ b/QMTest/TestSConsMSVS.py @@ -20,6 +20,8 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import os import sys import platform +import traceback +from xml.etree import ElementTree from TestSCons import * from TestSCons import __all__ @@ -1156,6 +1158,18 @@ print("self._msvs_versions =", str(SCons.Tool.MSCommon.query_versions())) return host + def validate_msvs_file(self, file): + try: + x = ElementTree.parse(file) + except: + print("--------------------------------------------------------------") + print("--------------------------------------------------------------") + print(traceback.format_exc()) + print("Failed to validate xml in MSVS file: ") + print(file) + print("--------------------------------------------------------------") + print("--------------------------------------------------------------") + self.fail_test() # Local Variables: # tab-width:4 # indent-tabs-mode:nil diff --git a/test/MSVS/vs-14.0-exec.py b/test/MSVS/vs-14.0-exec.py index 911c4ac..f2a826c 100644 --- a/test/MSVS/vs-14.0-exec.py +++ b/test/MSVS/vs-14.0-exec.py @@ -71,8 +71,8 @@ env=Environment(MSVS_VERSION = '%(msvs_version)s') env.MSVSProject(target = 'foo.vcxproj', srcs = ['foo.c'], buildtarget = 'foo.exe', - variant = 'Release') - + variant = 'Release', + DebugSettings = {'LocalDebuggerCommandArguments':'echo "<foo.c>" > output.txt'}) env.Program('foo.c') """ % locals()) @@ -98,7 +98,7 @@ test.run(chdir='sub dir', arguments=['foo.sln', '/build', 'Release']) test.run(program=test.workpath('sub dir', 'foo'), stdout="foo.c\n") - +test.validate_msvs_file(test.workpath('sub dir', 'foo.vcxproj.user')) test.pass_test() |