summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2021-05-13 17:22:51 (GMT)
committerAndrew Morrow <acm@mongodb.com>2021-05-13 17:50:17 (GMT)
commit2909e28730ab72930f923b55f860d554f3b5e216 (patch)
treedee019fe700890d091dbd79d96f455dde8a6a0d3
parentcf62ab0371a135d137e5dfd9a3c3e5ab2d0168a1 (diff)
downloadSCons-2909e28730ab72930f923b55f860d554f3b5e216.zip
SCons-2909e28730ab72930f923b55f860d554f3b5e216.tar.gz
SCons-2909e28730ab72930f923b55f860d554f3b5e216.tar.bz2
3790 - Add a test which fails
-rw-r--r--test/CPPDEFINES/basic.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/test/CPPDEFINES/basic.py b/test/CPPDEFINES/basic.py
index d0019a1..176f543 100644
--- a/test/CPPDEFINES/basic.py
+++ b/test/CPPDEFINES/basic.py
@@ -39,13 +39,24 @@ test_list = [
['x', ['y', 123], 'z', ('int', '$INTEGER')],
{ 'c' : 3, 'b': None, 'a' : 1 },
"${TESTDEFS}",
+ "${GEN}",
]
+
+def generator(target, source, env, for_signature):
+ if target and source:
+ return '_'.join([str(target[0]), 'GENERATED', str(source[0])])
+ return 'TARGET_AND_SOURCE_ARE_MISSING'
+
for i in test_list:
- env = Environment(CPPDEFPREFIX='-D', CPPDEFSUFFIX='', INTEGER=0, TESTDEFS=["FOO", "BAR=1"])
- print(env.Clone(CPPDEFINES=i).subst('$_CPPDEFFLAGS'))
+ env = Environment(CPPDEFPREFIX='-D', CPPDEFSUFFIX='', INTEGER=0, TESTDEFS=["FOO", "BAR=1"], GEN=generator)
+ ttt = env.Entry('#ttt')
+ sss = env.Entry('#sss')
+ print(env.Clone(CPPDEFINES=i).subst('$_CPPDEFFLAGS', target=[ttt], source=[sss]))
for i in test_list:
- env = Environment(CPPDEFPREFIX='|', CPPDEFSUFFIX='|', INTEGER=1, TESTDEFS=["FOO", "BAR=1"])
- print(env.Clone(CPPDEFINES=i).subst('$_CPPDEFFLAGS'))
+ env = Environment(CPPDEFPREFIX='|', CPPDEFSUFFIX='|', INTEGER=1, TESTDEFS=["FOO", "BAR=1"], GEN=generator)
+ ttt = env.Entry('#ttt')
+ sss = env.Entry('#sss')
+ print(env.Clone(CPPDEFINES=i).subst('$_CPPDEFFLAGS', target=[ttt], source=[sss]))
""")
expect = test.wrap_stdout(build_str="scons: `.' is up to date.\n",
@@ -55,11 +66,13 @@ expect = test.wrap_stdout(build_str="scons: `.' is up to date.\n",
-Dx -Dy=123 -Dz -Dint=0
-Da=1 -Db -Dc=3
-DFOO -DBAR=1
+-Dttt_GENERATED_sss
|xyz|
|x| |y| |z|
|x| |y=123| |z| |int=1|
|a=1| |b| |c=3|
|FOO| |BAR=1|
+|ttt_GENERATED_sss|
""")
test.run(arguments = '.', stdout=expect)