5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
17 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
18 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 __revision__
= "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
29 _python_
= TestSCons
._python
_
31 test
= TestSCons
.TestSCons()
33 test
.subdir('sub1', 'sub2')
35 test
.write('cat.py', """\
37 with open(sys.argv[1], 'wb') as ofp:
38 for f in sys.argv[2:]:
39 with open(f, 'rb') as ifp:
43 test
.write('SConstruct', """\
44 DefaultEnvironment(tools=[])
45 env = Environment(OBJSUFFIX = '.ooo', PROGSUFFIX = '.xxx',
46 LIBPATH = ['sub1', 'sub2', '.'],
47 LIBS = ['iii', 'jjj', 'kkk', 'lll', 'mmm'],
48 LIBPREFIXES = ['a-', 'b-', 'c-'],
49 LIBSUFFIXES = ['.aaa', '.bbb', '.ccc'],
50 LINKCOM = r'%(_python_)s cat.py $TARGET $SOURCES')
51 env.Program('foo', 'a.ooo',)
54 test
.write('a.ooo', "a.ooo\n")
56 test
.write('a-iii.aaa', "a-iii.aaa\n")
57 test
.write(['sub1', 'b-jjj.bbb'], "b-jjj.bbb\n")
58 test
.write(['sub2', 'c-kkk.ccc'], "c-kkk.ccc\n")
59 test
.write('a-lll.ccc', "a-lll.ccc\n")
61 test
.run(arguments
= "--debug=findlibs foo.xxx",
62 stdout
= test
.wrap_stdout("""\
63 findlibs: looking for 'a-iii.aaa' in 'sub1' ...
64 findlibs: looking for 'a-iii.aaa' in 'sub2' ...
65 findlibs: looking for 'a-iii.aaa' in '.' ...
66 findlibs: ... FOUND 'a-iii.aaa' in '.'
67 findlibs: looking for 'b-iii.aaa' in 'sub1' ...
68 findlibs: looking for 'b-iii.aaa' in 'sub2' ...
69 findlibs: looking for 'b-iii.aaa' in '.' ...
70 findlibs: looking for 'c-iii.aaa' in 'sub1' ...
71 findlibs: looking for 'c-iii.aaa' in 'sub2' ...
72 findlibs: looking for 'c-iii.aaa' in '.' ...
73 findlibs: looking for 'a-iii.bbb' in 'sub1' ...
74 findlibs: looking for 'a-iii.bbb' in 'sub2' ...
75 findlibs: looking for 'a-iii.bbb' in '.' ...
76 findlibs: looking for 'b-iii.bbb' in 'sub1' ...
77 findlibs: looking for 'b-iii.bbb' in 'sub2' ...
78 findlibs: looking for 'b-iii.bbb' in '.' ...
79 findlibs: looking for 'c-iii.bbb' in 'sub1' ...
80 findlibs: looking for 'c-iii.bbb' in 'sub2' ...
81 findlibs: looking for 'c-iii.bbb' in '.' ...
82 findlibs: looking for 'a-iii.ccc' in 'sub1' ...
83 findlibs: looking for 'a-iii.ccc' in 'sub2' ...
84 findlibs: looking for 'a-iii.ccc' in '.' ...
85 findlibs: looking for 'b-iii.ccc' in 'sub1' ...
86 findlibs: looking for 'b-iii.ccc' in 'sub2' ...
87 findlibs: looking for 'b-iii.ccc' in '.' ...
88 findlibs: looking for 'c-iii.ccc' in 'sub1' ...
89 findlibs: looking for 'c-iii.ccc' in 'sub2' ...
90 findlibs: looking for 'c-iii.ccc' in '.' ...
91 findlibs: looking for 'a-jjj.aaa' in 'sub1' ...
92 findlibs: looking for 'a-jjj.aaa' in 'sub2' ...
93 findlibs: looking for 'a-jjj.aaa' in '.' ...
94 findlibs: looking for 'b-jjj.aaa' in 'sub1' ...
95 findlibs: looking for 'b-jjj.aaa' in 'sub2' ...
96 findlibs: looking for 'b-jjj.aaa' in '.' ...
97 findlibs: looking for 'c-jjj.aaa' in 'sub1' ...
98 findlibs: looking for 'c-jjj.aaa' in 'sub2' ...
99 findlibs: looking for 'c-jjj.aaa' in '.' ...
100 findlibs: looking for 'a-jjj.bbb' in 'sub1' ...
101 findlibs: looking for 'a-jjj.bbb' in 'sub2' ...
102 findlibs: looking for 'a-jjj.bbb' in '.' ...
103 findlibs: looking for 'b-jjj.bbb' in 'sub1' ...
104 findlibs: ... FOUND 'b-jjj.bbb' in 'sub1'
105 findlibs: looking for 'c-jjj.bbb' in 'sub1' ...
106 findlibs: looking for 'c-jjj.bbb' in 'sub2' ...
107 findlibs: looking for 'c-jjj.bbb' in '.' ...
108 findlibs: looking for 'a-jjj.ccc' in 'sub1' ...
109 findlibs: looking for 'a-jjj.ccc' in 'sub2' ...
110 findlibs: looking for 'a-jjj.ccc' in '.' ...
111 findlibs: looking for 'b-jjj.ccc' in 'sub1' ...
112 findlibs: looking for 'b-jjj.ccc' in 'sub2' ...
113 findlibs: looking for 'b-jjj.ccc' in '.' ...
114 findlibs: looking for 'c-jjj.ccc' in 'sub1' ...
115 findlibs: looking for 'c-jjj.ccc' in 'sub2' ...
116 findlibs: looking for 'c-jjj.ccc' in '.' ...
117 findlibs: looking for 'a-kkk.aaa' in 'sub1' ...
118 findlibs: looking for 'a-kkk.aaa' in 'sub2' ...
119 findlibs: looking for 'a-kkk.aaa' in '.' ...
120 findlibs: looking for 'b-kkk.aaa' in 'sub1' ...
121 findlibs: looking for 'b-kkk.aaa' in 'sub2' ...
122 findlibs: looking for 'b-kkk.aaa' in '.' ...
123 findlibs: looking for 'c-kkk.aaa' in 'sub1' ...
124 findlibs: looking for 'c-kkk.aaa' in 'sub2' ...
125 findlibs: looking for 'c-kkk.aaa' in '.' ...
126 findlibs: looking for 'a-kkk.bbb' in 'sub1' ...
127 findlibs: looking for 'a-kkk.bbb' in 'sub2' ...
128 findlibs: looking for 'a-kkk.bbb' in '.' ...
129 findlibs: looking for 'b-kkk.bbb' in 'sub1' ...
130 findlibs: looking for 'b-kkk.bbb' in 'sub2' ...
131 findlibs: looking for 'b-kkk.bbb' in '.' ...
132 findlibs: looking for 'c-kkk.bbb' in 'sub1' ...
133 findlibs: looking for 'c-kkk.bbb' in 'sub2' ...
134 findlibs: looking for 'c-kkk.bbb' in '.' ...
135 findlibs: looking for 'a-kkk.ccc' in 'sub1' ...
136 findlibs: looking for 'a-kkk.ccc' in 'sub2' ...
137 findlibs: looking for 'a-kkk.ccc' in '.' ...
138 findlibs: looking for 'b-kkk.ccc' in 'sub1' ...
139 findlibs: looking for 'b-kkk.ccc' in 'sub2' ...
140 findlibs: looking for 'b-kkk.ccc' in '.' ...
141 findlibs: looking for 'c-kkk.ccc' in 'sub1' ...
142 findlibs: looking for 'c-kkk.ccc' in 'sub2' ...
143 findlibs: ... FOUND 'c-kkk.ccc' in 'sub2'
144 findlibs: looking for 'a-lll.aaa' in 'sub1' ...
145 findlibs: looking for 'a-lll.aaa' in 'sub2' ...
146 findlibs: looking for 'a-lll.aaa' in '.' ...
147 findlibs: looking for 'b-lll.aaa' in 'sub1' ...
148 findlibs: looking for 'b-lll.aaa' in 'sub2' ...
149 findlibs: looking for 'b-lll.aaa' in '.' ...
150 findlibs: looking for 'c-lll.aaa' in 'sub1' ...
151 findlibs: looking for 'c-lll.aaa' in 'sub2' ...
152 findlibs: looking for 'c-lll.aaa' in '.' ...
153 findlibs: looking for 'a-lll.bbb' in 'sub1' ...
154 findlibs: looking for 'a-lll.bbb' in 'sub2' ...
155 findlibs: looking for 'a-lll.bbb' in '.' ...
156 findlibs: looking for 'b-lll.bbb' in 'sub1' ...
157 findlibs: looking for 'b-lll.bbb' in 'sub2' ...
158 findlibs: looking for 'b-lll.bbb' in '.' ...
159 findlibs: looking for 'c-lll.bbb' in 'sub1' ...
160 findlibs: looking for 'c-lll.bbb' in 'sub2' ...
161 findlibs: looking for 'c-lll.bbb' in '.' ...
162 findlibs: looking for 'a-lll.ccc' in 'sub1' ...
163 findlibs: looking for 'a-lll.ccc' in 'sub2' ...
164 findlibs: looking for 'a-lll.ccc' in '.' ...
165 findlibs: ... FOUND 'a-lll.ccc' in '.'
166 findlibs: looking for 'b-lll.ccc' in 'sub1' ...
167 findlibs: looking for 'b-lll.ccc' in 'sub2' ...
168 findlibs: looking for 'b-lll.ccc' in '.' ...
169 findlibs: looking for 'c-lll.ccc' in 'sub1' ...
170 findlibs: looking for 'c-lll.ccc' in 'sub2' ...
171 findlibs: looking for 'c-lll.ccc' in '.' ...
172 findlibs: looking for 'a-mmm.aaa' in 'sub1' ...
173 findlibs: looking for 'a-mmm.aaa' in 'sub2' ...
174 findlibs: looking for 'a-mmm.aaa' in '.' ...
175 findlibs: looking for 'b-mmm.aaa' in 'sub1' ...
176 findlibs: looking for 'b-mmm.aaa' in 'sub2' ...
177 findlibs: looking for 'b-mmm.aaa' in '.' ...
178 findlibs: looking for 'c-mmm.aaa' in 'sub1' ...
179 findlibs: looking for 'c-mmm.aaa' in 'sub2' ...
180 findlibs: looking for 'c-mmm.aaa' in '.' ...
181 findlibs: looking for 'a-mmm.bbb' in 'sub1' ...
182 findlibs: looking for 'a-mmm.bbb' in 'sub2' ...
183 findlibs: looking for 'a-mmm.bbb' in '.' ...
184 findlibs: looking for 'b-mmm.bbb' in 'sub1' ...
185 findlibs: looking for 'b-mmm.bbb' in 'sub2' ...
186 findlibs: looking for 'b-mmm.bbb' in '.' ...
187 findlibs: looking for 'c-mmm.bbb' in 'sub1' ...
188 findlibs: looking for 'c-mmm.bbb' in 'sub2' ...
189 findlibs: looking for 'c-mmm.bbb' in '.' ...
190 findlibs: looking for 'a-mmm.ccc' in 'sub1' ...
191 findlibs: looking for 'a-mmm.ccc' in 'sub2' ...
192 findlibs: looking for 'a-mmm.ccc' in '.' ...
193 findlibs: looking for 'b-mmm.ccc' in 'sub1' ...
194 findlibs: looking for 'b-mmm.ccc' in 'sub2' ...
195 findlibs: looking for 'b-mmm.ccc' in '.' ...
196 findlibs: looking for 'c-mmm.ccc' in 'sub1' ...
197 findlibs: looking for 'c-mmm.ccc' in 'sub2' ...
198 findlibs: looking for 'c-mmm.ccc' in '.' ...
199 %(_python_)s cat.py foo.xxx a.ooo
202 test
.must_match('foo.xxx', "a.ooo\n")
208 # indent-tabs-mode:nil
210 # vim: set expandtab tabstop=4 shiftwidth=4: