util.roles: Return nil if the role has no explicit policy (fixes inheritance)
Previously, if the first inherited role had no opinion, it returned false and
prevented further consultation of other inherited roles.
This bug was found thanks to the implementation of missing test cases
identified through mutation testing.
local record state
enum waiterr
"timeout"
"signal"
end
add : function (state, integer, boolean, boolean) : boolean
add : function (state, integer, boolean, boolean) : nil, string, integer
set : function (state, integer, boolean, boolean) : boolean
set : function (state, integer, boolean, boolean) : nil, string, integer
del : function (state, integer) : boolean
del : function (state, integer) : nil, string, integer
wait : function (state, integer) : integer, boolean, boolean
wait : function (state, integer) : nil, string, integer
wait : function (state, integer) : nil, waiterr
getfd : function (state) : integer
end
local record lib
new : function () : state
EEXIST : integer
EMFILE : integer
ENOENT : integer
enum api_backend
"epoll"
"poll"
"select"
end
api : api_backend
end
return lib