[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