diff options
Diffstat (limited to 'test/script')
| -rw-r--r-- | test/script/repo.et | 238 | ||||
| -rw-r--r-- | test/script/run.et | 64 |
2 files changed, 290 insertions, 12 deletions
diff --git a/test/script/repo.et b/test/script/repo.et index d93f700..1ac05a2 100644 --- a/test/script/repo.et +++ b/test/script/repo.et @@ -1,3 +1,11 @@ +module repo + +import common + +asset scripts: + path: ../asset/repo + + test RepoSubtree: node n shell on n as git_init: @@ -87,3 +95,233 @@ test RepoSubtree: expect from p /msg $sub2/ expect from p /path (.*)/ capture path guard (path == "first/second") + + +test CheckoutSubtree: + node n + shell on n as git_init: + mkdir -p main + git -C main -c init.defaultBranch=master init -q + cp "${scripts.path}/checkout.yaml" main/minici.yaml + git -C main add minici.yaml + git -C main -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit' + git -C main rev-parse HEAD + git -C main rev-parse HEAD^{tree} + + mkdir -p dir_r1 + git -C dir_r1 -c init.defaultBranch=master init -q + git -C dir_r1 -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit' + touch dir_r1/file + git -C dir_r1 add . + git -C dir_r1 -c user.name=test -c user.email=test commit -q --allow-empty -m 'commit r1' + git -C dir_r1 rev-parse HEAD + git -C dir_r1 rev-parse HEAD^{tree} + + mkdir -p dir_r2 + git -C dir_r2 -c init.defaultBranch=master init -q + git -C dir_r2 -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit' + mkdir -p dir_r2/s1 + mkdir -p dir_r2/s2 + touch dir_r2/s1/file1 + touch dir_r2/s2/file2 + git -C dir_r2 add . + git -C dir_r2 -c user.name=test -c user.email=test commit -q --allow-empty -m 'commit r2' + git -C dir_r2 rev-parse HEAD + git -C dir_r2 rev-parse HEAD^{tree} + git -C dir_r2 rev-parse HEAD^{tree}:s1 + git -C dir_r2 rev-parse HEAD^{tree}:s2 + + mkdir -p dir_r3 + git -C dir_r3 -c init.defaultBranch=master init -q + git -C dir_r3 -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit' + mkdir -p dir_r3/a/b/s1 + mkdir -p dir_r3/a/b/c/s2 + mkdir -p dir_r3/a/b/c/s3 + touch dir_r3/a/b/s1/file1 + touch dir_r3/a/b/c/s2/file2 + touch dir_r3/a/b/c/s3/file3 + git -C dir_r3 add . + git -C dir_r3 -c user.name=test -c user.email=test commit -q --allow-empty -m 'commit r3' + git -C dir_r3 rev-parse HEAD + git -C dir_r3 rev-parse HEAD^{tree} + git -C dir_r3 rev-parse HEAD^{tree}:a/b + git -C dir_r3 rev-parse HEAD^{tree}:a/b/s1 + git -C dir_r3 rev-parse HEAD^{tree}:a/b/c + git -C dir_r3 rev-parse HEAD^{tree}:a/b/c/s2 + git -C dir_r3 rev-parse HEAD^{tree}:a/b/c/s3 + + expect /([0-9a-f]+)/ from git_init capture mc + expect /([0-9a-f]+)/ from git_init capture mt + + expect /([0-9a-f]+)/ from git_init capture r1c + expect /([0-9a-f]+)/ from git_init capture r1t + + expect /([0-9a-f]+)/ from git_init capture r2c + expect /([0-9a-f]+)/ from git_init capture r2t + expect /([0-9a-f]+)/ from git_init capture r2s1 + expect /([0-9a-f]+)/ from git_init capture r2s2 + + expect /([0-9a-f]+)/ from git_init capture r3c + expect /([0-9a-f]+)/ from git_init capture r3t + expect /([0-9a-f]+)/ from git_init capture r3ab + expect /([0-9a-f]+)/ from git_init capture r3abs1 + expect /([0-9a-f]+)/ from git_init capture r3abc + expect /([0-9a-f]+)/ from git_init capture r3abcs2 + expect /([0-9a-f]+)/ from git_init capture r3abcs3 + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "checkout_subtree" ] + expect_success from p of "$mt.checkout_subtree.$r1t.$r2s1" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.checkout_subtree.$r1t.$r2s1" ] + expect_success from p of "$mt.checkout_subtree.$r1t.$r2s1" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.checkout_subtree.$r1t.$r2s1.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/d1\/file/ + /\.\/d2_s1\/file1/ + /(.*)/ capture done + guard (done == "DONE") + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "checkout_common_root" ] + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.checkout_common_root.$r1t.$r2t" ] + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.checkout_common_root.$r1t.$r2t.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/d1\/file/ + /\.\/d2_s1\/file1/ + /\.\/d2_s2\/file2/ + /(.*)/ capture done + guard (done == "DONE") + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "checkout_common_subtree" ] + expect_success from p of "$mt.checkout_common_subtree.$r3ab" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.checkout_common_subtree.$r3ab" ] + expect_success from p of "$mt.checkout_common_subtree.$r3ab" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.checkout_common_subtree.$r3ab.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/d3_s1\/file1/ + /\.\/d3_s2\/file2/ + /(.*)/ capture done + guard (done == "DONE") + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "checkout_common_subtree2" ] + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" ] + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/d1\/file/ + /\.\/d2_s1\/file1/ + /\.\/d3_s2\/file2/ + /\.\/d3_s3\/file3/ + /(.*)/ capture done + guard (done == "DONE") + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "combined_subtree" ] + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect_success from p of "$mt.combined_subtree.$r1t.$r2t.$r3abc" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.combined_subtree.$r1t.$r2t.$r3abc" ] + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect_success from p of "$mt.combined_subtree.$r1t.$r2t.$r3abc" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.combined_subtree.$r1t.$r2t.$r3abc.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/minici.yaml/ + /\.\/list2/ + /\.\/list4/ + /(.*)/ capture done + guard (done == "DONE") + + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "combined_all" ] + expect_success from p of "$mt.checkout_subtree.$r1t.$r2s1" + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect_success from p of "$mt.checkout_common_subtree.$r3ab" + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect_success from p of "$mt.combined_all.$r1t.$r2t.$r3ab" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "run", "--rerun-all", "$mt.combined_all.$r1t.$r2t.$r3ab" ] + expect_success from p of "$mt.checkout_subtree.$r1t.$r2s1" + expect_success from p of "$mt.checkout_common_root.$r1t.$r2t" + expect_success from p of "$mt.checkout_common_subtree.$r3ab" + expect_success from p of "$mt.checkout_common_subtree2.$r1t.$r2s1.$r3abc" + expect_success from p of "$mt.combined_all.$r1t.$r2t.$r3ab" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=minici", "--repo=r1:./dir_r1", "--repo=r2:./dir_r2", "--repo=r3:./dir_r3", "./main", "extract", "$mt.combined_all.$r1t.$r2t.$r3ab.out", "list" ] + local: + shell on n as list: + cat list + rm list + echo DONE + expect from list: + /\.\/minici.yaml/ + /\.\/list1/ + /\.\/list2/ + /\.\/list3/ + /\.\/list4/ + /(.*)/ capture done + guard (done == "DONE") diff --git a/test/script/run.et b/test/script/run.et index 124ae37..3e13ca1 100644 --- a/test/script/run.et +++ b/test/script/run.et @@ -8,12 +8,20 @@ asset scripts: test RunWithoutRepo: node n - spawn on n as p args [ "--storage=.minici", "${scripts.path}/norepo-basic.yaml", "run", "success", "failure" ] - expect_result from p: - of "success" result "done" - of "failure" result "failed" - expect /(.*)/ from p capture done - guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=.minici", "${scripts.path}/norepo-basic.yaml", "run", "success", "failure", "block_recipe" ] + expect_result from p: + of "success" result "done" + of "failure" result "failed" + of "block_recipe" result "done" + expect /(.*)/ from p capture done + guard (done == "run-finish") + local: + spawn on n as p args [ "--storage=.minici", "${scripts.path}/norepo-basic.yaml", "extract", "block_recipe.out", "." ] + local: + shell on n as s: + cat var + expect /abc/ from s test RunWithRepo: @@ -260,31 +268,63 @@ test RunExplicitDependentJob: git -C main -c user.name=test -c user.email=test commit -q -m 'commit' git -C main rev-parse HEAD^{tree} + mkdir -p other + git -C other -c init.defaultBranch=master init -q + + mkdir -p other/subdir + + touch other/subdir/a + git -C other add subdir + git -C other -c user.name=test -c user.email=test commit -q -m 'commit' + git -C other rev-parse HEAD^{tree} + + touch other/subdir/b + git -C other add subdir + git -C other -c user.name=test -c user.email=test commit -q -m 'commit' + git -C other rev-parse HEAD^{tree} + + rm other/subdir/a + rm other/subdir/b + touch other/subdir/c + git -C other add subdir + git -C other -c user.name=test -c user.email=test commit -q -m 'commit' + git -C other rev-parse HEAD^{tree} + + touch other/subdir/d + git -C other add subdir + git -C other -c user.name=test -c user.email=test commit -q -m 'commit' + git -C other rev-parse HEAD^{tree} + expect /([0-9a-f]+)/ from git_init capture c1 expect /([0-9a-f]+)/ from git_init capture t1 expect /([0-9a-f]+)/ from git_init capture t2 expect /([0-9a-f]+)/ from git_init capture t3 expect /([0-9a-f]+)/ from git_init capture t4 + expect /([0-9a-f]+)/ from git_init capture o1 + expect /([0-9a-f]+)/ from git_init capture o2 + expect /([0-9a-f]+)/ from git_init capture o3 + expect /([0-9a-f]+)/ from git_init capture o4 + local: - spawn on n as p args [ "./main", "run", "$c1.first", "$t2.first", "$t3.fourth", "$c1.fifth", "$c1.fourth", "$c1.third", "$c1.second", "$t4.fifth" ] + spawn on n as p args [ "--repo=other:./other", "./main", "run", "$c1.first", "$t2.first", "$t3.fourth.$o3", "$c1.fifth.$o1", "$c1.fourth.$o1", "$c1.third", "$c1.second", "$t4.fifth.$o4" ] expect_success from p of "$t1.first" expect_success from p of "$t1.second" expect_success from p of "$t1.third" - expect_success from p of "$t1.fourth" - expect_success from p of "$t1.fifth" + expect_success from p of "$t1.fourth.$o1" + expect_success from p of "$t1.fifth.$o1" expect_success from p of "$t2.first" expect_success from p of "$t3.first" expect_success from p of "$t3.second" - expect_success from p of "$t3.fourth" + expect_success from p of "$t3.fourth.$o3" expect_success from p of "$t4.first" expect_success from p of "$t4.second" expect_success from p of "$t4.third" - expect_success from p of "$t4.fourth" - expect_success from p of "$t4.fifth" + expect_success from p of "$t4.fourth.$o4" + expect_success from p of "$t4.fifth.$o4" flush from p matching /note .*/ flush from p matching /job-duplicate .*/ |