[build-path-prefix-map-spec] 13/50: Rename tests for better structure

Ximin Luo infinity0 at debian.org
Fri Mar 10 15:17:19 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository build-path-prefix-map-spec.

commit 352abbe85b84a89464672a930b23bae48204d321
Author: Ximin Luo <infinity0 at debian.org>
Date:   Mon Jan 23 21:22:48 2017 +0100

    Rename tests for better structure
---
 consume/Makefile                                   | 26 ++++++++++++++++------
 consume/testcases/README                           | 12 +++++++---
 ...-ok.hexsplit.env => hexsplit.0.allbytes-ok.env} |  0
 ...{0.allbytes-ok.in => hexsplit.0.allbytes-ok.in} |  0
 ....allbytes-ok.out => hexsplit.0.allbytes-ok.out} |  0
 ...pty-ok.hexsplit.env => hexsplit.0.empty-ok.env} |  0
 .../{0.empty-ok.in => hexsplit.0.empty-ok.in}      |  0
 .../{0.empty-ok.out => hexsplit.0.empty-ok.out}    |  0
 ...hex.hexsplit.env => hexsplit.1.invalid-hex.env} |  0
 ...{1.invalid-hex.in => hexsplit.1.invalid-hex.in} |  0
 ....invalid-hex.out => hexsplit.1.invalid-hex.out} |  0
 ...k.hexsplit.env => hexsplit.1.many-=-not-ok.env} |  0
 ...any-=-not-ok.in => hexsplit.1.many-=-not-ok.in} |  0
 ...y-=-not-ok.out => hexsplit.1.many-=-not-ok.out} |  0
 ...t-hex.hexsplit.env => hexsplit.1.short-hex.env} |  0
 .../{1.short-hex.in => hexsplit.1.short-hex.in}    |  0
 .../{1.short-hex.out => hexsplit.1.short-hex.out}  |  0
 17 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/consume/Makefile b/consume/Makefile
index 396d614..5298b7d 100644
--- a/consume/Makefile
+++ b/consume/Makefile
@@ -5,8 +5,12 @@ ALL_FORMATS = hexsplit
 ALL_SOURCE = hexsplit.c
 ALLCHECK_hexsplit = hexsplit.c.out hexsplit.js hexsplit.py
 
-TESTCASES_0 = $(patsubst $(T)0.%.in,0.%,$(wildcard $(T)0.*.in))
-TESTCASES_1 = $(patsubst $(T)1.%.in,1.%,$(wildcard $(T)1.*.in))
+find_testcases = \
+	TESTCASES_$(1) = $(patsubst $(T)$(1).%.in,$(1).%,$(wildcard $(T)$(1).*.in))
+$(eval $(call find_testcases,0))
+$(eval $(call find_testcases,1))
+$(foreach format,$(ALL_FORMATS),$(eval $(call find_testcases,$(format).0)))
+$(foreach format,$(ALL_FORMATS),$(eval $(call find_testcases,$(format).1)))
 
 .PHONY: all
 all: $(ALL_SOURCE:%=%.out)
@@ -17,21 +21,29 @@ all: $(ALL_SOURCE:%=%.out)
 .PHONY: check
 check: $(ALL_FORMATS:%=check-%)
 
+# 1 progname
+# 2 format
+# 3 expected exit code
+# 4 input
+# 5 env
+# 6 output
 check-generic = \
 	set -x; for i in $(1); do \
 	  ./$$i $$(cat $(T)$(4).in) | diff -ru - "$(T)$(4).in" || exit 1; \
-	  tmpout="$(T)$(4).$(2).env.tmpout"; \
-	  BUILD_PATH_PREFIX_MAP="$$(cat $(T)$(4).$(2).env)" \
+	  tmpout="$(T)$(5).env.tmpout"; \
+	  BUILD_PATH_PREFIX_MAP="$$(cat $(T)$(5).env)" \
 	  ./$$i $$(cat $(T)$(4).in) > "$$tmpout"; \
-	  test $$? = $(3) && diff -ru "$$tmpout" "$(T)$(4).out" && \
+	  test $$? = $(3) && diff -ru "$$tmpout" "$(T)$(6).out" && \
 	    rm -f "$$tmpout" || { rm -f "$$tmpout"; exit 1; }; \
 	done;
 
 .PHONY: check-%
 check-%:
 	$(MAKE) $(ALLCHECK_$*)
-	$(foreach case,$(TESTCASES_0),$(call check-generic,$(ALLCHECK_$*),$*,0,$(case)))
-	$(foreach case,$(TESTCASES_1),$(call check-generic,$(ALLCHECK_$*),$*,1,$(case)))
+	$(foreach case,$(TESTCASES_0),$(call check-generic,$(ALLCHECK_$*),$*,0,$(case),$(case).$*,$(case)))
+	$(foreach case,$(TESTCASES_1),$(call check-generic,$(ALLCHECK_$*),$*,1,$(case),$(case).$*,$(case)))
+	$(foreach case,$(TESTCASES_$*.0),$(call check-generic,$(ALLCHECK_$*),$*,0,$(case),$(case),$(case)))
+	$(foreach case,$(TESTCASES_$*.1),$(call check-generic,$(ALLCHECK_$*),$*,1,$(case),$(case),$(case)))
 
 make-afl-test-case = \
 	cat testcases/$(3).$(1).env testcases/$(3).in > afl-in-$(1)/$(3).in;
