diff options
author | Mats Wichmann <mats@linux.com> | 2020-02-19 15:55:58 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-19 15:55:58 (GMT) |
commit | c2df72aa0dbfa5f62ba3753e6824fa663604307c (patch) | |
tree | 93c0b03c08662232acd9512e8aa089d367e85a13 | |
parent | 83304e49c44ec770bb5770d6ef6a6ece4dec92f8 (diff) | |
parent | 1a7f7caa2ecc2fdeaeb69c27a41d9986718de7ae (diff) | |
download | SCons-c2df72aa0dbfa5f62ba3753e6824fa663604307c.zip SCons-c2df72aa0dbfa5f62ba3753e6824fa663604307c.tar.gz SCons-c2df72aa0dbfa5f62ba3753e6824fa663604307c.tar.bz2 |
Merge pull request #3 from bdbaddog/substfilesuffix
Add testcase for GitHub Issue #3540. …
-rw-r--r-- | test/textfile/fixture/SConstruct.issue-3540 | 23 | ||||
-rw-r--r-- | test/textfile/fixture/SConstruct.issue-3550 | 4 | ||||
-rw-r--r-- | test/textfile/fixture/substfile.in (renamed from test/textfile/fixture/foo-3550.in) | 0 | ||||
-rw-r--r-- | test/textfile/issue-3540.py | 48 | ||||
-rw-r--r-- | test/textfile/issue-3550.py | 12 |
5 files changed, 82 insertions, 5 deletions
diff --git a/test/textfile/fixture/SConstruct.issue-3540 b/test/textfile/fixture/SConstruct.issue-3540 new file mode 100644 index 0000000..021689a --- /dev/null +++ b/test/textfile/fixture/SConstruct.issue-3540 @@ -0,0 +1,23 @@ +""" +Test for GH Issue 3540 + +textfile()'s action is not sensitive to changes in TEXTFILESUFFIX (rather was sensitive to SUBSTFILESUFFIX) + +""" + +DefaultEnvironment(tools=[]) + +text_file_suffix = ARGUMENTS.get('text_file_suffix', 'DEFAULTSUFFIX') + +env = Environment(tools=['textfile'], + TEXTFILESUFFIX=text_file_suffix) + +env['FOO_PATH'] = "test-value-1" + +foo = env.Substfile( + target="substfile", + source="substfile.in", + SUBST_DICT={ + "@foo_path@": "$FOO_PATH", + } +) diff --git a/test/textfile/fixture/SConstruct.issue-3550 b/test/textfile/fixture/SConstruct.issue-3550 index 8502717..0239ade 100644 --- a/test/textfile/fixture/SConstruct.issue-3550 +++ b/test/textfile/fixture/SConstruct.issue-3550 @@ -4,8 +4,8 @@ env = Environment(tools=['textfile']) env['FOO_PATH'] = r'Z:\mongo\build\install\bin' foo = env.Substfile( - target="foo", - source="foo-3550.in", + target="substfile", + source="substfile.in", SUBST_DICT={ "@foo_path@": "$FOO_PATH", } diff --git a/test/textfile/fixture/foo-3550.in b/test/textfile/fixture/substfile.in index c806a04..c806a04 100644 --- a/test/textfile/fixture/foo-3550.in +++ b/test/textfile/fixture/substfile.in diff --git a/test/textfile/issue-3540.py b/test/textfile/issue-3540.py new file mode 100644 index 0000000..b53f06a --- /dev/null +++ b/test/textfile/issue-3540.py @@ -0,0 +1,48 @@ +#!/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 for GH Issue 3540 + +textfile()'s action is not sensitive to changes in TEXTFILEPREFIX (rather was sensitive to SUBSTFILEPREFIX) + +""" + +import TestSCons + +test = TestSCons.TestSCons() + +# test.verbose_set(1) + +test.file_fixture('fixture/substfile.in', 'substfile.in') +test.file_fixture('fixture/SConstruct.issue-3540', 'SConstruct') + +test.run() +test.must_exist('substfile') + +test.up_to_date(options='text_file_suffix=BLAH') + + +test.pass_test() diff --git a/test/textfile/issue-3550.py b/test/textfile/issue-3550.py index 60430ed..5951d1b 100644 --- a/test/textfile/issue-3550.py +++ b/test/textfile/issue-3550.py @@ -23,21 +23,27 @@ # __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +""" +Test for GH Issue 3550 + + You can't pass a Windows path in a value to be interpolated, + because SCons will try to pass it through re.sub which rejects certain character sequences. +""" import TestSCons test = TestSCons.TestSCons() -test.verbose_set(1) +# test.verbose_set(1) match_mode = 'r' test.file_fixture('fixture/SConstruct.issue-3550', 'SConstruct') -test.file_fixture('fixture/foo-3550.in', 'foo-3550.in') +test.file_fixture('fixture/substfile.in', 'substfile.in') test.run(arguments='.') -test.must_match('foo', +test.must_match('substfile', r'''foo_path: Z:\mongo\build\install\bin ''', mode=match_mode) |