/
141-luajit.t
47 lines (40 loc) · 1.02 KB
/
141-luajit.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# vim:set ft= ts=4 sw=4 et fdm=marker:
use Test::Nginx::Socket::Lua;
#worker_connections(1014);
#master_on();
#workers(2);
#log_level('warn');
repeat_each(2);
plan tests => repeat_each() * (blocks() * 3);
#no_diff();
#no_long_string();
run_tests();
__DATA__
=== TEST 1: avoid the data segment from growing on Linux
This is to maximize the address space that can be used by LuaJIT.
--- config
location = /t {
content_by_lua_block {
local ffi = require "ffi"
ffi.cdef[[
void *malloc(size_t size);
void free(void *p);
]]
local p = ffi.C.malloc(1);
local num = tonumber(ffi.cast("uintptr_t", p))
ffi.C.free(p)
if ffi.abi("64bit") then
if num < 2^31 then
ngx.say("fail: ", string.format("p = %#x", num))
return
end
end
ngx.say("pass")
}
}
--- request
GET /t
--- response_body
pass
--- no_error_log
[error]