summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMats Wichmann <mats@linux.com>2020-02-19 15:55:58 (GMT)
committerGitHub <noreply@github.com>2020-02-19 15:55:58 (GMT)
commitc2df72aa0dbfa5f62ba3753e6824fa663604307c (patch)
tree93c0b03c08662232acd9512e8aa089d367e85a13
parent83304e49c44ec770bb5770d6ef6a6ece4dec92f8 (diff)
parent1a7f7caa2ecc2fdeaeb69c27a41d9986718de7ae (diff)
downloadSCons-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-354023
-rw-r--r--test/textfile/fixture/SConstruct.issue-35504
-rw-r--r--test/textfile/fixture/substfile.in (renamed from test/textfile/fixture/foo-3550.in)0
-rw-r--r--test/textfile/issue-3540.py48
-rw-r--r--test/textfile/issue-3550.py12
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)