lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Wednesday 07, Geoff Leyland wrote:
> On 7/10/2009, at 10:24 PM, Jerome Vuarand wrote:
> > 2009/10/7 Geoff Leyland <geoff_leyland@fastmail.fm>:
> >> Is there a way to return an exit code from a Lua script without
> >> calling
> >> os.exit()?
> >>
> >> I'm using luacov, and if you call os.exit(), it doesn't write any
> >> statistics.  I'd also like my script to return 1 or 0.  As far as I
> >> can
> >> tell, the return value from a top-level script does not seem to be
> >> used for
> >> an exit code, but hopefully someone can tell me I'm wrong.
> >
> > Looking at the code in lua.c, it seems the return value of the script
> > is ignored. It should be easy to patch if a custom Lua executable is
> > an option to you.
>
> Thanks, I thought someone might say that.  Shame really, it'd be a
> nice feature to have in standard Lua (mind you this is the first time
> it's come up in a good few years of using Lua)

luacov should wrap os.exit() and dump that stats before calling the normal 
os.exit().

I don't know much about how luacov is implemented, but if they have a function 
that can be called from Lua to dump the stats, then you can write a custom 
os.exit() wrapper:

local exit=os.exit
os.exit = function(...)
  luacov.dumpstats() -- I don't know if a funciton like this exists.
  exit(...)
end


-- 
Robert G. Jakabosky