summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-10-24 16:48:37 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-10-29 19:49:12 +0100
commitc831d87f4b7d1a44a556c5b9d00bb5b2c3ee508b (patch)
treefa407920d11d2dc48f030159171f09e81cc87e48 /test
parentcc9a4c34e2fdf7555c03e98f3d038b43ba12ddc0 (diff)
Tags watch expressions
Diffstat (limited to 'test')
-rw-r--r--test/script/expression.et106
1 files changed, 106 insertions, 0 deletions
diff --git a/test/script/expression.et b/test/script/expression.et
new file mode 100644
index 0000000..c92a09b
--- /dev/null
+++ b/test/script/expression.et
@@ -0,0 +1,106 @@
+module expression
+
+import common
+
+asset scripts:
+ path: ../asset/run
+
+
+test WatchTagList:
+ node n
+ shell on n as git_init:
+ git -c init.defaultBranch=master init -q
+ git -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit'
+ cp "${scripts.path}/single.yaml" minici.yaml
+ git add minici.yaml
+ git -c user.name=test -c user.email=test commit -q -m 'minici.yaml'
+ git rev-parse HEAD
+
+ touch a
+ git add a
+ git -c user.name=test -c user.email=test commit -q -m a
+ git rev-parse HEAD
+ git rev-parse HEAD^{tree}
+
+ touch b
+ git add b
+ git -c user.name=test -c user.email=test commit -q -m b
+ git rev-parse HEAD
+ git rev-parse HEAD^{tree}
+
+ touch c
+ git add c
+ git -c user.name=test -c user.email=test commit -q -m c
+ git rev-parse HEAD
+ git rev-parse HEAD^{tree}
+
+ touch d
+ git add d
+ git -c user.name=test -c user.email=test commit -q -m d
+ git rev-parse HEAD
+ git rev-parse HEAD^{tree}
+
+ touch e
+ git add e
+ git -c user.name=test -c user.email=test commit -q -m e
+ git rev-parse HEAD
+ git rev-parse HEAD^{tree}
+
+ git reset --hard HEAD~5
+ git rev-parse HEAD
+
+ expect /([0-9a-f]+)/ from git_init capture c_init
+ expect /([0-9a-f]+)/ from git_init capture ca
+ expect /([0-9a-f]+)/ from git_init capture ta
+ expect /([0-9a-f]+)/ from git_init capture cb
+ expect /([0-9a-f]+)/ from git_init capture tb
+ expect /([0-9a-f]+)/ from git_init capture cc
+ expect /([0-9a-f]+)/ from git_init capture tc
+ expect /([0-9a-f]+)/ from git_init capture cd
+ expect /([0-9a-f]+)/ from git_init capture td
+ expect /([0-9a-f]+)/ from git_init capture ce
+ expect /([0-9a-f]+)/ from git_init capture te
+ expect /([0-9a-f]+)/ from git_init capture c_end
+
+ guard (c_init == c_end)
+
+ shell on n:
+ git -c user.name=test -c user.email=test tag -a -m . v1 $ca
+ git -c user.name=test -c user.email=test tag -a -m . x1 $cb
+
+ local:
+ spawn on n as p args [ "run", "--rerun-all", "tags(v*)" ]
+ expect from p:
+ /job-enqueue $ta:single/
+ /job-start $ta:single/
+ /job-finish $ta:single done/
+ expect /(.*)/ from p capture finish
+ guard (finish == "run-finish")
+
+ local:
+ spawn on n as p args [ "run", "--rerun-all", "watch(tags(v*))" ] killwith SIGINT
+ expect from p:
+ /job-enqueue $ta:single/
+ /job-start $ta:single/
+ /job-finish $ta:single done/
+
+ shell on n:
+ git -c user.name=test -c user.email=test tag -a -m . v2 $cc
+
+ expect from p:
+ /job-enqueue $tc:single/
+ /job-start $tc:single/
+ /job-finish $tc:single done/
+
+ shell on n:
+ git -c user.name=test -c user.email=test tag -a -m . x2 $cd
+
+ shell on n:
+ git -c user.name=test -c user.email=test tag -a -m . v3 $ce
+
+ local:
+ expect from p /job-enqueue ([0-9a-f]+):single/ capture tid
+ guard (tid == te)
+ expect from p:
+ /job-start $te:single/
+ /job-finish $te:single done/