Author: chromatic
Date: Sat May 26 20:13:24 2007
New Revision: 18660

Modified:
   trunk/src/nci_test.c
   trunk/t/src/compiler.t
   trunk/t/src/intlist.t
   trunk/t/src/io.t

Log:
[t] Fix/TODO tests that fail with non-exported, hidden symbols.

src/libnci_test.def can probably go away on Win32, but I want confirmation.

See RT #43054, #43055, and #43056.

Modified: trunk/src/nci_test.c
==============================================================================
--- trunk/src/nci_test.c        (original)
+++ trunk/src/nci_test.c        Sat May 26 20:13:24 2007
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 2001-2005, The Perl Foundation.
+Copyright (C) 2001-2007, The Perl Foundation.
 $Id$
 
 =head1 NAME
@@ -33,6 +33,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <parrot/config.h>
 
 /* Declarations of structs */
 
@@ -116,62 +117,63 @@
 
 /* Variable definitions */
 
-int    nci_dlvar_char      = 22;
-int    nci_dlvar_short     = 333;
-int    nci_dlvar_int       = -4444;
-long   nci_dlvar_long      = -7777777;
-float  nci_dlvar_float     = -333.0;
-double nci_dlvar_double    = -55555.55555;
-char   nci_dlvar_cstring[] = "This is a C-string.\n";
+PARROT_API int    int_cb_D4           = -55555;
+PARROT_API int    nci_dlvar_char      = 22;
+PARROT_API int    nci_dlvar_short     = 333;
+PARROT_API int    nci_dlvar_int       = -4444;
+PARROT_API long   nci_dlvar_long      = -7777777;
+PARROT_API float  nci_dlvar_float     = -333.0;
+PARROT_API double nci_dlvar_double    = -55555.55555;
+PARROT_API char   nci_dlvar_cstring[] = "This is a C-string.\n";
 
 
 /* Function definitions */
 
-char
+PARROT_API char
 nci_c() {
     return nci_dlvar_char;
 }
 
-char
+PARROT_API char
 nci_csc(short l1, char l2) {
     return l1 * l2;
 }
 
-double
+PARROT_API double
 nci_d() {
     nci_dlvar_double *= 10.0;
 
     return nci_dlvar_double;
 }
 
-double
+PARROT_API double
 nci_dd(double d) {
     return d * 2.0;
 }
 
-float
+PARROT_API float
 nci_f() {
     nci_dlvar_float *= 10.0;
 
     return nci_dlvar_float;
 }
 
-float
+PARROT_API float
 nci_fff(float l1, float l2) {
     return l1 / l2;
 }
 
-int
+PARROT_API int
 nci_i(void) {
    return nci_dlvar_int;
 }
 
-int
+PARROT_API int
 nci_isc(short l1, char l2) {
     return l1 * l2;
 }
 
