X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=wvtest.py;h=8a8302be10c2daec80a6768625a2183fe0930051;hb=a69735928c9a5f155711ff500075a5b04d03493f;hp=61245b29bc4fc976634624b88f1d48e7f409fa37;hpb=4188035521ab327b4fc9bda502189787c171f8c1;p=bup.git diff --git a/wvtest.py b/wvtest.py index 61245b2..8a8302b 100755 --- a/wvtest.py +++ b/wvtest.py @@ -65,18 +65,18 @@ if __name__ != '__main__': # we're imported as a module sys.stdout.flush() - def _caller_stack(): + def _caller_stack(wv_call_depth): # Without the chdir, the source text lookup may fail orig = os.getcwd() os.chdir(_start_dir) try: - return traceback.extract_stack()[-4] + return traceback.extract_stack()[-(wv_call_depth + 2)] finally: os.chdir(orig) def _check(cond, msg = 'unknown', tb = None): - if tb == None: tb = _caller_stack() + if tb == None: tb = _caller_stack(2) if cond: _result(msg, tb, 'ok') else: @@ -85,12 +85,16 @@ if __name__ != '__main__': # we're imported as a module _code_rx = re.compile(r'^\w+\((.*)\)(\s*#.*)?$') def _code(): - text = _caller_stack()[3] + text = _caller_stack(2)[3] return _code_rx.sub(r'\1', text) + def WVSTART(message): + filename = _caller_stack(1)[0] + sys.stderr.write('Testing \"' + message + '\" in ' + filename + ':\n') + def WVMSG(message): ''' Issues a notification. ''' - return _result(message, _caller_stack(), 'ok') + return _result(message, _caller_stack(1), 'ok') def WVPASS(cond = True): ''' Counts a test failure unless cond is true. '''