-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjustfile
51 lines (42 loc) · 1.47 KB
/
justfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# List all recipies
default:
just --list --unsorted
# Build image
build-image:
cargo build --target x86_64-unknown-linux-musl --example simple
cargo build --target x86_64-unknown-linux-musl --example zombie
cargo build --target x86_64-unknown-linux-musl --example sigterm_handler
cargo build --target x86_64-unknown-linux-musl --example sigterm_loop
cargo build --target x86_64-unknown-linux-musl --example dumb_shell
cp ../target/x86_64-unknown-linux-musl/debug/examples/simple etc
cp ../target/x86_64-unknown-linux-musl/debug/examples/zombie etc
cp ../target/x86_64-unknown-linux-musl/debug/examples/sigterm_handler etc
cp ../target/x86_64-unknown-linux-musl/debug/examples/sigterm_loop etc
cp ../target/x86_64-unknown-linux-musl/debug/examples/dumb_shell etc
docker build etc -f etc/Dockerfile --tag pid1rstest
# Run test image
run-image:
docker rm pid1rs || exit 0
docker run --name pid1rs -t pid1rstest /simple --sleep 20
# Run zombie in the container
run-zombie:
docker exec -t pid1rs zombie
# Test
test: build-image
docker rm pid1rs || exit 0
docker run --name pid1rs -t pid1rstest
cargo test
# Run SIGTERM test
sigterm-test:
docker rm pid1rs || exit 0
docker run --name pid1rs -t pid1rstest sigterm_handler
# Send SIGTERM to container
send-sigterm:
docker exec -it pid1rs kill 1
# Run SIGTERM loop test
sigloop-test:
docker rm pid1rs || exit 0
docker run --name pid1rs -t pid1rstest sigterm_loop
# Exec into that docker container
exec-shell:
docker exec -it pid1rs sh