Dockerfile

Thu, 23 Mar 2023 12:14:53 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Thu, 23 Mar 2023 12:14:53 +0000
changeset 172
2c17151ed21b
parent 141
7b774278ca84
child 179
8a9bf558aead
permissions
-rw-r--r--

client: Fix timeout handling

Previously, the timeout handler would fire an error that would get caught and
logged by the timer code. However that error never reached the upper levels of
scansion, leading to the whole thing just hanging.

Now we just trigger resumption of the async runner, and throw the error from
there if we haven't received the stanza yet.

With this change, timeouts are now correctly handled and reported as failures.

94
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 FROM ubuntu:xenial
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 MAINTAINER Matthew Wild <mwild1@gmail.com>
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 RUN apt-get update \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 lua5.2 \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 lua-cjson \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 lua-expat \
140
2758cfb4e26d Dockerfile: Add luafilesystem for '-d'
Matthew Wild <mwild1@gmail.com>
parents: 94
diff changeset
10 lua-filesystem \
94
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 lua-sec \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 lua-socket \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 make \
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 && rm -rf /var/lib/apt/lists/*
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 RUN ln -s /usr/bin/lua5.2 /usr/local/bin/lua
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 RUN mkdir -p /tmp/build
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 ADD . /tmp/build
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 WORKDIR /tmp/build
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 RUN ./configure && make && install build/scansion /usr/local/bin/scansion && rm -rf /tmp/build
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 ADD verse.lua /usr/local/share/lua/5.2/verse.lua
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 ADD misc/docker-entrypoint.sh /entrypoint.sh
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 RUN chmod a=rx /entrypoint.sh
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 ENTRYPOINT ["/entrypoint.sh"]
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 USER nobody
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36 ADD scripts /scripts
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 VOLUME ["/scripts"]
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 WORKDIR /scripts
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41
141
7b774278ca84 Dockerfile: Run all tests in /scripts by default
Matthew Wild <mwild1@gmail.com>
parents: 140
diff changeset
42 CMD ["-d", "/scripts"]
94
1b3e848b4394 Add Dockerfile
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43

mercurial