wscript (1198B)
1 #! /usr/bin/env python 2 # encoding: utf-8 3 # Thomas Nagy, 2016-2018 (ita) 4 5 top = '.' 6 out = 'build' 7 8 import inspect 9 from waflib import Utils, Logs, TaskGen 10 11 @TaskGen.taskgen_method 12 def log(self): 13 fname = inspect.stack()[1][3] 14 try: 15 self.called.append(fname) 16 except AttributeError: 17 self.called = [fname] 18 19 @TaskGen.taskgen_method 20 def check(self): 21 self.post() 22 result = ''.join(self.called) 23 if result == self.expected: 24 color = 'GREEN' 25 else: 26 color = 'RED' 27 result = 'got %r but expected %r' % (result, self.expected) 28 self.bld.failure = 1 29 Logs.pprint(color, result) 30 31 @TaskGen.feature('test1') 32 @TaskGen.after('d') 33 def a(self): 34 self.log() 35 @TaskGen.feature('test1') 36 @TaskGen.after('c') 37 def b(self): 38 self.log() 39 @TaskGen.feature('test1') 40 def c(self): 41 self.log() 42 @TaskGen.feature('test1') 43 def d(self): 44 self.log() 45 @TaskGen.feature('test1') 46 @TaskGen.after('f') 47 def e(self): 48 self.log() 49 @TaskGen.feature('test1') 50 def f(self): 51 self.log() 52 53 54 def configure(conf): 55 pass 56 57 def build(bld): 58 59 bld.failure = 0 60 def stop_status(bld): 61 if bld.failure: 62 bld.fatal('One or several test failed, check the outputs above') 63 bld.add_post_fun(stop_status) 64 65 bld(features='test1', expected='cbdafe').check() 66