Jakub Kicinski <kuba@xxxxxxxxxx> writes: > Developing Python tests is a bit annoying because when test fails > we only print the fail message and no info about which exact check > led to it. Print the location (the first line of this example is new): > > # At /root/ksft-net-drv/./net/nl_netdev.py line 38: > # Check failed 0 != 10 > not ok 3 nl_netdev.page_pool_check > > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Reviewed-by: Petr Machata <petrm@xxxxxxxxxx> > +def _fail(*args): > + global KSFT_RESULT > + KSFT_RESULT = False > + > + frame = inspect.stack()[2] > + ksft_pr("At " + frame.filename + " line " + str(frame.lineno) + ":") > + ksft_pr(" ".join([str(a) for a in args])) I think this could have just been ksft_pr(*args) like before, but whatever. > + > def ksft_eq(a, b, comment=""): > global KSFT_RESULT > if a != b: > - KSFT_RESULT = False > - ksft_pr("Check failed", a, "!=", b, comment) > + _fail("Check failed", a, "!=", b, comment)