wscript (1167B)
1 #! /usr/bin/env python 2 3 def options(ctx): 4 pass 5 6 def configure(ctx): 7 ctx.load('mem_reducer') 8 pass 9 10 def build(bld): 11 bld(features='make_a_lot') 12 13 """ 14 Testcase for the mem_reducer.py tool 15 """ 16 17 import itertools, random 18 from waflib import Utils, Task, TaskGen, Runner 19 20 random.seed(0) 21 class a(Task.Task): 22 def run(self): 23 self.outputs[0].write('a') 24 class b(Task.Task): 25 after = ['a'] 26 def run(self): 27 self.outputs[0].write('b') 28 class c(Task.Task): 29 after = ['b', 'c'] 30 def run(self): 31 self.outputs[0].write('c') 32 class d(Task.Task): 33 after = ['c', 'a'] 34 def run(self): 35 self.outputs[0].write('d') 36 37 @TaskGen.feature('make_a_lot') 38 def make_a_lot_of_tasks(self): 39 src = self.path.find_resource('wscript') 40 for x in range(9000): 41 anode = self.path.find_or_declare('a%d' % x) 42 self.create_task('a', [src], [anode]) 43 44 bnode = self.path.find_or_declare('b%d' % x) 45 self.create_task('b', [src], [bnode]) 46 47 cnode = self.path.find_or_declare('c%d' % x) 48 self.create_task('c', [src], [cnode]) 49 50 dnode = self.path.find_or_declare('d%d' % x) 51 self.create_task('d', [src], [dnode]) 52 53 # shuffle the tasks, but in the same order 54 #random.seed(0) 55 #random.shuffle(self.tasks) 56