@@ -2,7 +2,7 @@ ifneq (,)
2
2
.error This Makefile requires GNU Make.
3
3
endif
4
4
5
- .PHONY : build rebuild lint test _test-version _test-run-one _test-run-two tag pull login push enter
5
+ .PHONY : build rebuild lint test _test-version _test-run-generate- one _test-run-generate-two _test-run-replace-one _test-run-replace -two tag pull login push enter
6
6
7
7
# --------------------------------------------------------------------------------------------------
8
8
# VARIABLES
64
64
# --------------------------------------------------------------------------------------------------
65
65
test :
66
66
@$(MAKE ) --no-print-directory _test-version
67
- @$(MAKE ) --no-print-directory _test-run-one
68
- @$(MAKE ) --no-print-directory _test-run-two
67
+ @$(MAKE ) --no-print-directory _test-run-generate-one
68
+ @$(MAKE ) --no-print-directory _test-run-generate-two
69
+ @$(MAKE ) --no-print-directory _test-run-replace-one
70
+ @$(MAKE ) --no-print-directory _test-run-replace-two
69
71
70
72
_test-version :
71
73
@echo " ------------------------------------------------------------"
@@ -94,28 +96,25 @@ _test-version:
94
96
fi ; \
95
97
echo " Success" ; \
96
98
97
- _test-run-one :
99
+ _test-run-generate- one :
98
100
@echo " ------------------------------------------------------------"
99
101
@echo " - Testing terraform-docs (1/2)"
100
102
@echo " ------------------------------------------------------------"
101
- @echo ' <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->' > tests/basic/TEST-$(TAG ) .md
102
- @echo >> tests/basic/TEST-$(TAG ) .md
103
- @echo ' <!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->' >> tests/basic/TEST-$(TAG ) .md
104
- @if ! docker run --rm -v $(PWD ) /tests/basic:/data $(IMAGE ) terraform-docs-replace md TEST-$(TAG ) .md; then \
103
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs md /data/output/generate/basic/ > tests/output/generate/basic/TEST-$(TAG ) .md; then \
105
104
echo " Failed" ; \
106
105
exit 1; \
107
106
fi ; \
108
- if ! grep ' ## Inputs' tests/basic/TEST-$( TAG) .md; then \
107
+ if ! grep ' ## Inputs' tests/output/generate/ basic/TEST-$( TAG) .md; then \
109
108
echo " Failed" ; \
110
109
exit 1; \
111
110
fi ; \
112
- if ! grep ' test description ' tests/basic/TEST-$( TAG) .md; then \
111
+ if ! grep -E ' ^variable.*$$ ' tests/output/generate/basic/main.tf | awk -F ' " ' ' {print $$2} ' | xargs -n1 sh -c ' if ! cat tests/output/generate/ basic/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi ' -- ; then \
113
112
echo " Failed" ; \
114
113
exit 1; \
115
114
fi ; \
116
115
echo " Success" ;
117
116
118
- _test-run-two :
117
+ _test-run-generate- two :
119
118
@echo " ------------------------------------------------------------"
120
119
@echo " - Testing terraform-docs (2/2)"
121
120
@echo " ------------------------------------------------------------"
@@ -130,12 +129,79 @@ _test-run-two:
130
129
fi ; \
131
130
))
132
131
@# ---- Test Terraform < 0.12 ----
133
- @if ! docker run --rm -v $(PWD ) /tests/default:/data $(IMAGE ) terraform-docs-replace $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md TEST-$(TAG ) .md; then \
132
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md /data/output/generate/default/ > tests/output/generate/default/TEST-$(TAG ) .md; then \
133
+ echo " Failed" ; \
134
+ exit 1; \
135
+ fi ; \
136
+ if ! grep -E ' ^variable.*$$' tests/output/generate/default/main.tf | awk -F' "' ' {print $$2}' | xargs -n1 sh -c ' if ! cat tests/output/generate/default/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi' -- ; then \
134
137
echo " Failed" ; \
135
138
exit 1; \
136
139
fi
137
140
@# ---- Test Terraform >= 0.12 ----
138
- @if ! docker run --rm -v $(PWD ) /tests/0.12:/data $(IMAGE ) terraform-docs-replace-012 $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md TEST-$(TAG ) .md; then \
141
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs-012 $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md /data/output/generate/0.12/ > tests/output/generate/0.12/TEST-$(TAG ) .md; then \
142
+ echo " Failed" ; \
143
+ exit 1; \
144
+ fi ; \
145
+ if ! grep -E ' ^variable.*$$' tests/output/generate/0.12/main.tf | awk -F' "' ' {print $$2}' | xargs -n1 sh -c ' if ! cat tests/output/generate/0.12/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi' -- ; then \
146
+ echo " Failed" ; \
147
+ exit 1; \
148
+ fi
149
+ @echo " Success" ;
150
+
151
+ _test-run-replace-one :
152
+ @echo " ------------------------------------------------------------"
153
+ @echo " - Testing terraform-docs-replace (1/2)"
154
+ @echo " ------------------------------------------------------------"
155
+ @echo ' <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->' > tests/output/replace/basic/TEST-$(TAG ) .md
156
+ @echo >> tests/output/replace/basic/TEST-$(TAG ) .md
157
+ @echo ' <!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->' >> tests/output/replace/basic/TEST-$(TAG ) .md
158
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs-replace md /data/output/replace/basic/TEST-$(TAG ) .md; then \
159
+ echo " Failed" ; \
160
+ exit 1; \
161
+ fi ; \
162
+ if ! grep ' ## Inputs' tests/output/replace/basic/TEST-$( TAG) .md; then \
163
+ echo " Failed" ; \
164
+ exit 1; \
165
+ fi ; \
166
+ if ! grep ' test description' tests/output/replace/basic/TEST-$( TAG) .md; then \
167
+ echo " Failed" ; \
168
+ exit 1; \
169
+ fi ; \
170
+ if ! grep -E ' ^variable.*$$' tests/output/replace/basic/main.tf | awk -F' "' ' {print $$2}' | xargs -n1 sh -c ' if ! cat tests/output/replace/basic/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi' -- ; then \
171
+ echo " Failed" ; \
172
+ exit 1; \
173
+ fi ; \
174
+ echo " Success" ;
175
+
176
+ _test-run-replace-two :
177
+ @echo " ------------------------------------------------------------"
178
+ @echo " - Testing terraform-docs-replace (2/2)"
179
+ @echo " ------------------------------------------------------------"
180
+ $(eval TFDOC_ARG_SORT = $(shell \
181
+ if [ " $( TAG) " != " 0.1.0" ] && [ " $( TAG) " != " 0.1.1" ] && [ " $( TAG) " != " 0.2.0" ] && [ " $( TAG) " != " 0.3.0" ] && [ " $( TAG) " != " 0.4.0" ] && [ " $( TAG) " != " 0.4.5" ]; then \
182
+ echo " --sort-inputs-by-required" ; \
183
+ fi ; \
184
+ ))
185
+ $(eval TFDOC_ARG_AGGREGATE = $(shell \
186
+ if [ " $( TAG) " != " 0.1.0" ] && [ " $( TAG) " != " 0.1.1" ] && [ " $( TAG) " != " 0.2.0" ] && [ " $( TAG) " != " 0.3.0" ]; then \
187
+ echo " --with-aggregate-type-defaults" ; \
188
+ fi ; \
189
+ ))
190
+ @# ---- Test Terraform < 0.12 ----
191
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs-replace $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md /data/output/replace/default/TEST-$(TAG ) .md; then \
192
+ echo " Failed" ; \
193
+ exit 1; \
194
+ fi ; \
195
+ if ! grep -E ' ^variable.*$$' tests/output/replace/default/main.tf | awk -F' "' ' {print $$2}' | xargs -n1 sh -c ' if ! cat tests/output/replace/default/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi' -- ; then \
196
+ echo " Failed" ; \
197
+ exit 1; \
198
+ fi
199
+ @# ---- Test Terraform >= 0.12 ----
200
+ @if ! docker run --rm -v $(PWD ) /tests:/data $(IMAGE ) terraform-docs-replace-012 $(TFDOC_ARG_SORT ) $(TFDOC_ARG_AGGREGATE ) md /data/output/replace/0.12/TEST-$(TAG ) .md; then \
201
+ echo " Failed" ; \
202
+ exit 1; \
203
+ fi ; \
204
+ if ! grep -E ' ^variable.*$$' tests/output/replace/0.12/main.tf | awk -F' "' ' {print $$2}' | xargs -n1 sh -c ' if ! cat tests/output/replace/0.12/TEST-$(TAG).md | sed "s/\\\//g" | grep -E "[[:space:]]$$1[[:space:]]" >/dev/null; then echo "[ERROR] $$1"; false; else echo "[SUCC] $$1"; true; fi' -- ; then \
139
205
echo " Failed" ; \
140
206
exit 1; \
141
207
fi ; \
0 commit comments