bash
```bash
session=$(date +%s)
echo OK | dtap \
--check echo \
--params word=OK \
--box - \
--session $session \
--desc "echo test"
ls -d templates/ 2>&1 | dtap --box - \
--session $session \
--check path-ok \
--params path=templates/ \
--desc "templates dir exists"
curl http://httpbin.org/foo -D - -s -o /dev/null | head -n 10 | \
dtap --box - \
--session $session \
--check web-server-ok \
--params fashion=gunicorn \
--desc "web server http ok"
dpkg -s nano 2>&1 | head -n2 | \
dtap --box - \
--session $session \
--check package-install-ok \
--desc "nano package installed"
dtap --report --session $session
ex_code=$?
if [[ ex_code -eq 1 ]]; then
dtap \
--report \
--details \
--failures \
--session $session
fi
```
Output:
```
DTAP report
session: 1767605425
===
echo test ........ OK
templates dir exists ........ OK
web server http ok ........ FAIL
nano package installed ........ OK
DTAP report
session: 1767605425
===
web server http ok ...... FAIL
[report]
12:30:28 :: [sparrowtask] - run sparrow task .@fashion=gunicorn
12:30:28 :: [sparrowtask] - run [.], thing: .@fashion=gunicorn
[task run: task.bash - .]
[task stdout]
12:30:28 :: HTTP/1.1 404 NOT FOUND
12:30:28 :: Date: Mon, 05 Jan 2026 09:30:27 GMT
12:30:28 :: Content-Type: text/html
12:30:28 :: Content-Length: 233
12:30:28 :: Connection: keep-alive
12:30:28 :: Server: gunicorn/19.9.0
12:30:28 :: Access-Control-Allow-Origin: *
12:30:28 :: Access-Control-Allow-Credentials: true
12:30:28 ::
[task check]
stdout match