|
9 | 9 |
|
10 | 10 | TK_APPLY_FLAGS ?= --apply-strategy=server --force |
11 | 11 |
|
12 | | -.PHONY: k8s/tanka/charts/vendor k8s/tanka/charts/patch k8s/tanka/fmt k8s/tanka/fmt-test k8s/tanka/generate k8s/tanka/generate/% k8s/tanka/apply/% k8s/tanka/delete/% k8s/tanka/update-chart/% k8s/tanka/new-app/% |
| 12 | +## Tanka test helpers |
| 13 | +TANKA_TEST_FILES=$(wildcard ./*/tests/test.jsonnet) $(wildcard ./tests/*.jsonnet) |
| 14 | +TANKA_GOLDEN_FILES=$(wildcard ./*/tests/test-golden.json) $(wildcard ./tests/*-golden.json) |
| 15 | +TANKA_PHONY_GOLDEN=$(patsubst %.jsonnet,%-golden.json,$(TANKA_TEST_FILES)) |
| 16 | +TANKA_PHONY_DIFF=$(patsubst %.jsonnet,%.diff,$(TANKA_TEST_FILES)) |
| 17 | + |
| 18 | +.PHONY: k8s/tanka/charts/vendor k8s/tanka/charts/patch k8s/tanka/fmt k8s/tanka/fmt-test k8s/tanka/generate k8s/tanka/generate/% k8s/tanka/apply/% k8s/tanka/delete/% k8s/tanka/update-chart/% k8s/tanka/new-app/% k8s/tanka/test k8s/tanka/diff k8s/tanka/gen-golden k8s/tanka/rm-golden k8s/tanka/diff-help |
13 | 19 |
|
14 | 20 | ## Vendor charts |
15 | 21 | k8s/tanka/charts/vendor: |
@@ -72,3 +78,28 @@ k8s/tanka/delete/%: satoshi/check-deps |
72 | 78 | ## Creates a new app in the existing repo |
73 | 79 | k8s/tanka/add/%: satoshi/check-deps |
74 | 80 | @@${BUILD_HARNESS_EXTENSIONS_PATH}/modules/k8s/tanka/new-app.sh $* |
| 81 | + |
| 82 | +## Run Tanka tests |
| 83 | +k8s/tanka/test: jsonnet/install k8s/tanka/diff |
| 84 | + |
| 85 | +## Diff Tanka files against expected golden |
| 86 | +k8s/tanka/diff: k8s/tanka/diff-help $(TANKA_PHONY_DIFF) |
| 87 | + |
| 88 | +%.diff: %.jsonnet |
| 89 | + diff -u $(*)-golden.json <(tk eval $(<)) |
| 90 | + |
| 91 | +%-golden.json: %.jsonnet |
| 92 | + tk eval $(<) > $(@) |
| 93 | + |
| 94 | +## Remove golden files from Tanka tests |
| 95 | +k8s/tanka/rm-golden: |
| 96 | + rm -f $(TANKA_GOLDEN_FILES) |
| 97 | + |
| 98 | +## Generate expected golden files from Tanka |
| 99 | +k8s/tanka/gen-golden: k8s/tanka/rm-golden $(TANKA_PHONY_GOLDEN) |
| 100 | + |
| 101 | +## Help regarding Tanka diff |
| 102 | +k8s/tanka/diff-help: |
| 103 | + @echo "NOTE: if the 'k8s/tanka/diff' target fails, review output and run:" |
| 104 | + @echo " $(MAKE) k8s/tanka/gen-golden k8s/tanka/diff" |
| 105 | + @echo |
0 commit comments