@@ -2,7 +2,7 @@ ifneq (,)
22.error This Makefile requires GNU Make.
33endif
44
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
66
77# --------------------------------------------------------------------------------------------------
88# VARIABLES
6464# --------------------------------------------------------------------------------------------------
6565test :
6666 @$(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
6971
7072_test-version :
7173 @echo " ------------------------------------------------------------"
@@ -94,28 +96,25 @@ _test-version:
9496 fi ; \
9597 echo " Success" ; \
9698
97- _test-run-one :
99+ _test-run-generate- one :
98100 @echo " ------------------------------------------------------------"
99101 @echo " - Testing terraform-docs (1/2)"
100102 @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 \
105104 echo " Failed" ; \
106105 exit 1; \
107106 fi ; \
108- if ! grep ' ## Inputs' tests/basic/TEST-$( TAG) .md; then \
107+ if ! grep ' ## Inputs' tests/output/generate/ basic/TEST-$( TAG) .md; then \
109108 echo " Failed" ; \
110109 exit 1; \
111110 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 \
113112 echo " Failed" ; \
114113 exit 1; \
115114 fi ; \
116115 echo " Success" ;
117116
118- _test-run-two :
117+ _test-run-generate- two :
119118 @echo " ------------------------------------------------------------"
120119 @echo " - Testing terraform-docs (2/2)"
121120 @echo " ------------------------------------------------------------"
@@ -130,12 +129,79 @@ _test-run-two:
130129 fi ; \
131130 ))
132131 @# ---- 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 \
134137 echo " Failed" ; \
135138 exit 1; \
136139 fi
137140 @# ---- 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 \
139205 echo " Failed" ; \
140206 exit 1; \
141207 fi ; \
0 commit comments