diff --git a/consume/testcases/README b/consume/testcases/README
index d60a9e9..2c9562e 100644
--- a/consume/testcases/README
+++ b/consume/testcases/README
@@ -1,8 +1,14 @@
 Naming convention is like:
 
+# Mapping and general IO tests
 <expected return code>.<unique name>.in
-<expected return code>.<unique name>.out
 <expected return code>.<unique name>.<format-name>.env
+<expected return code>.<unique name>.out
+
+# Format parsing tests
+<format-name>.<expected return code>.<unique name>.in
+<format-name>.<expected return code>.<unique name>.env
+<format-name>.<expected return code>.<unique name>.out
 
-0.allbytes-ok.hexsplit.env was created by running in python:
->>> open("testcases/0.allbytes-ok.hexsplit.env", "wb").write(bytes(i for i in range(1, 255) if chr(i) not in "%=:\n") + b"=\n")
+hexsplit.0.allbytes-ok.env was created by running in python3:
+>>> open("testcases/hexsplit.0.allbytes-ok.env", "wb").write(bytes(i for i in range(1, 255) if chr(i) not in "%=:\n") + b"=\n")
diff --git a/consume/testcases/0.allbytes-ok.hexsplit.env b/consume/testcases/hexsplit.0.allbytes-ok.env
similarity index 100%
rename from consume/testcases/0.allbytes-ok.hexsplit.env
rename to consume/testcases/hexsplit.0.allbytes-ok.env
diff --git a/consume/testcases/0.allbytes-ok.in b/consume/testcases/hexsplit.0.allbytes-ok.in
similarity index 100%
rename from consume/testcases/0.allbytes-ok.in
rename to consume/testcases/hexsplit.0.allbytes-ok.in
diff --git a/consume/testcases/0.allbytes-ok.out b/consume/testcases/hexsplit.0.allbytes-ok.out
similarity index 100%
rename from consume/testcases/0.allbytes-ok.out
rename to consume/testcases/hexsplit.0.allbytes-ok.out
diff --git a/consume/testcases/0.empty-ok.hexsplit.env b/consume/testcases/hexsplit.0.empty-ok.env
similarity index 100%
rename from consume/testcases/0.empty-ok.hexsplit.env
rename to consume/testcases/hexsplit.0.empty-ok.env
diff --git a/consume/testcases/0.empty-ok.in b/consume/testcases/hexsplit.0.empty-ok.in
similarity index 100%
rename from consume/testcases/0.empty-ok.in
rename to consume/testcases/hexsplit.0.empty-ok.in
diff --git a/consume/testcases/0.empty-ok.out b/consume/testcases/hexsplit.0.empty-ok.out
similarity index 100%
rename from consume/testcases/0.empty-ok.out
rename to consume/testcases/hexsplit.0.empty-ok.out
diff --git a/consume/testcases/1.invalid-hex.hexsplit.env b/consume/testcases/hexsplit.1.invalid-hex.env
similarity index 100%
rename from consume/testcases/1.invalid-hex.hexsplit.env
rename to consume/testcases/hexsplit.1.invalid-hex.env
diff --git a/consume/testcases/1.invalid-hex.in b/consume/testcases/hexsplit.1.invalid-hex.in
similarity index 100%
rename from consume/testcases/1.invalid-hex.in
rename to consume/testcases/hexsplit.1.invalid-hex.in
diff --git a/consume/testcases/1.invalid-hex.out b/consume/testcases/hexsplit.1.invalid-hex.out
similarity index 100%
rename from consume/testcases/1.invalid-hex.out
rename to consume/testcases/hexsplit.1.invalid-hex.out
diff --git a/consume/testcases/1.many-=-not-ok.hexsplit.env b/consume/testcases/hexsplit.1.many-=-not-ok.env
similarity index 100%
rename from consume/testcases/1.many-=-not-ok.hexsplit.env
rename to consume/testcases/hexsplit.1.many-=-not-ok.env
diff --git a/consume/testcases/1.many-=-not-ok.in b/consume/testcases/hexsplit.1.many-=-not-ok.in
similarity index 100%
rename from consume/testcases/1.many-=-not-ok.in
rename to consume/testcases/hexsplit.1.many-=-not-ok.in
diff --git a/consume/testcases/1.many-=-not-ok.out b/consume/testcases/hexsplit.1.many-=-not-ok.out
similarity index 100%
rename from consume/testcases/1.many-=-not-ok.out
rename to consume/testcases/hexsplit.1.many-=-not-ok.out
diff --git a/consume/testcases/1.short-hex.hexsplit.env b/consume/testcases/hexsplit.1.short-hex.env
similarity index 100%
rename from consume/testcases/1.short-hex.hexsplit.env
rename to consume/testcases/hexsplit.1.short-hex.env
diff --git a/consume/testcases/1.short-hex.in b/consume/testcases/hexsplit.1.short-hex.in
similarity index 100%
rename from consume/testcases/1.short-hex.in
rename to consume/testcases/hexsplit.1.short-hex.in
diff --git a/consume/testcases/1.short-hex.out b/consume/testcases/hexsplit.1.short-hex.out
similarity index 100%
rename from consume/testcases/1.short-hex.out
rename to consume/testcases/hexsplit.1.short-hex.out

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/build-path-prefix-map-spec.git



More information about the Reproducible-commits mailing list