xref: /unit/test/unit/check/chroot.py (revision 1858:a9a5746051aa)
1*1858Szelenkov@nginx.comimport json
2*1858Szelenkov@nginx.com
3*1858Szelenkov@nginx.comfrom unit.http import TestHTTP
4*1858Szelenkov@nginx.comfrom unit.option import option
5*1858Szelenkov@nginx.com
6*1858Szelenkov@nginx.comhttp = TestHTTP()
7*1858Szelenkov@nginx.com
8*1858Szelenkov@nginx.com
9*1858Szelenkov@nginx.comdef check_chroot():
10*1858Szelenkov@nginx.com    available = option.available
11*1858Szelenkov@nginx.com
12*1858Szelenkov@nginx.com    resp = http.put(
13*1858Szelenkov@nginx.com        url='/config',
14*1858Szelenkov@nginx.com        sock_type='unix',
15*1858Szelenkov@nginx.com        addr=option.temp_dir + '/control.unit.sock',
16*1858Szelenkov@nginx.com        body=json.dumps(
17*1858Szelenkov@nginx.com            {
18*1858Szelenkov@nginx.com                "listeners": {"*:7080": {"pass": "routes"}},
19*1858Szelenkov@nginx.com                "routes": [
20*1858Szelenkov@nginx.com                    {
21*1858Szelenkov@nginx.com                        "action": {
22*1858Szelenkov@nginx.com                            "share": option.temp_dir,
23*1858Szelenkov@nginx.com                            "chroot": option.temp_dir,
24*1858Szelenkov@nginx.com                        }
25*1858Szelenkov@nginx.com                    }
26*1858Szelenkov@nginx.com                ],
27*1858Szelenkov@nginx.com            }
28*1858Szelenkov@nginx.com        ),
29*1858Szelenkov@nginx.com    )
30*1858Szelenkov@nginx.com
31*1858Szelenkov@nginx.com    if 'success' in resp['body']:
32*1858Szelenkov@nginx.com        available['features']['chroot'] = True
33