You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2016/03/10 14:35:21 UTC

[04/12] lucy-clownfish git commit: Finish support for skipping CFC tests

Finish support for skipping CFC tests


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/6fdf098c
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/6fdf098c
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/6fdf098c

Branch: refs/heads/master
Commit: 6fdf098cef2a360218df6fc666e52d9af5b87152
Parents: ce0dfbb
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Mar 5 18:09:27 2016 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sat Mar 5 18:14:35 2016 +0100

----------------------------------------------------------------------
 compiler/src/CFCTest.c | 37 ++++++++++++++++++++++++++++++++++++-
 compiler/src/CFCTest.h |  3 ++-
 2 files changed, 38 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/6fdf098c/compiler/src/CFCTest.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCTest.c b/compiler/src/CFCTest.c
index c62f3b5..0f61745 100644
--- a/compiler/src/CFCTest.c
+++ b/compiler/src/CFCTest.c
@@ -37,6 +37,7 @@ typedef struct CFCTestFormatter {
                          va_list args);
     void (*test_comment)(const char *fmt, ...);
     void (*batch_comment)(const char *fmt, ...);
+    void (*skip)(int test_num, int num_skipped, const char *fmt, va_list args);
     void (*summary)(const CFCTest *test);
 } CFCTestFormatter;
 
@@ -71,6 +72,10 @@ static void
 S_format_cfish_batch_comment(const char *fmt, ...);
 
 static void
+S_format_cfish_skip(int test_num, int num_skipped, const char *fmt,
+                    va_list args);
+
+static void
 S_format_cfish_summary(const CFCTest *test);
 
 static void
@@ -87,6 +92,10 @@ static void
 S_format_tap_batch_comment(const char *fmt, ...);
 
 static void
+S_format_tap_skip(int test_num, int num_skipped, const char *fmt,
+                  va_list args);
+
+static void
 S_format_tap_summary(const CFCTest *test);
 
 static const CFCMeta CFCTEST_META = {
@@ -100,6 +109,7 @@ static const CFCTestFormatter S_formatter_cfish = {
     S_format_cfish_vtest_result,
     S_format_cfish_test_comment,
     S_format_cfish_batch_comment,
+    S_format_cfish_skip,
     S_format_cfish_summary
 };
 
@@ -108,6 +118,7 @@ static const CFCTestFormatter S_formatter_tap = {
     S_format_tap_vtest_result,
     S_format_tap_test_comment,
     S_format_tap_batch_comment,
+    S_format_tap_skip,
     S_format_tap_summary
 };
 
@@ -261,7 +272,12 @@ CFCTest_test_int_equals(CFCTest *self, uint64_t result, uint64_t expected,
 }
 
 void
-CFCTest_skip(CFCTest *self, int num) {
+CFCTest_skip(CFCTest *self, int num, const char *fmt, ...) {
+    va_list args;
+    va_start(args, fmt);
+    self->formatter->skip(self->num_tests + 1, num, fmt, args);
+    va_end(args);
+
     self->num_tests          += num;
     self->num_tests_in_batch += num;
 }
@@ -327,6 +343,15 @@ S_format_cfish_batch_comment(const char *fmt, ...) {
 }
 
 static void
+S_format_cfish_skip(int test_num, int num_skipped, const char *fmt,
+                    va_list args) {
+    CHY_UNUSED_VAR(test_num);
+    CHY_UNUSED_VAR(num_skipped);
+    CHY_UNUSED_VAR(fmt);
+    CHY_UNUSED_VAR(args);
+}
+
+static void
 S_format_cfish_summary(const CFCTest *test) {
     if (test->num_batches == 0) {
         printf("No tests planned or run.\n");
@@ -379,6 +404,16 @@ S_format_tap_batch_comment(const char *fmt, ...) {
 }
 
 static void
+S_format_tap_skip(int test_num, int num_skipped, const char *fmt,
+                  va_list args) {
+    for (int i = 0; i < num_skipped; ++i) {
+        printf("ok %d # SKIP ", test_num + i);
+        vprintf(fmt, args);
+        printf("\n");
+    }
+}
+
+static void
 S_format_tap_summary(const CFCTest *test) {
     (void)test; // unused
 }

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/6fdf098c/compiler/src/CFCTest.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCTest.h b/compiler/src/CFCTest.h
index 93d11eb..41cf73d 100644
--- a/compiler/src/CFCTest.h
+++ b/compiler/src/CFCTest.h
@@ -29,6 +29,7 @@
   #define OK      CFCTest_test_true
   #define STR_EQ  CFCTest_test_string_equals
   #define INT_EQ  CFCTest_test_int_equals
+  #define SKIP    CFCTest_skip
 #endif
 
 typedef struct CFCTest CFCTest;
@@ -112,7 +113,7 @@ CFCTest_test_int_equals(CFCTest *self, uint64_t result, uint64_t expected,
  * @param num Number of tests to skip.
  */
 void
-CFCTest_skip(CFCTest *self, int num);
+CFCTest_skip(CFCTest *self, int num, const char *fmt, ...);
 
 /* Finish testing.
  *