blob: 823a2e556e6a6230cc0876d43d2a04a8861d2bed [file]
describe('compile', function()
local ffi = require('ffi')
local bpf = require('bpf')
it('can compile socket filter', function()
-- Create mock BPF map
local mock_map = {
max_entries = 16,
key_type = ffi.typeof('uint64_t [1]'),
val_type = ffi.typeof('uint64_t [1]'),
fd = 1,
__map = true,
}
-- Compile small code example
local code = bpf(function ()
local proto = pkt.ip.proto
xadd(mock_map[proto], 1)
end)
assert.truthy(code)
assert.same(type(code), 'table')
assert.same(code.pc, 15)
end)
end)