1313}
1414
1515fail () (
16- echo " *** Test #${TEST_COUNT} FAILED ***" >&2
16+ echo " *** Test #${TEST_COUNT} FAILED, line: $1 ***" >&2
1717)
1818
1919section () {
@@ -26,20 +26,20 @@ t || (
2626 cd ../dnscrypt-proxy
2727 go test -mod vendor
2828 go build -mod vendor -race
29- ) || fail
29+ ) || fail $LINENO
3030
3131section
3232sed -e " s/127.0.0.1:53/127.0.0.1:${DNS_PORT} /g" -e " s/# server_names =.*/server_names = ['scaleway-fr']/" ../dnscrypt-proxy/example-dnscrypt-proxy.toml > test-dnscrypt-proxy.toml
3333../dnscrypt-proxy/dnscrypt-proxy -loglevel 3 -config test-dnscrypt-proxy.toml -pidfile /tmp/dnscrypt-proxy.pidfile &
3434sleep 5
3535
3636t ||
37- dig -p${DNS_PORT} . @127.0.0.1 | grep -Fq ' root-servers.net.' || fail
38- t || dig -p${DNS_PORT} +dnssec . @127.0.0.1 | grep -Fq ' root-servers.net.' || fail
39- t || dig -p${DNS_PORT} +dnssec . @127.0.0.1 | grep -Fq ' flags: do;' || fail
40- t || dig -p${DNS_PORT} +short one.one.one.one @127.0.0.1 | grep -Fq ' 1.1.1.1' || fail
41- t || dig -p${DNS_PORT} +dnssec dnscrypt.info @127.0.0.1 | grep -Fq ' flags: qr rd ra ad' || fail
42- t || dig -p${DNS_PORT} +dnssec dnscrypt.info @127.0.0.1 | grep -Fq ' flags: do;' || fail
37+ dig -p${DNS_PORT} . @127.0.0.1 | grep -Fq ' root-servers.net.' || fail $LINENO
38+ t || dig -p${DNS_PORT} +dnssec . @127.0.0.1 | grep -Fq ' root-servers.net.' || fail $LINENO
39+ t || dig -p${DNS_PORT} +dnssec . @127.0.0.1 | grep -Fq ' flags: do;' || fail $LINENO
40+ t || dig -p${DNS_PORT} +short one.one.one.one @127.0.0.1 | grep -Fq ' 1.1.1.1' || fail $LINENO
41+ t || dig -p${DNS_PORT} +dnssec dnscrypt.info @127.0.0.1 | grep -Fq ' flags: qr rd ra ad' || fail $LINENO
42+ t || dig -p${DNS_PORT} +dnssec dnscrypt.info @127.0.0.1 | grep -Fq ' flags: do;' || fail $LINENO
4343
4444kill $( cat /tmp/dnscrypt-proxy.pidfile)
4545sleep 5
@@ -49,102 +49,102 @@ section
4949sleep 5
5050
5151section
52- t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail
53- t || dig -p${DNS_PORT} A MICROSOFT.COM @127.0.0.1 | grep -Fq " NOERROR" || fail
52+ t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
53+ t || dig -p${DNS_PORT} A MICROSOFT.COM @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
5454
5555section
56- t || dig -p${DNS_PORT} AAAA ipv6.google.com @127.0.0.1 | grep -Fq ' locally blocked' || fail
56+ t || dig -p${DNS_PORT} AAAA ipv6.google.com @127.0.0.1 | grep -Fq ' locally blocked' || fail $LINENO
5757
5858section
59- t || dig -p${DNS_PORT} invalid. @127.0.0.1 | grep -Fq NXDOMAIN || fail
60- t || dig -p${DNS_PORT} +dnssec invalid. @127.0.0.1 | grep -Fq ' flags: do;' || fail
61- t || dig -p${DNS_PORT} PTR 168.192.in-addr.arpa @127.0.0.1 | grep -Fq ' NXDOMAIN' || fail
62- t || dig -p${DNS_PORT} +dnssec PTR 168.192.in-addr.arpa @127.0.0.1 | grep -Fq ' flags: do;' || fail
59+ t || dig -p${DNS_PORT} invalid. @127.0.0.1 | grep -Fq NXDOMAIN || fail $LINENO
60+ t || dig -p${DNS_PORT} +dnssec invalid. @127.0.0.1 | grep -Fq ' flags: do;' || fail $LINENO
61+ t || dig -p${DNS_PORT} PTR 168.192.in-addr.arpa @127.0.0.1 | grep -Fq ' NXDOMAIN' || fail $LINENO
62+ t || dig -p${DNS_PORT} +dnssec PTR 168.192.in-addr.arpa @127.0.0.1 | grep -Fq ' flags: do;' || fail $LINENO
6363
6464section
65- t || dig -p${DNS_PORT} +dnssec darpa.mil @127.0.0.1 2>&1 | grep -Fvq ' RRSIG' || fail
66- t || dig -p${DNS_PORT} +dnssec www.darpa.mil @127.0.0.1 2>&1 | grep -Fvq ' RRSIG' || fail
67- t || dig -p${DNS_PORT} A download.windowsupdate.com @127.0.0.1 | grep -Fq " NOERROR" || fail
65+ t || dig -p${DNS_PORT} +dnssec darpa.mil @127.0.0.1 2>&1 | grep -Fvq ' RRSIG' || fail $LINENO
66+ t || dig -p${DNS_PORT} +dnssec www.darpa.mil @127.0.0.1 2>&1 | grep -Fvq ' RRSIG' || fail $LINENO
67+ t || dig -p${DNS_PORT} A download.windowsupdate.com @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
6868
6969section
70- t || dig -p${DNS_PORT} +short cloakedunregistered.com @127.0.0.1 | grep -Eq ' 1.1.1.1|1.0.0.1' || fail
71- t || dig -p${DNS_PORT} +short MX cloakedunregistered.com @127.0.0.1 | grep -Fq ' locally blocked' || fail
72- t || dig -p${DNS_PORT} +short MX example.com @127.0.0.1 | grep -Fvq ' locally blocked' || fail
73- t || dig -p${DNS_PORT} NS cloakedunregistered.com @127.0.0.1 | grep -Fiq ' gtld-servers.net' || fail
74- t || dig -p${DNS_PORT} +short www.cloakedunregistered2.com @127.0.0.1 | grep -Eq ' 1.1.1.1|1.0.0.1' || fail
75- t || dig -p${DNS_PORT} +short www.dnscrypt-test @127.0.0.1 | grep -Fq ' 192.168.100.100' || fail
76- t || dig -p${DNS_PORT} a.www.dnscrypt-test @127.0.0.1 | grep -Fq ' NXDOMAIN' || fail
77- t || dig -p${DNS_PORT} +short ptr 101.100.168.192.in-addr.arpa. @127.0.0.1 | grep -Eq ' www.dnscrypt-test.com' || fail
78- t || dig -p${DNS_PORT} +short ptr 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.d.f.ip6.arpa. @127.0.0.1 | grep -Eq ' ipv6.dnscrypt-test.com' || fail
70+ t || dig -p${DNS_PORT} +short cloakedunregistered.com @127.0.0.1 | grep -Eq ' 1.1.1.1|1.0.0.1' || fail $LINENO
71+ t || dig -p${DNS_PORT} +short MX cloakedunregistered.com @127.0.0.1 | grep -Fq ' locally blocked' || fail $LINENO
72+ t || dig -p${DNS_PORT} +short MX example.com @127.0.0.1 | grep -Fvq ' locally blocked' || fail $LINENO
73+ t || dig -p${DNS_PORT} NS cloakedunregistered.com @127.0.0.1 | grep -Fiq ' gtld-servers.net' || fail $LINENO
74+ t || dig -p${DNS_PORT} +short www.cloakedunregistered2.com @127.0.0.1 | grep -Eq ' 1.1.1.1|1.0.0.1' || fail $LINENO
75+ t || dig -p${DNS_PORT} +short www.dnscrypt-test @127.0.0.1 | grep -Fq ' 192.168.100.100' || fail $LINENO
76+ t || dig -p${DNS_PORT} a.www.dnscrypt-test @127.0.0.1 | grep -Fq ' NXDOMAIN' || fail $LINENO
77+ t || dig -p${DNS_PORT} +short ptr 101.100.168.192.in-addr.arpa. @127.0.0.1 | grep -Eq ' www.dnscrypt-test.com' || fail $LINENO
78+ t || dig -p${DNS_PORT} +short ptr 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.d.f.ip6.arpa. @127.0.0.1 | grep -Eq ' ipv6.dnscrypt-test.com' || fail $LINENO
7979
8080section
81- t || dig -p${DNS_PORT} telemetry.example @127.0.0.1 | grep -Fq ' locally blocked' || fail
81+ t || dig -p${DNS_PORT} telemetry.example @127.0.0.1 | grep -Fq ' locally blocked' || fail $LINENO
8282
8383section
84- t || dig -p${DNS_PORT} dns.google @127.0.0.1 | grep -Fq ' locally blocked' || fail
84+ t || dig -p${DNS_PORT} dns.google @127.0.0.1 | grep -Fq ' locally blocked' || fail $LINENO
8585
8686section
87- t || dig -p${DNS_PORT} tracker.xdebian.org @127.0.0.1 | grep -Fq ' locally blocked' || fail
88- t || dig -p${DNS_PORT} tracker.debian.org @127.0.0.1 | grep -Fqv ' locally blocked' || fail
87+ t || dig -p${DNS_PORT} tracker.xdebian.org @127.0.0.1 | grep -Fq ' locally blocked' || fail $LINENO
88+ t || dig -p${DNS_PORT} tracker.debian.org @127.0.0.1 | grep -Fqv ' locally blocked' || fail $LINENO
8989
9090section
91- t || curl --insecure -siL https://127.0.0.1:${HTTP_PORT} / | grep -Fq ' HTTP/2 404' || fail
92- t || curl --insecure -sL https://127.0.0.1:${HTTP_PORT} /dns-query | grep -Fq ' dnscrypt-proxy local DoH server' || fail
91+ t || curl --insecure -siL https://127.0.0.1:${HTTP_PORT} / | grep -Fq ' HTTP/2 404' || fail $LINENO
92+ t || curl --insecure -sL https://127.0.0.1:${HTTP_PORT} /dns-query | grep -Fq ' dnscrypt-proxy local DoH server' || fail $LINENO
9393t ||
9494 echo yv4BAAABAAAAAAABAAACAAEAACkQAAAAgAAAAA== | base64 -d |
9595 curl -H' Content-Type: application/dns-message' -H' Accept: application/dns-message' --data-binary @- -D - --insecure https://127.0.0.1:${HTTP_PORT} /dns-query 2> /dev/null |
96- grep -Fq application/dns-message || fail
96+ grep -Fq application/dns-message || fail $LINENO
9797
9898kill $( cat /tmp/dnscrypt-proxy.pidfile)
9999
100100sleep 5
101101
102102section
103- t || grep -Fq ' telemetry.example' blocked-names.log || fail
104- t || grep -Fq ' telemetry.*' blocked-names.log || fail
105- t || grep -Fq ' tracker.xdebian.org' blocked-names.log || fail
106- t || grep -Fq ' tracker.*' blocked-names.log || fail
103+ t || grep -Fq ' telemetry.example' blocked-names.log || fail $LINENO
104+ t || grep -Fq ' telemetry.*' blocked-names.log || fail $LINENO
105+ t || grep -Fq ' tracker.xdebian.org' blocked-names.log || fail $LINENO
106+ t || grep -Fq ' tracker.*' blocked-names.log || fail $LINENO
107107
108108section
109- t || grep -Fq ' dns.google' blocked-ips.log || fail
110- t || grep -Fq ' 8.8.8.8' blocked-ips.log || fail
109+ t || grep -Fq ' dns.google' blocked-ips.log || fail $LINENO
110+ t || grep -Fq ' 8.8.8.8' blocked-ips.log || fail $LINENO
111111
112112section
113- t || grep -Fq ' a.www.dnscrypt-test' nx.log || fail
113+ t || grep -Fq ' a.www.dnscrypt-test' nx.log || fail $LINENO
114114
115115section
116- t || grep -Fq ' a.www.dnscrypt-test' nx.log || fail
116+ t || grep -Fq ' a.www.dnscrypt-test' nx.log || fail $LINENO
117117
118118section
119- t || grep -Eq ' microsoft.com.*PASS.*[^-]$' query.log || fail
120- t || grep -Eq ' microsoft.com.*PASS.*-$' query.log || fail
121- t || grep -Eq ' ipv6.google.com.*SYNTH' query.log || fail
122- t || grep -Eq ' invalid.*SYNTH' query.log || fail
123- t || grep -Eq ' 168.192.in-addr.arpa.*SYNTH' query.log || fail
124- t || grep -Eq ' darpa.mil.*FORWARD' query.log || fail
125- t || grep -Eq ' www.darpa.mil.*FORWARD' query.log || fail
126- t || grep -Eq ' download.windowsupdate.com.*FORWARD' query.log || fail
127- t || grep -Eq ' cloakedunregistered.com.*CLOAK' query.log || fail
128- t || grep -Eq ' www.cloakedunregistered2.com.*CLOAK' query.log || fail
129- t || grep -Eq ' www.dnscrypt-test.*CLOAK' query.log || fail
130- t || grep -Eq ' a.www.dnscrypt-test.*NXDOMAIN' query.log || fail
131- t || grep -Eq ' telemetry.example.*REJECT' query.log || fail
132- t || grep -Eq ' dns.google.*REJECT' query.log || fail
133- t || grep -Eq ' tracker.xdebian.org.*REJECT' query.log || fail
134- t || grep -Eq ' tracker.debian.org.*PASS' query.log || fail
135- t || grep -Eq ' [.].*NS.*PASS' query.log || fail
119+ t || grep -Eq ' microsoft.com.*PASS.*[^-]$' query.log || fail $LINENO
120+ t || grep -Eq ' microsoft.com.*PASS.*-$' query.log || fail $LINENO
121+ t || grep -Eq ' ipv6.google.com.*SYNTH' query.log || fail $LINENO
122+ t || grep -Eq ' invalid.*SYNTH' query.log || fail $LINENO
123+ t || grep -Eq ' 168.192.in-addr.arpa.*SYNTH' query.log || fail $LINENO
124+ t || grep -Eq ' darpa.mil.*FORWARD' query.log || fail $LINENO
125+ t || grep -Eq ' www.darpa.mil.*FORWARD' query.log || fail $LINENO
126+ t || grep -Eq ' download.windowsupdate.com.*FORWARD' query.log || fail $LINENO
127+ t || grep -Eq ' cloakedunregistered.com.*CLOAK' query.log || fail $LINENO
128+ t || grep -Eq ' www.cloakedunregistered2.com.*CLOAK' query.log || fail $LINENO
129+ t || grep -Eq ' www.dnscrypt-test.*CLOAK' query.log || fail $LINENO
130+ t || grep -Eq ' a.www.dnscrypt-test.*NXDOMAIN' query.log || fail $LINENO
131+ t || grep -Eq ' telemetry.example.*REJECT' query.log || fail $LINENO
132+ t || grep -Eq ' dns.google.*REJECT' query.log || fail $LINENO
133+ t || grep -Eq ' tracker.xdebian.org.*REJECT' query.log || fail $LINENO
134+ t || grep -Eq ' tracker.debian.org.*PASS' query.log || fail $LINENO
135+ t || grep -Eq ' [.].*NS.*PASS' query.log || fail $LINENO
136136
137137section
138- t || grep -Fq ' tracker.debian.org' allowed-names.log || fail
139- t || grep -Fq ' *.tracker.debian' allowed-names.log || fail
138+ t || grep -Fq ' tracker.debian.org' allowed-names.log || fail $LINENO
139+ t || grep -Fq ' *.tracker.debian' allowed-names.log || fail $LINENO
140140
141141section
142142../dnscrypt-proxy/dnscrypt-proxy -loglevel 3 -config test3-dnscrypt-proxy.toml -pidfile /tmp/dnscrypt-proxy.pidfile &
143143sleep 5
144144
145145section
146- t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail
147- t || dig -p${DNS_PORT} A MICROSOFT.COM @127.0.0.1 | grep -Fq " NOERROR" || fail
146+ t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
147+ t || dig -p${DNS_PORT} A MICROSOFT.COM @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
148148
149149kill $( cat /tmp/dnscrypt-proxy.pidfile)
150150sleep 5
@@ -154,8 +154,8 @@ section
154154sleep 5
155155
156156section
157- t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail
158- t || dig -p${DNS_PORT} A cloudflare.com @127.0.0.1 | grep -Fq " NOERROR" || fail
157+ t || dig -p${DNS_PORT} A microsoft.com @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
158+ t || dig -p${DNS_PORT} A cloudflare.com @127.0.0.1 | grep -Fq " NOERROR" || fail $LINENO
159159
160160kill $( cat /tmp/odoh-proxied.pidfile)
161161sleep 5
0 commit comments