blob: 5610192cffd1308e9feb23d87d77fd38e09e3c5e [file] [log] [blame]
Masatake YAMATO6077ad82014-12-24 20:59:32 +09001BEGIN {
2 lines = 5
3 fail = 0
Dmitry V. Levinc9cc4cb2015-01-07 20:14:19 +00004 addrlen = length(addr) + 3
Masatake YAMATO6077ad82014-12-24 20:59:32 +09005
Masatake YAMATO6077ad82014-12-24 20:59:32 +09006 r_i = "[1-9][0-9]*"
Dmitry V. Levinc9cc4cb2015-01-07 20:14:19 +00007 r_close_listen = "^close\\(0<UNIX:[" r_i ",\"" addr "\"]>\\) += 0$"
8 r_connect = "^connect\\(1<UNIX:\\[(" r_i ")\\]>, {sa_family=AF_(LOCAL|UNIX|FILE), sun_path=\"" addr "\"}, " addrlen "\\) += 0$"
Masatake YAMATO6077ad82014-12-24 20:59:32 +09009}
10
Dmitry V. Levinf0ed1672014-12-25 00:32:23 +000011NR == 1 && /^socket\(PF_(LOCAL|UNIX|FILE), SOCK_STREAM, 0\) += 1$/ {next}
12
13NR == 2 {if (match($0, r_close_listen)) next}
14
Masatake YAMATO6077ad82014-12-24 20:59:32 +090015NR == 3 {
16 if (match($0, r_connect, a)) {
17 inode = a[1]
Dmitry V. Levinf0ed1672014-12-25 00:32:23 +000018 r_close_connected = "^close\\(1<UNIX:\\[(" r_i ")->" r_i "\\]>\\) += 0$"
Masatake YAMATO6077ad82014-12-24 20:59:32 +090019 next
20 }
21}
Masatake YAMATO6077ad82014-12-24 20:59:32 +090022
Dmitry V. Levinf0ed1672014-12-25 00:32:23 +000023NR == 4 {
24 if (inode != "" && r_close_connected != "" && match($0, r_close_connected, a) && a[1] == inode) {
25 next
26 }
27}
28
29NR == lines && $0 == "+++ exited with 0 +++" {next}
Masatake YAMATO6077ad82014-12-24 20:59:32 +090030
31{
32 print "Line " NR " does not match: " $0
33 fail=1
34}
35
36END {
37 if (NR != lines) {
38 print "Expected " lines " lines, found " NR " line(s)."
39 print ""
40 exit 1
41 }
42 if (fail) {
43 print ""
44 exit 1
45 }
46}