aboutsummaryrefslogtreecommitdiff
path: root/devel/kyua
diff options
context:
space:
mode:
authorJulio Merino <jmmv@FreeBSD.org>2014-09-25 09:41:24 +0000
committerJulio Merino <jmmv@FreeBSD.org>2014-09-25 09:41:24 +0000
commita504728bd35508138e1343bbf1bc6fb16de5b005 (patch)
tree198b4aab81ec8dabc0ef846a25aaf274cded2484 /devel/kyua
parent98799a3a2f7ab6101c7eb721be0c6fd4b5159c47 (diff)
downloadports-a504728bd35508138e1343bbf1bc6fb16de5b005.tar.gz
ports-a504728bd35508138e1343bbf1bc6fb16de5b005.zip
Notes
Diffstat (limited to 'devel/kyua')
-rw-r--r--devel/kyua/Makefile1
-rw-r--r--devel/kyua/files/patch-tap-parser67
2 files changed, 68 insertions, 0 deletions
diff --git a/devel/kyua/Makefile b/devel/kyua/Makefile
index 8ff64951b7f2..219dd4c59882 100644
--- a/devel/kyua/Makefile
+++ b/devel/kyua/Makefile
@@ -2,6 +2,7 @@
PORTNAME= kyua
PORTVERSION= 0.10
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= devel
MASTER_SITES= https://github.com/jmmv/kyua/releases/download/${PORTNAME}-${PORTVERSION}/ \
diff --git a/devel/kyua/files/patch-tap-parser b/devel/kyua/files/patch-tap-parser
new file mode 100644
index 000000000000..6995499eb00f
--- /dev/null
+++ b/devel/kyua/files/patch-tap-parser
@@ -0,0 +1,67 @@
+Pull up upstream d71b7cecae5405c9a7042cd2376bcfd093b283dd to properly parse
+the TAP output of many FreeBSD test programs.
+
+--- testers/tap_parser.c
++++ testers/tap_parser.c
+@@ -302,7 +302,7 @@ kyua_tap_parse(const int fd, FILE* output, kyua_tap_summary_t* summary)
+ }
+
+ regex_t preg;
+- int code = regcomp(&preg, "^(not )?ok[ \t-]+[0-9]+", REG_EXTENDED);
++ int code = regcomp(&preg, "^(not )?ok[ \t-]+[0-9]*", REG_EXTENDED);
+ if (code != 0) {
+ error = regex_error_new(code, &preg, "regcomp failed");
+ goto out_input;
+diff --git a/testers/tap_parser_test.c b/testers/tap_parser_test.c
+index a7379d6..c71c5de 100644
+--- testers/tap_parser_test.c
++++ testers/tap_parser_test.c
+@@ -166,7 +166,7 @@ ATF_TC_WITHOUT_HEAD(parse__ok__pass);
+ ATF_TC_BODY(parse__ok__pass, tc)
+ {
+ const char* contents =
+- "1..7\n"
++ "1..8\n"
+ "ok - 1\n"
+ " Some diagnostic message\n"
+ "ok - 2 This test also passed\n"
+@@ -175,13 +175,14 @@ ATF_TC_BODY(parse__ok__pass, tc)
+ "not ok 4 # SKIP Some reason\n"
+ "not ok 5 # TODO Another reason\n"
+ "ok - 6 Doesn't make a difference SKIP\n"
+- "ok - 7 Doesn't make a difference either TODO\n";
++ "ok - 7 Doesn't make a difference either TODO\n"
++ "ok # Also works without a number\n";
+
+ kyua_tap_summary_t summary;
+ kyua_tap_summary_init(&summary);
+ summary.first_index = 1;
+- summary.last_index = 7;
+- summary.ok_count = 7;
++ summary.last_index = 8;
++ summary.ok_count = 8;
+ summary.not_ok_count = 0;
+
+ ok_test(contents, &summary);
+@@ -197,16 +198,17 @@ ATF_TC_BODY(parse__ok__fail, tc)
+ "not ok - 1 This test failed\n"
+ "ok - 2 This test passed\n"
+ "not ok - 3 This test failed\n"
+- "1..5\n"
++ "1..6\n"
+ "not ok - 4 This test failed\n"
+- "ok - 5 This test passed\n";
++ "ok - 5 This test passed\n"
++ "not ok # Fails as well without a number\n";
+
+ kyua_tap_summary_t summary;
+ kyua_tap_summary_init(&summary);
+ summary.first_index = 1;
+- summary.last_index = 5;
++ summary.last_index = 6;
+ summary.ok_count = 2;
+- summary.not_ok_count = 3;
++ summary.not_ok_count = 4;
+
+ ok_test(contents, &summary);
+ kyua_tap_summary_fini(&summary);