diff options
author | u <u@billy> | 2023-05-29 18:16:32 -0400 |
---|---|---|
committer | u <u@billy> | 2023-05-29 18:21:01 -0400 |
commit | 05ec0ee9aed68851c75a13e2199f6fb7828f2f8a (patch) | |
tree | a84ae6f58cb1864517f6dca06bf521001922aed0 | |
parent | c5999bad17c7ccda1bab698261dbb822c2c7e3ad (diff) |
endofossil testing as a service
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | src/fossil-test@.service | 12 |
2 files changed, 14 insertions, 2 deletions
@@ -40,7 +40,7 @@ else | |||
40 | $(error "you must define THE_USER") | 40 | $(error "you must define THE_USER") |
41 | endif | 41 | endif |
42 | unitdir = /etc/systemd/system | 42 | unitdir = /etc/systemd/system |
43 | unit_files = $(addprefix src/fossil-user,@.service .socket) | 43 | unit_files = $(addprefix src/fossil-user,@.service .socket) src/fossil-test@.service |
44 | units = $(filter-out %@.service,$(notdir $(unit_files))) | 44 | units = $(filter-out %@.service,$(notdir $(unit_files))) |
45 | executables = src/endofossil | 45 | executables = src/endofossil |
46 | bindir = /usr/local/bin | 46 | bindir = /usr/local/bin |
@@ -56,7 +56,7 @@ install: | |||
56 | install -t $(bindir) -- $(executables) | 56 | install -t $(bindir) -- $(executables) |
57 | systemctl daemon-reload | 57 | systemctl daemon-reload |
58 | test: install | 58 | test: install |
59 | su - u -c 'fossil clone ssh://$(SSH_USERNAME)@localhost/fossil/db db~$$(date -Ins).fossil' | 59 | journalctl -f -u fossil-test@$(SSH_USERNAME) & p=$$!; systemctl start --wait fossil-test@$(SSH_USERNAME); kill $$p |
60 | start stop restart status show: | 60 | start stop restart status show: |
61 | systemctl $@ $(units) | 61 | systemctl $@ $(units) |
62 | follow: | 62 | follow: |
diff --git a/src/fossil-test@.service b/src/fossil-test@.service new file mode 100644 index 0000000..c1ad063 --- /dev/null +++ b/src/fossil-test@.service | |||
@@ -0,0 +1,12 @@ | |||
1 | [Unit] | ||
2 | Description = Test Endofossil by attempting a clone | ||
3 | |||
4 | [Service] | ||
5 | Type = oneshot | ||
6 | RuntimeDirectory = fossil-test-%i | ||
7 | WorkingDirectory = /run/fossil-test-%i | ||
8 | ExecStart = sh -xc 'mkdir .ssh' | ||
9 | ExecStart = sh -xc 'ssh-keygen -t ed25519 -f .ssh/id_ed25519 -N ""' | ||
10 | ExecStart = sh -xc 'HOME=. ssh %i@localhost fossil test-http src/fossil/db' | ||
11 | ExecStart = sh -xc 'HOME=. fossil clone ssh://%i@localhost/src/fossil/db db~$(date -Ins).fossil' | ||
12 | |||