-int
+PARROT_API int
 nci_ip(void *p) {
     typedef struct _dfi {
         double d;
@@ -187,7 +189,7 @@
 }
 
 /* test calls this with a string */
-int
+PARROT_API int
 nci_it(void *p) {
     fprintf(stderr, "%c%c\n", ((char*) p)[1], ((char *) p)[0]);
     fflush(stderr);
@@ -195,23 +197,23 @@
     return 2;
 }
 
-long
+PARROT_API long
 nci_l() {
     return nci_dlvar_long;
 }
 
-int *
+PARROT_API int *
 nci_p() {
     return &nci_dlvar_int;
 }
 
-char *
+PARROT_API char *
 nci_t() {
     return nci_dlvar_cstring;
 }
 
 static char b[] = "xx worked\n";
-char *
+PARROT_API char *
 nci_tb(void *p) {
     b[0] = ((char*) p)[1];
     b[1] = ((char*) p)[0];
@@ -220,7 +222,7 @@
 }
 
 static char s[] = "xx worked\n";
-char *
+PARROT_API char *
 nci_tt(void *p) {
     s[0] = ((char*) p)[1];
     s[1] = ((char*) p)[0];
@@ -229,7 +231,7 @@
 }
 
 static char B[] = "xx done\n";
-char *
+PARROT_API char *
 nci_tB(void **p) {
     B[0] = (*(char**) p)[1];
     B[1] = (*(char**) p)[0];
@@ -237,12 +239,12 @@
     return B;
 }
 
-void *
+PARROT_API void *
 nci_pp(void *p) {
     return p;
 }
 
-int
+PARROT_API int
 nci_iiii(int i1, int i2, int i3) {
     fprintf(stderr, "%d %d %d\n", i1, i2, i3);
     fflush(stderr);
@@ -250,13 +252,13 @@
     return 2;
 }
 
-int
+PARROT_API int
 nci_i4i(long * l, int i) {
 
     return (int) (*l * i);
 }
 
-int
+PARROT_API int
 nci_ii3(int a, int *bp) {
     int r = a * *bp;
     *bp = 4711;
@@ -264,7 +266,7 @@
     return r;
 }
 
-static int
+PARROT_API static int
 call_back(char *str) {
     puts(str);
     fflush(stdout);
@@ -272,7 +274,7 @@
     return 4711;
 }
 
-void *
+PARROT_API void *
 nci_pi(int test) {
     switch (test) {
         case 0:
@@ -407,17 +409,17 @@
     return NULL;
 }
 
-short
+PARROT_API short
 nci_s() {
     return nci_dlvar_short;
 }
 
-short
+PARROT_API short
 nci_ssc(short l1, char l2) {
     return l1 * l2;
 }
 
-void
+PARROT_API void
 nci_vP(void *pmc) {
     if (pmc)
         puts("ok");
@@ -434,7 +436,7 @@
 
 */
 
-void
+PARROT_API void
 nci_cb_C1(cb_C1_func cb, void* user_data) {
     const char *result = "succeeded";
     /* call the cb synchronously */
@@ -443,7 +445,7 @@
     return;
 }
 
-void
+PARROT_API void
 nci_cb_C2(cb_C2_func cb, void* user_data) {
     /* call the cb synchronously */
     (cb)(77, user_data);
@@ -452,7 +454,7 @@
 }
 
 static int int_cb_C3 = 99;
-void
+PARROT_API void
 nci_cb_C3(cb_C3_func cb, void* user_data) {
     /* call the cb synchronously */
     (cb)(&int_cb_C3, user_data);
@@ -460,7 +462,7 @@
     return;
 }
 
-void
+PARROT_API void
 nci_cb_D1(cb_D1_func cb, void* user_data) {
     const char *result = "succeeded";
     /* call the cb synchronously */
@@ -469,7 +471,7 @@
     return;
 }
 
-void
+PARROT_API void
 nci_cb_D2(cb_D2_func cb, void* user_data) {
     /* call the cb synchronously */
     (cb)(user_data, 88);
@@ -478,7 +480,7 @@
 }
 
 static int int_cb_D3 = 111;
-void
+PARROT_API void
 nci_cb_D3(cb_D3_func cb, void* user_data) {
     /* call the cb synchronously */
     (cb)(user_data, &int_cb_D3);
@@ -486,8 +488,7 @@
     return;
 }
 
-int int_cb_D4 = -55555;
-void
+PARROT_API void
 nci_cb_D4(cb_D4_func times_ten, void* user_data) {
     int cnt;
     for (cnt = 0; cnt < 9; cnt++)
@@ -499,7 +500,7 @@
     return;
 }
 
-void
+PARROT_API void
 nci_pip(int count, Rect_Like *rects) {
     int i;
     printf("Count: %d\n", count);
@@ -508,7 +509,7 @@
         rects[i].x, rects[i].y, rects[i].w, rects[i].h);
 }
 
-int
+PARROT_API int
 nci_i33(int *double_me, int *triple_me) {
     *double_me *= 2;
     *triple_me *= 3;
@@ -516,14 +517,14 @@
     return (*double_me + *triple_me);
 }
 
-void
+PARROT_API void
 nci_vpii(Outer *my_data, int my_x, int my_y) {
     my_data->x            = my_x;
     my_data->nested->y    = my_y;
 }
 
 static int my_array[4];
-void *
+PARROT_API void *
 nci_piiii(int alpha, int beta, int gamma, int delta) {
     static struct array_container
     {
@@ -542,20 +543,19 @@
     return &container;
 }
 
-void *
+PARROT_API void *
 nci_pii(int fac1, int fac2) {
    nci_dlvar_int = fac1 * fac2;
 
    return &nci_dlvar_int;
 }
 
-
-void
+PARROT_API void
 nci_v() {
     nci_dlvar_int *= 10;
 }
 
-void
+PARROT_API void
 nci_vv(void) {
     nci_dlvar_int *= 3;
 }

Modified: trunk/t/src/compiler.t
==============================================================================
--- trunk/t/src/compiler.t      (original)
+++ trunk/t/src/compiler.t      Sat May 26 20:13:24 2007
@@ -1,5 +1,5 @@
 #! perl
-# Copyright (C) 2001-2005, The Perl Foundation.
+# Copyright (C) 2001-2007, The Perl Foundation.
 # $Id$
 
 use strict;
@@ -27,7 +27,9 @@
 
 =cut
 
-c_output_is( <<'CODE', <<'OUTPUT', "compreg/compile" );
+SKIP: {
+    skip( 'compreg disabled/imcc_compile_pir() not exported', 1 );
+    c_output_is( <<'CODE', <<'OUTPUT', "compreg/compile" );
 
 #include <stdio.h>
 #include "parrot/parrot.h"
@@ -107,6 +109,8 @@
 CODE
 ok
 OUTPUT
+}
+
 c_output_is( <<'CODE', <<'OUTPUT', "Parror Compile API Single call" );
 
 #include <stdio.h>

Modified: trunk/t/src/intlist.t
==============================================================================
--- trunk/t/src/intlist.t       (original)
+++ trunk/t/src/intlist.t       Sat May 26 20:13:24 2007
@@ -1,5 +1,5 @@
 #! perl
-# Copyright (C) 2001-2005, The Perl Foundation.
+# Copyright (C) 2001-2007, The Perl Foundation.
 # $Id$
 
 use strict;
@@ -8,9 +8,9 @@
 use Test::More;
 use Parrot::Test;
 
-plan $^O =~ m/MSWin32|cygwin/
-   ? ( skip_all => 'broken on win32 && cygwin' )
-   : ( tests => 4 );
+plan tests => 4;
+
+my @TODO = ( todo => 'Symbols not exported; see RT #43056' );
 
 =head1 NAME
 
@@ -26,7 +26,7 @@
 
 =cut
 
-c_output_is( <<'CODE', <<'OUTPUT', "creation" );
+c_output_is( <<'CODE', <<'OUTPUT', "creation", @TODO );
     #include <stdio.h>
     #include "parrot/parrot.h"
     #include "parrot/embed.h"
@@ -53,7 +53,7 @@
 The answer is 42.
 OUTPUT
 
-c_output_is( <<'CODE', <<'OUTPUT', "list aerobics" );
+c_output_is( <<'CODE', <<'OUTPUT', "list aerobics", @TODO );
     #include <stdio.h>
     #include "parrot/parrot.h"
     #include "parrot/embed.h"
@@ -130,7 +130,7 @@
 I need a shower.
 OUTPUT
 
-c_output_is( <<'CODE', <<'OUTPUT', "step aerobics" );
+c_output_is( <<'CODE', <<'OUTPUT', "step aerobics", @TODO );
     #include <stdio.h>
     #include "parrot/parrot.h"
     #include "parrot/embed.h"
@@ -260,7 +260,7 @@
 Done.
 OUTPUT
 
-c_output_is( <<'CODE', <<'OUTPUT', "yoyo" );
+c_output_is( <<'CODE', <<'OUTPUT', "yoyo", @TODO );
     #include <stdio.h>
     #include "parrot/parrot.h"
     #include "parrot/embed.h"

Modified: trunk/t/src/io.t
==============================================================================
--- trunk/t/src/io.t    (original)
+++ trunk/t/src/io.t    Sat May 26 20:13:24 2007
@@ -505,7 +505,7 @@
 
 ###############################################################################
 
-c_output_is( $main . <<'CODE', <<'OUTPUT', "PIO_make_offset" );
+c_output_is( $main . <<'CODE', <<'OUTPUT', "PIO_make_offset", todo => 'RT 
#43055' );
 static opcode_t*
 the_test(Interp *interp,
          opcode_t *cur_op, opcode_t *start)
@@ -537,7 +537,7 @@
 
 setup( "temp.file", "abcdefg" );
 
-c_output_is( $main . <<'CODE', <<'OUTPUT', "PIO_seek" );
+c_output_is( $main . <<'CODE', <<'OUTPUT', "PIO_seek", todo => 'RT #43055' );
 #include "../src/io/io_private.h"
 
 static opcode_t*
@@ -627,7 +627,7 @@
 
 ###############################################################################
 
-c_output_is( $main . <<'CODE', <<'OUTPUT', 'stdio-layer' );
+c_output_is( $main . <<'CODE', <<'OUTPUT', 'stdio-layer', todo => 'RT #43055' 
);
 static opcode_t*
 the_test(Interp *interp,
          opcode_t *cur_op, opcode_t *start)

Reply via email to