[build-path-prefix-map-spec] 10/50: Add more test cases and make the behaviour more uniform
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 4fe4224cb2cbff4e07ff4046697936d96b47cb9e
Author: Ximin Luo <infinity0 at debian.org>
Date: Mon Jan 23 20:10:44 2017 +0100
Add more test cases and make the behaviour more uniform
---
consume/Makefile | 8 ++++----
consume/hexsplit.js | 6 ++++--
consume/hexsplit.py | 2 +-
consume/testcases/{0.0.hexsplit.env => 0.basic.hexsplit.env} | 0
consume/testcases/{0.0.in => 0.basic.in} | 0
consume/testcases/{0.0.out => 0.basic.out} | 0
consume/testcases/0.empty-ok.hexsplit.env | 1 +
consume/testcases/0.empty-ok.in | 1 +
consume/testcases/0.empty-ok.out | 1 +
consume/testcases/1.many-=-not-ok.hexsplit.env | 1 +
consume/testcases/1.many-=-not-ok.in | 1 +
consume/testcases/1.many-=-not-ok.out | 0
consume/testcases/README | 6 +++---
13 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/consume/Makefile b/consume/Makefile
index 77cdf54..396d614 100644
--- a/consume/Makefile
+++ b/consume/Makefile
@@ -20,12 +20,12 @@ check: $(ALL_FORMATS:%=check-%)
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; \
+ tmpout="$(T)$(4).$(2).env.tmpout"; \
BUILD_PATH_PREFIX_MAP="$$(cat $(T)$(4).$(2).env)" \
./$$i $$(cat $(T)$(4).in) > "$$tmpout"; \
- test $$? = $(3) && diff -ru "$$tmpout" $(T)$(4).out && \
+ test $$? = $(3) && diff -ru "$$tmpout" "$(T)$(4).out" && \
rm -f "$$tmpout" || { rm -f "$$tmpout"; exit 1; }; \
- done
+ done;
.PHONY: check-%
check-%:
@@ -34,7 +34,7 @@ check-%:
$(foreach case,$(TESTCASES_1),$(call check-generic,$(ALLCHECK_$*),$*,1,$(case)))
make-afl-test-case = \
- cat testcases/$(3).$(1).env testcases/$(3).in > afl-in-$(1)/$(3).in
+ cat testcases/$(3).$(1).env testcases/$(3).in > afl-in-$(1)/$(3).in;
afl-in-%: $(wildcard $(T)/*.in) $(wildcard $(T)/*.env)
mkdir -p "$@"
diff --git a/consume/hexsplit.js b/consume/hexsplit.js
index 77a1e9d..6ceb3f3 100755
--- a/consume/hexsplit.js
+++ b/consume/hexsplit.js
@@ -1,11 +1,13 @@
#!/usr/bin/nodejs
var unquote = function(x) {
- return x.split(/=/g, 2).map(unescape);
+ var parts = x.split(/=/g).map(unescape);
+ if (parts.length !== 2) throw "invalid value: " + x;
+ return parts;
};
var parse_prefix_map = function(x) {
- return x ? x.split(/:/g).map(unquote) : [];
+ return x ? x.split(/:+/g).map(unquote) : [];
}
var map_prefix = function(string, pm) {
diff --git a/consume/hexsplit.py b/consume/hexsplit.py
index 9c07aeb..e4bffba 100755
--- a/consume/hexsplit.py
+++ b/consume/hexsplit.py
@@ -11,7 +11,7 @@ def _dequote(part):
return subs[0] + "".join(chr(int(sub[0:2], 16)) + sub[2:] for sub in subs[1:])
def decode(prefix_str):
- tuples = (part.split("=") for part in prefix_str.split(":")) if prefix_str else ()
+ tuples = (part.split("=") for part in prefix_str.split(":") if part) if prefix_str else ()
# Will raise if any tuple can't be destructured into a pair
return [(_dequote(src), _dequote(dst)) for src, dst in tuples]
diff --git a/consume/testcases/0.0.hexsplit.env b/consume/testcases/0.basic.hexsplit.env
similarity index 100%
rename from consume/testcases/0.0.hexsplit.env
rename to consume/testcases/0.basic.hexsplit.env
diff --git a/consume/testcases/0.0.in b/consume/testcases/0.basic.in
similarity index 100%
rename from consume/testcases/0.0.in
rename to consume/testcases/0.basic.in
diff --git a/consume/testcases/0.0.out b/consume/testcases/0.basic.out
similarity index 100%
rename from consume/testcases/0.0.out
rename to consume/testcases/0.basic.out
diff --git a/consume/testcases/0.empty-ok.hexsplit.env b/consume/testcases/0.empty-ok.hexsplit.env
new file mode 100644
index 0000000..9dc8d42
--- /dev/null
+++ b/consume/testcases/0.empty-ok.hexsplit.env
@@ -0,0 +1 @@
+/a/b%3dyyy=ERROR:/a=lol::/b=foo:/a/b%3dyyy=secreteh
diff --git a/consume/testcases/0.empty-ok.in b/consume/testcases/0.empty-ok.in
new file mode 120000
index 0000000..997afa5
--- /dev/null
+++ b/consume/testcases/0.empty-ok.in
@@ -0,0 +1 @@
+0.basic.in
\ No newline at end of file
diff --git a/consume/testcases/0.empty-ok.out b/consume/testcases/0.empty-ok.out
new file mode 120000
index 0000000..3d3fecb
--- /dev/null
+++ b/consume/testcases/0.empty-ok.out
@@ -0,0 +1 @@
+0.basic.out
\ No newline at end of file
diff --git a/consume/testcases/1.many-=-not-ok.hexsplit.env b/consume/testcases/1.many-=-not-ok.hexsplit.env
new file mode 100644
index 0000000..5c6bb91
--- /dev/null
+++ b/consume/testcases/1.many-=-not-ok.hexsplit.env
@@ -0,0 +1 @@
+/a/b=yyy=ERROR:/a=lol:/b=foo:/a/b%3dyyy=secreteh
diff --git a/consume/testcases/1.many-=-not-ok.in b/consume/testcases/1.many-=-not-ok.in
new file mode 120000
index 0000000..997afa5
--- /dev/null
+++ b/consume/testcases/1.many-=-not-ok.in
@@ -0,0 +1 @@
+0.basic.in
\ No newline at end of file
diff --git a/consume/testcases/1.many-=-not-ok.out b/consume/testcases/1.many-=-not-ok.out
new file mode 100644
index 0000000..e69de29
diff --git a/consume/testcases/README b/consume/testcases/README
index a5beac2..423857e 100644
--- a/consume/testcases/README
+++ b/consume/testcases/README
@@ -1,5 +1,5 @@
Naming convention is like:
-<expected return code>.<unique number>.in
-<expected return code>.<unique number>.out
-<expected return code>.<unique number>.<format-name>.env
+<expected return code>.<unique name>.in
+<expected return code>.<unique name>.out
+<expected return code>.<unique name>.<format-name>.env
--
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