3939
4040
4141def pypy ():
42- process = Popen (['pypy' , '--version' ], stderr = PIPE , stdout = PIPE )
43- output , errors = process .communicate ()
44- return process .returncode == 0
42+ try :
43+ process = Popen (['pypy' , '--version' ], stderr = PIPE , stdout = PIPE )
44+ except OSError :
45+ return False
46+ else :
47+ process .communicate ()
48+ return process .returncode == 0
4549
4650
4751class Recording (object ):
@@ -123,23 +127,28 @@ def __iter__(self):
123127
124128class TestSearchCommandsApp (TestCase ):
125129
130+ app_root = os .path .join (project_root , 'examples' , 'searchcommands_app' , 'build' , 'searchcommands_app' )
131+
126132 def setUp (self ):
133+ if not os .path .isdir (TestSearchCommandsApp .app_root ):
134+ build_command = os .path .join (project_root , 'examples' , 'searchcommands_app' , 'setup.py build' )
135+ self .skipTest ("You must build the searchcommands_app by running " + build_command )
127136 TestCase .setUp (self )
128137
129138 def test_countmatches_as_unit (self ):
130139
131140 expected , output , errors , exit_status = self ._run_command ('countmatches' , action = 'getinfo' , protocol = 1 )
132- self .assertEqual (0 , exit_status )
141+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
133142 # self.assertEqual('', errors)
134143 self .assertEqual (expected , output )
135144
136145 expected , output , errors , exit_status = self ._run_command ('countmatches' , action = 'execute' , protocol = 1 )
137- self .assertEqual (0 , exit_status )
146+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
138147 # self.assertEqual('', errors)
139148 self .assertEqual (expected , output )
140149
141150 expected , output , errors , exit_status = self ._run_command ('countmatches' )
142- self .assertEqual (0 , exit_status )
151+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
143152 # self.assertEqual('', errors)
144153 self .assertEqual (expected , output )
145154
@@ -148,17 +157,17 @@ def test_countmatches_as_unit(self):
148157 def test_generatehello_as_unit (self ):
149158
150159 expected , output , errors , exit_status = self ._run_command ('generatehello' , action = 'getinfo' , protocol = 1 )
151- self .assertEqual (0 , exit_status )
160+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
152161 # self.assertEqual('', errors)
153162 # self.assertEqual(expected, output)
154163
155164 expected , output , errors , exit_status = self ._run_command ('generatehello' , action = 'execute' , protocol = 1 )
156- self .assertEqual (0 , exit_status )
165+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
157166 # self.assertEqual('', errors)
158167 # self.assertEqual(expected, output)
159168
160169 expected , output , errors , exit_status = self ._run_command ('generatehello' )
161- self .assertEqual (0 , exit_status )
170+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
162171 # self.assertEqual('', errors)
163172 # self.assertEqual(expected, output)
164173
@@ -171,17 +180,17 @@ def test_generatehello_as_unit(self):
171180 def test_pypygeneratetext_as_unit (self ):
172181
173182 expected , output , errors , exit_status = self ._run_command ('pypygeneratetext' , action = 'getinfo' , protocol = 1 )
174- self .assertEqual (0 , exit_status )
183+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
175184 # self.assertEqual('', errors)
176185 self .assertEqual (expected , output )
177186
178187 expected , output , errors , exit_status = self ._run_command ('pypygeneratetext' , action = 'execute' , protocol = 1 )
179- self .assertEqual (0 , exit_status )
188+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
180189 # self.assertEqual('', errors)
181190 # self.assertEqual(expected, output)
182191
183192 expected , output , errors , exit_status = self ._run_command ('pypygeneratetext' )
184- self .assertEqual (0 , exit_status )
193+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
185194 # self.assertEqual('', errors)
186195 # self.assertEqual(expected, output)
187196
@@ -190,32 +199,32 @@ def test_pypygeneratetext_as_unit(self):
190199 def test_sum_as_unit (self ):
191200
192201 expected , output , errors , exit_status = self ._run_command ('sum' , action = 'getinfo' , phase = 'reduce' , protocol = 1 )
193- self .assertEqual (0 , exit_status )
202+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
194203 # self.assertEqual('', errors)
195204 self .assertInfoEqual (output , expected )
196205
197206 expected , output , errors , exit_status = self ._run_command ('sum' , action = 'getinfo' , phase = 'map' , protocol = 1 )
198- self .assertEqual (0 , exit_status )
207+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
199208 # self.assertEqual('', errors)
200209 self .assertInfoEqual (expected , output )
201210
202211 expected , output , errors , exit_status = self ._run_command ('sum' , action = 'execute' , phase = 'map' , protocol = 1 )
203- self .assertEqual (0 , exit_status )
212+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
204213 # self.assertEqual('', errors)
205214 self .assertEqual (expected , output )
206215
207216 expected , output , errors , exit_status = self ._run_command ('sum' , action = 'execute' , phase = 'reduce' , protocol = 1 )
208- self .assertEqual (0 , exit_status )
217+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
209218 # self.assertEqual('', errors)
210219 self .assertEqual (expected , output )
211220
212221 expected , output , errors , exit_status = self ._run_command ('sum' , phase = 'map' )
213- self .assertEqual (0 , exit_status )
222+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
214223 # self.assertEqual('', errors)
215224 self .assertEqual (expected , output )
216225
217226 expected , output , errors , exit_status = self ._run_command ('sum' , phase = 'reduce' )
218- self .assertEqual (0 , exit_status )
227+ self .assertEqual (0 , exit_status , msg = unicode ( errors ) )
219228 # self.assertEqual('', errors)
220229 self .assertEqual (expected , output )
221230
@@ -239,7 +248,8 @@ def assertInfoEqual(self, output, expected):
239248 self .assertDictEqual (expected , output )
240249
241250 def _get_search_command_path (self , name ):
242- path = os .path .join (project_root , 'examples' , 'searchcommands_app' , 'package' , 'bin' , name + '.py' )
251+ path = os .path .join (
252+ project_root , 'examples' , 'searchcommands_app' , 'build' , 'searchcommands_app' , 'bin' , name + '.py' )
243253 self .assertTrue (path )
244254 return path
245255
0 commit comments