summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-05-13 03:25:56 (GMT)
committerSteven Knight <knight@baldmt.com>2002-05-13 03:25:56 (GMT)
commitcc9bcd4f85a559c8d1cdbfed8ce8991cdb281367 (patch)
treecd1f2dfd43c7c2c09f83fadcc4a3e9b2184da02a /test
parent98902d34f726fe64d69a344d5e8c77765937b1a3 (diff)
downloadSCons-cc9bcd4f85a559c8d1cdbfed8ce8991cdb281367.zip
SCons-cc9bcd4f85a559c8d1cdbfed8ce8991cdb281367.tar.gz
SCons-cc9bcd4f85a559c8d1cdbfed8ce8991cdb281367.tar.bz2
Fix some bad exceptions in Defaults.py (Anthony Roach)
Diffstat (limited to 'test')
-rw-r--r--test/SharedLibrary.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/test/SharedLibrary.py b/test/SharedLibrary.py
index d00f595..8675c4b 100644
--- a/test/SharedLibrary.py
+++ b/test/SharedLibrary.py
@@ -25,9 +25,10 @@
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
import TestSCons
+import TestCmd
import os
-test = TestSCons.TestSCons()
+test = TestSCons.TestSCons(match=TestCmd.match_re)
test.write('SConstruct', """
env=Environment(WIN32_INSERT_DEF=1)
@@ -39,6 +40,24 @@ env.Library(target = 'foo3', source = ['f3a.c', 'f3b.c', 'f3c.c'], shared=1)
env2.Program(target = 'prog', source = 'prog.c')
""")
+test.write('SConstructFoo', """
+env=Environment()
+obj = env.Object('foo', 'foo.c', shared=0)
+Default(env.Library(target = 'foo', source = obj, shared=1))
+""")
+
+test.write('foo.c', r"""
+#include <stdio.h>
+
+void
+f1(void)
+{
+ printf("foo.c\n");
+ fflush(stdout);
+}
+""")
+
+
test.write('f1.c', r"""
#include <stdio.h>
@@ -162,4 +181,10 @@ if os.name == 'posix':
test.run(program = test.workpath('prog'),
stdout = "f1.c\nf2a.c\nf2b.c\nf2c.c\nf3a.c\nf3b.c\nf3c.c\nprog.c\n")
+test.run(arguments = '-f SConstructFoo', status=2, stderr='''
+SCons error: Source file: foo.o must be built with shared=1 in order to be compatible with the selected target.
+File ".*", line .*, in .*
+'''
+)
+
test.pass_test()