Closed jszakmeister closed 4 years ago
There haven't been any recent busted releases. What changes caused the new behaviour?
I think it's just that the failure mode is different (the way in which we're failing is different). It still seems like it shouldn't break this way though--but I could be missing a detail too. I'm not sure about this traceback either. Line 37 doesn't reference currentline
, but 34 does:
print('# ' .. t.element.trace.short_src .. ' @ ' .. t.element.trace.currentline)
I'm not sure if it's possible for trace to be empty or currentline to be missing. It seems like a possibility since there is this on line 24:
local trace = t.trace or {}
But I don't know how t.trace
and t.element.trace
are related.
I can't match the line numbers to the source of master
nor the last release tag. This could be because Busted does some stacktrace rewriting, but not sure.
What strikes me though is this line:
...ps/usr/share/lua/5.1/busted/modules/test_file_loader.lua:74: in function 'testFileLoader'
So it appears to me it errors during loading a file, not while running the tests. So could it be an issue with your test file? (still shouldn't error like this probably)
@jszakmeister did you ever figure it out? Do you have a small test case that reproduces the behavior? It would be good to make it so debugging these issues is more straightforward in the future
@DorianGray Unfortunately, no. The problem stopped reproducing (I think it was a timing problem on our end), but I agree--it'd be nice to have it handled better. I'm also poor at Lua, so tracing back to where the nil originated from was a huge hurdle. I tried, but just didn't have the hours needed to track it down via print statements. Sorry. :-(
closing this now
We use busted on Neovim and it looks like the TAP handler is backtracing with:
I'm not sure how long this has been going on, but I think it's at least fairly recent.