call site 0 for test.collect.Generator.getcallargs
test/testing/test_collect.py - line 162
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
   def test_generative_simple(): 
       o = tmpdir.ensure('generativetest', dir=1)
       tfile = o.join('test_generative.py')
       tfile.write(py.code.Source("""
           from __future__ import generators # python2.2!
           def func1(arg, arg2): 
               assert arg == arg2 
   
           def test_gen(): 
               yield func1, 17, 3*5
               yield func1, 42, 6*7
   
           class TestGenMethods: 
               def test_gen(self): 
                   yield func1, 17, 3*5
                   yield func1, 42, 6*7
       """))
       col = py.test.collect.Module(tfile) 
       l = col.run() 
       assert len(l) == 2 
       l = col.multijoin(l) 
   
       generator = l[0]
       assert isinstance(generator, py.test.collect.Generator)
       l2 = generator.run() 
       assert len(l2) == 2 
       l2 = generator.multijoin(l2) 
       assert isinstance(l2[0], py.test.collect.Function)
       assert isinstance(l2[1], py.test.collect.Function)
       assert l2[0].name == '[0]'
       assert l2[1].name == '[1]'
   
       assert l2[0].obj.func_name == 'func1' 
    
       classlist = l[1].run() 
       assert len(classlist) == 1
       classlist = l[1].multijoin(classlist) 
       cls = classlist[0]
       generator = cls.join(cls.run()[0])
       assert isinstance(generator, py.test.collect.Generator)
->     l2 = generator.run() 
       assert len(l2) == 2 
       l2 = generator.multijoin(l2) 
       assert isinstance(l2[0], py.test.collect.Function)
       assert isinstance(l2[1], py.test.collect.Function)
       assert l2[0].name == '[0]'
       assert l2[1].name == '[1]'
test/collect.py - line 477
476
477
478
479
   def run(self): 
->     self._prepare()
       itemlist = self._name2items
       return [itemlist["[%d]" % num].name for num in xrange(len(itemlist))]
test/collect.py - line 328
322
323
324
325
326
327
328
329
330
331
332
333
   def _prepare(self): 
       if not hasattr(self, '_name2items'): 
           ex = getattr(self, '_name2items_exception', None)
           if ex is not None: 
               raise ex[0], ex[1], ex[2]
           try: 
->             self._name2items = self._buildname2items()
           except (SystemExit, KeyboardInterrupt): 
               raise 
           except:
               self._name2items_exception = py.std.sys.exc_info()
               raise
test/collect.py - line 487
481
482
483
484
485
486
487
488
489
490
491
492
   def _buildname2items(self): 
       d = {} 
       # slightly hackish to invoke setup-states on
       # collection ...
       self.Function._state.prepare(self)
       for i, x in py.builtin.enumerate(self.obj()): 
->         call, args = self.getcallargs(x)
           if not callable(call): 
               raise TypeError("yielded test %r not callable" %(call,))
           name = "[%d]" % i
           d[name] = self.Function(name, self, args, obj=call, sort_value = i)
       return d