coverage_helper: refactor egreps
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Oct 16, 2015 at 16:18 UTC
5e3d3895f52f99f7714f306bdd4aa186e0fc37f3
1 file changed
+32
-39
test/sharness_test_coverage_helper.sh
+32
-39
@@ -48,53 +48,46 @@ CMD_RAW="$TMPDIR/ipfs_cmd_raw.txt"
48
git grep -n -E '\Wipfs\W' -- sharness/t*-*.sh >"$CMD_RAW" ||
49
die "Could not grep ipfs in the sharness tests"
50
51
-log "Remove test_expect_{success,failure} lines"
52
-CMD_EXPECT="$TMPDIR/ipfs_cmd_expect.txt"
53
-egrep -v 'test_expect_.*ipfs' "$CMD_RAW" >"$CMD_EXPECT" ||
54
-die "Could not remove test_expect_{success,failure} lines"
55
-
56
-log "Remove comments"
57
-CMD_COMMENT="$TMPDIR/ipfs_cmd_comment.txt"
58
-egrep -v '^[^:]+:[^:]+:\s*#' "$CMD_EXPECT" >"$CMD_COMMENT" ||
59
-die "Could not remove comments"
60
-
61
-log "Remove test_description lines"
62
-CMD_DESC="$TMPDIR/ipfs_cmd_description.txt"
63
-egrep -v 'test_description=' "$CMD_COMMENT" >"$CMD_DESC" ||
64
-die "Could not remove test_description lines"
65
-
66
-log "Remove grep lines"
67
-CMD_GREP="$TMPDIR/ipfs_cmd_grep.txt"
68
-egrep -v '^[^:]+:[^:]+:\s*e?grep\W[^|]*\Wipfs' "$CMD_DESC" >"$CMD_GREP" ||
69
-die "Could not remove grep lines"
70
-
71
-log "Remove echo lines"
72
-CMD_ECHO="$TMPDIR/ipfs_cmd_echo.txt"
73
-egrep -v '^[^:]+:[^:]+:\s*echo\W[^|]*\Wipfs' "$CMD_GREP" >"$CMD_ECHO" ||
74
-die "Could not remove echo lines"
51
+grep_out() {
52
+ pattern="$1"
53
+ src="$TMPDIR/ipfs_cmd_${2}.txt"
54
+ dst="$TMPDIR/ipfs_cmd_${3}.txt"
55
+ desc="$4"
56
+
57
+ log "Remove $desc"
58
+ egrep -v "$pattern" "$src" >"$dst" || die "Could not remove $desc"
59
+}
60
61
+grep_out 'test_expect_.*ipfs' raw expect "test_expect_{success,failure} lines"
62
+grep_out '^[^:]+:[^:]+:\s*#' expect comment "comments"
63
+grep_out 'test_description=' comment desc "test_description lines"
64
+grep_out '^[^:]+:[^:]+:\s*e?grep\W[^|]*\Wipfs' desc grep "grep lines"
65
+grep_out '^[^:]+:[^:]+:\s*echo\W[^|]*\Wipfs' grep echo "echo lines"
66
67
+grep_in() {
68
+ pattern="$1"
69
+ src="$TMPDIR/ipfs_cmd_${2}.txt"
70
+ dst="$TMPDIR/ipfs_cmd_${3}.txt"
71
+ desc="$4"
72
78
-log "Keep ipfs.*/ipfs/"
79
-CMD_SLASH_OK="$TMPDIR/ipfs_cmd_slash_ok.txt"
80
-egrep '\Wipfs\W.*/ipfs/' "$CMD_ECHO" >"$CMD_SLASH_OK"
73
+ log "Keep $desc"
74
+ egrep "$pattern" "$src" >"$dst"
75
+}
76
82
-log "Keep ipfs.*\.ipfs and \.ipfs.*ipfs"
83
-CMD_DOT_OK="$TMPDIR/ipfs_cmd_dot_ok.txt"
84
-egrep -e '\Wipfs\W.*\.ipfs' -e '\.ipfs.*\Wipfs\W' "$CMD_ECHO" >"$CMD_DOT_OK"
77
+grep_in '\Wipfs\W.*/ipfs/' echo slash_in1 "ipfs.*/ipfs/"
78
+grep_in '/ipfs/.*\Wipfs\W' echo slash_in2 "/ipfs/.*ipfs"
79
86
-log "Remove /ipfs/"
87
-CMD_SLASH="$TMPDIR/ipfs_cmd_slash.txt"
88
-egrep -v '/ipfs/' "$CMD_ECHO" >"$CMD_SLASH" ||
89
-die "Could not remove /ipfs/"
80
+grep_out '/ipfs/' echo slash "/ipfs/"
81
91
-log "Remove .ipfs"
92
-CMD_DOT="$TMPDIR/ipfs_cmd_dot.txt"
93
-egrep -v '\.ipfs' "$CMD_SLASH" >"$CMD_DOT" ||
94
-die "Could not remove .ipfs"
82
+grep_in '\Wipfs\W.*\.ipfs' slash dot_in1 "ipfs.*\.ipfs"
83
+grep_in '\.ipfs.*\Wipfs\W' slash dot_in2 "\.ipfs.*ipfs"
84
85
+grep_out '\.ipfs' slash dot ".ipfs"
86
87
log "Print result"
98
-cat "$CMD_DOT" "$CMD_SLASH_OK" "$CMD_DOT_OK" | sort
88
+for f in dot slash_in1 slash_in2 dot_in1 dot_in2
89
+do
90
+ cat "$TMPDIR/ipfs_cmd_${f}.txt"
91
+done | sort | uniq
92
93
# Remove temp directory...