You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2009/03/12 04:29:30 UTC

svn commit: r752758 - in /lucene/lucy/trunk/charmonizer/src/Charmonizer: Test.charm Test.harm

Author: marvin
Date: Thu Mar 12 03:29:30 2009
New Revision: 752758

URL: http://svn.apache.org/viewvc?rev=752758&view=rev
Log:
Change Charmonizer's tests to output TAP instead of an ad hoc custom format.

Modified:
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.charm
    lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.harm

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.charm
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.charm?rev=752758&r1=752757&r2=752758&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.charm (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.charm Thu Mar 12 03:29:30 2009
@@ -12,6 +12,12 @@
 static void
 TestBatch_run_test(TestBatch *batch);
 
+#define PRINT_SUPPLIED_MESS(_pattern, _args) \
+    va_start(args, pat); \
+    vprintf(pat, args); \
+    va_end(args); \
+    printf("\n");
+
 void
 chaz_Test_init(void) {
     /* unbuffer stdout */
@@ -42,6 +48,12 @@
     return batch;
 }
 
+void
+chaz_Test_plan(TestBatch *batch)
+{
+    printf("1..%u\n", batch->num_tests);
+}
+
 static void
 TestBatch_destroy(TestBatch *batch)
 {
@@ -53,18 +65,10 @@
 TestBatch_run_test(TestBatch *batch) 
 {
     /* print start */
-    printf("===================================\n");
-    printf("%s - %u tests to run\n", batch->name, batch->num_tests);
-    printf("===================================\n");
+    PLAN(batch);
 
     /* run the batch */
     batch->test_func(batch);
-
-    /* print report */
-    printf("-------------------------\n");
-    printf("Tests:   %d\nPassed:  %d\nFailed:  %d\nSkipped: %d\n\n",
-        batch->num_tests, batch->num_passed, batch->num_failed, 
-        batch->num_skipped);
 }
 
 void
@@ -77,19 +81,15 @@
 
     /* test condition and pass or fail */
     if (value) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: ", batch->test_num);
+        printf("not ok %u - ", batch->test_num);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void
@@ -102,25 +102,20 @@
 
     /* test condition and pass or fail */
     if (value == 0) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: ", batch->test_num);
+        printf("not ok %u - ", batch->test_num);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void 
-chaz_Test_assert_str_eq(TestBatch *batch, const char *expected, 
-                        const char *got, const char *pat, ...)
+chaz_Test_assert_str_eq(TestBatch *batch, const char *got, 
+                        const char *expected, const char *pat, ...)
 {
     va_list args;
     
@@ -129,26 +124,22 @@
     
     /* test condition and pass or fail */
     if (strcmp(expected, got) == 0) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: Expected '%s', got '%s'\n    ", batch->test_num, 
+        printf("not ok %u - Expected '%s', got '%s'\n    ", batch->test_num, 
             expected, got);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 
 void 
-chaz_Test_assert_str_neq(TestBatch *batch, const char *expected, 
-                         const char *got, const char *pat, ...)
+chaz_Test_assert_str_neq(TestBatch *batch, const char *got, 
+                         const char *expected, const char *pat, ...)
 {
     va_list args;
     
@@ -157,20 +148,16 @@
     
     /* test condition and pass or fail */
     if (strcmp(expected, got) != 0) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: Expected '%s', got '%s'\n    ", batch->test_num, 
+        printf("not ok %u - Expected '%s', got '%s'\n    ", batch->test_num, 
             expected, got);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void 
@@ -182,14 +169,10 @@
     batch->test_num++;
 
     /* indicate pass, update pass counter */
-    printf("%-4u pass: ", batch->test_num);
+    printf("ok %u - ", batch->test_num);
     batch->num_passed++;
 
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void 
@@ -201,18 +184,14 @@
     batch->test_num++;
 
     /* indicate failure, update pass counter */
-    printf("%-4u fail:\n", batch->test_num);
+    printf("not ok %u - ", batch->test_num);
     batch->num_failed++;
 
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void 
-chaz_Test_assert_int_eq(TestBatch *batch, long expected, long got, 
+chaz_Test_assert_int_eq(TestBatch *batch, long got, long expected, 
                         const char *pat, ...)
 {
     va_list args;
@@ -221,25 +200,21 @@
     batch->test_num++;
 
     if (expected == got) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: Expected '%ld', got '%ld'\n    ", batch->test_num, 
+        printf("not ok %u - Expected '%ld', got '%ld'\n    ", batch->test_num, 
             expected, got);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void 
-chaz_Test_assert_float_eq(TestBatch *batch, double expected, 
-                          double got, const char *pat, ...)
+chaz_Test_assert_float_eq(TestBatch *batch, double got, 
+                          double expected, const char *pat, ...)
 {
     va_list args;
     double diff = expected/got;
@@ -249,21 +224,16 @@
     
     /* evaluate condition and pass or fail */
     if (diff > 0.00001) {
-        printf("%-4u pass: ", batch->test_num);
+        printf("ok %u - ", batch->test_num);
         batch->num_passed++;
     }
     else {
-        printf("%-4u fail: Expected '%f', got '%f'\n    ", batch->test_num, 
+        printf("not ok %u - Expected '%f', got '%f'\n    ", batch->test_num, 
             expected, got);
         batch->num_failed++;
     }
     
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
-
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void
@@ -275,14 +245,10 @@
     batch->test_num++;
 
     /* indicate that test is being skipped, update pass counter */
-    printf("%-4d skip: ", batch->test_num);
+    printf("ok %u # SKIP ", batch->test_num);
     batch->num_skipped++;
 
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    PRINT_SUPPLIED_MESS(pat, args);
 }
 
 void
@@ -292,14 +258,11 @@
     unsigned remaining = batch->num_tests - batch->test_num;
     
     /* indicate that tests are being skipped, update skip counter */
-    batch->num_skipped += remaining;
-    printf("Skipping all %u remaining tests: ", remaining);
-
-    /* print supplied message */
-    va_start(args, pat);
-    vprintf(pat, args);
-    va_end(args);
-    printf("\n");
+    printf("# Skipping all %u remaining tests: ", remaining);
+    PRINT_SUPPLIED_MESS(pat, args);
+    while (batch->test_num < batch->num_tests) {
+        SKIP(batch, "");
+    }
 }
 
 /**

Modified: lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.harm
URL: http://svn.apache.org/viewvc/lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.harm?rev=752758&r1=752757&r2=752758&view=diff
==============================================================================
--- lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.harm (original)
+++ lucene/lucy/trunk/charmonizer/src/Charmonizer/Test.harm Thu Mar 12 03:29:30 2009
@@ -49,6 +49,7 @@
 
 /* Note: maybe add line numbers later.
  */
+#define CHAZ_TEST_PLAN              chaz_Test_plan
 #define CHAZ_TEST_ASSERT_TRUE       chaz_Test_assert_true
 #define CHAZ_TEST_ASSERT_FALSE      chaz_Test_assert_false
 #define CHAZ_TEST_ASSERT_STR_EQ     chaz_Test_assert_str_eq
@@ -72,6 +73,8 @@
         return; \
     } while (0)
 
+void
+chaz_Test_plan(chaz_TestBatch *batch);
 
 void 
 chaz_Test_assert_true(chaz_TestBatch *batch, int expression, 
@@ -82,12 +85,12 @@
                            const char *pat, ...);
 
 void 
-chaz_Test_assert_str_eq(chaz_TestBatch *batch, const char *expected, 
-                            const char *got, const char *pat, ...);
+chaz_Test_assert_str_eq(chaz_TestBatch *batch, const char *got, 
+                            const char *expected, const char *pat, ...);
 
 void 
-chaz_Test_assert_str_neq(chaz_TestBatch *batch, const char *expected,
-                             const char *got, const char *pat, ...);
+chaz_Test_assert_str_neq(chaz_TestBatch *batch, const char *got,
+                             const char *expected, const char *pat, ...);
 
 void 
 chaz_Test_pass(chaz_TestBatch *batch, const char *pat, ...);
@@ -96,12 +99,12 @@
 chaz_Test_fail(chaz_TestBatch *batch, const char *pat, ...);
 
 void 
-chaz_Test_assert_int_eq(chaz_TestBatch *batch, long expected, long got, 
+chaz_Test_assert_int_eq(chaz_TestBatch *batch, long got, long expected, 
                             const char *pat, ...);
 
 void 
-chaz_Test_assert_float_eq(chaz_TestBatch *batch, double expected, 
-                              double got, const char *pat, ...);
+chaz_Test_assert_float_eq(chaz_TestBatch *batch, double got, 
+                              double expected, const char *pat, ...);
 
 void
 chaz_Test_skip(chaz_TestBatch *batch, const char *pat, ...);
@@ -117,6 +120,8 @@
   #define TestBatch                    chaz_TestBatch
   #define Test_init                    chaz_Test_init
   #define Test_new_batch               chaz_Test_new_batch
+  #define Test_plan                    chaz_Test_plan
+  #define PLAN                         CHAZ_TEST_PLAN
   #define ASSERT_TRUE                  CHAZ_TEST_ASSERT_TRUE
   #define ASSERT_FALSE                 CHAZ_TEST_ASSERT_FALSE
   #define ASSERT_STR_EQ                CHAZ_TEST_ASSERT_STR_EQ