'Run for [length] rounds and emit [depth] generations of sources.
This does nothing except exercise all the branches of Scraper.scrape.'

def gather(self, requester, storage):

    sources = []
    if (self.state == self.STATE_INIT):
        self.remaining_length = self.length
        self.state = self.STATE_PREREQ
    if (self.state == self.STATE_PREREQ):
        if self.depth:
            sources.append(('fake', ('%s%d' % (self.name, self.depth)), {'length': self.length, 'depth': (self.depth - 1)}))
        if (self.remaining_length == 0):
            if self.error:
                self.state = self.STATE_ERROR
            else:
                self.state = self.STATE_DONE
        else:
            self.remaining_length -= 1
    return sources
