cvs -q diff -u
Index: classes/floatvalarray.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/floatvalarray.pmc,v
retrieving revision 1.3
diff -u -u -r1.3 floatvalarray.pmc
--- classes/floatvalarray.pmc	11 Aug 2004 18:19:18 -0000	1.3
+++ classes/floatvalarray.pmc	21 Aug 2004 20:25:49 -0000
@@ -21,7 +21,7 @@
 #include "parrot/parrot.h"
 
 
-pmclass FloatvalArray  {
+pmclass FloatvalArray does array  {
 
 /*
 
Index: classes/intlist.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/intlist.pmc,v
retrieving revision 1.29
diff -u -u -r1.29 intlist.pmc
--- classes/intlist.pmc	9 Jul 2004 15:24:10 -0000	1.29
+++ classes/intlist.pmc	21 Aug 2004 20:25:50 -0000
@@ -22,7 +22,7 @@
 
 #define THROW_UNSUPPORTED internal_exception(INTERP_ERROR, "Operation not supported\n")
 
-pmclass IntList {
+pmclass IntList does array {
 
 /*
 
Index: classes/multiarray.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/multiarray.pmc,v
retrieving revision 1.18
diff -u -u -r1.18 multiarray.pmc
--- classes/multiarray.pmc	2 Jul 2004 09:30:00 -0000	1.18
+++ classes/multiarray.pmc	21 Aug 2004 20:25:50 -0000
@@ -63,7 +63,7 @@
     return l;
 }
 
-pmclass MultiArray extends Array need_ext {
+pmclass MultiArray extends Array need_ext does array {
 
 /*
 
Index: classes/parrotlibrary.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/parrotlibrary.pmc,v
retrieving revision 1.8
diff -u -u -r1.8 parrotlibrary.pmc
--- classes/parrotlibrary.pmc	22 Feb 2004 17:48:41 -0000	1.8
+++ classes/parrotlibrary.pmc	21 Aug 2004 20:25:50 -0000
@@ -8,7 +8,7 @@
 
 =head1 DESCRIPTION
 
-Class for holding info about dynamic libraries.
+Class for holding info about a dynamic library.
 
      PMC data
      PMC_struct_val(SELF)   oplib init function
@@ -19,7 +19,7 @@
     _filename               full path/file of lib
     _ro                     true after init
  
-All ParrotLibrary PMCs are in interperter->iglobals
+All ParrotLibrary PMCs are in interpreter->iglobals.
 
 When a dynamic library (pmc or ops) is loaded, the load function returns
 a ParrotLibrary PMC.
Index: classes/pmc2c2.pl
===================================================================
RCS file: /cvs/public/parrot/classes/pmc2c2.pl,v
retrieving revision 1.14
diff -u -u -r1.14 pmc2c2.pl
--- classes/pmc2c2.pl	15 Aug 2004 10:08:58 -0000	1.14
+++ classes/pmc2c2.pl	21 Aug 2004 20:25:52 -0000
@@ -147,7 +147,10 @@
 The default is "scalar". Other currently used interfaces are:
 
     array
+    event
     hash
+    library
+    ref
 
 =back
 
Index: t/pmc/array.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/array.t,v
retrieving revision 1.18
diff -u -u -r1.18 array.t
--- t/pmc/array.t	8 Mar 2004 00:20:09 -0000	1.18
+++ t/pmc/array.t	21 Aug 2004 20:26:08 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 12;
+use Parrot::Test tests => 13;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -436,4 +436,28 @@
 CODE
 21030
 OUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Array
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/bigint.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/bigint.t,v
retrieving revision 1.7
diff -u -u -r1.7 bigint.t
--- t/pmc/bigint.t	9 Aug 2004 20:40:43 -0000	1.7
+++ t/pmc/bigint.t	21 Aug 2004 20:26:09 -0000
@@ -21,7 +21,7 @@
 use Parrot::Config;
 
 if ($PConfig{gmp}) {
-   plan tests => 12;
+   plan tests => 13;
 }
 else {
    plan skip_all => "No BigInt Lib configured";
@@ -304,3 +304,23 @@
 -1230000000000
 1230000000000
 OUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new BigInt
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/boolean.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/boolean.t,v
retrieving revision 1.5
diff -u -u -r1.5 boolean.t
--- t/pmc/boolean.t	8 Mar 2004 00:20:09 -0000	1.5
+++ t/pmc/boolean.t	21 Aug 2004 20:26:09 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', "Initialization, and integer tests");
@@ -262,6 +262,22 @@
 ok 4
 OUTPUT
 
-1;
-
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Boolean
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
Index: t/pmc/complex.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/complex.t,v
retrieving revision 1.3
diff -u -u -r1.3 complex.t
--- t/pmc/complex.t	11 Jul 2004 17:13:53 -0000	1.3
+++ t/pmc/complex.t	21 Aug 2004 20:26:09 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 11;
+use Parrot::Test tests => 12;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -529,3 +529,23 @@
 CODE
 5
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Complex
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/coroutine.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/coroutine.t,v
retrieving revision 1.8
diff -u -u -r1.8 coroutine.t
--- t/pmc/coroutine.t	6 Jul 2004 13:00:52 -0000	1.8
+++ t/pmc/coroutine.t	21 Aug 2004 20:26:10 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 12;
+use Parrot::Test tests => 13;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', "Coroutine 1");
@@ -612,3 +612,23 @@
     if x <= 4 goto iloop
 .end
 CODE
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Coroutine
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/env.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/env.t,v
retrieving revision 1.8
diff -u -u -r1.8 env.t
--- t/pmc/env.t	26 Feb 2004 08:33:28 -0000	1.8
+++ t/pmc/env.t	21 Aug 2004 20:26:10 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 6;
+use Parrot::Test tests => 7;
 use Test::More;
 use Parrot::Config;
 
@@ -112,3 +112,23 @@
 ok 2
 OUT
 }
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Env
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/fixedbooleanarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/fixedbooleanarray.t,v
retrieving revision 1.1
diff -u -u -r1.1 fixedbooleanarray.t
--- t/pmc/fixedbooleanarray.t	12 Jun 2004 15:54:03 -0000	1.1
+++ t/pmc/fixedbooleanarray.t	21 Aug 2004 20:26:10 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 8;
+use Parrot::Test tests => 9;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -263,4 +263,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FixedBooleanArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/fixedfloatarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/fixedfloatarray.t,v
retrieving revision 1.3
diff -u -u -r1.3 fixedfloatarray.t
--- t/pmc/fixedfloatarray.t	9 Aug 2004 20:45:31 -0000	1.3
+++ t/pmc/fixedfloatarray.t	21 Aug 2004 20:26:10 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 10;
+use Parrot::Test tests => 11;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -310,5 +310,28 @@
 ok 2
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FixedFloatArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 
 1;
Index: t/pmc/fixedintegerarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/fixedintegerarray.t,v
retrieving revision 1.1
diff -u -u -r1.1 fixedintegerarray.t
--- t/pmc/fixedintegerarray.t	12 Jun 2004 15:54:03 -0000	1.1
+++ t/pmc/fixedintegerarray.t	21 Aug 2004 20:26:10 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 8;
+use Parrot::Test tests => 9;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -263,4 +263,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FixedIntegerArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/fixedpmcarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/fixedpmcarray.t,v
retrieving revision 1.3
diff -u -u -r1.3 fixedpmcarray.t
--- t/pmc/fixedpmcarray.t	13 Jul 2004 06:15:37 -0000	1.3
+++ t/pmc/fixedpmcarray.t	21 Aug 2004 20:26:10 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 9;
+use Parrot::Test tests => 10;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -333,4 +333,27 @@
 1 2 5 9 10 x
 compares: [1-9]\d*/, "sort");
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FixedPMCArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/fixedstringarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/fixedstringarray.t,v
retrieving revision 1.1
diff -u -u -r1.1 fixedstringarray.t
--- t/pmc/fixedstringarray.t	12 Jun 2004 15:54:03 -0000	1.1
+++ t/pmc/fixedstringarray.t	21 Aug 2004 20:26:11 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 8;
+use Parrot::Test tests => 9;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -263,4 +263,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FixedStringArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/float.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/float.t,v
retrieving revision 1.5
diff -u -u -r1.5 float.t
--- t/pmc/float.t	9 Aug 2004 21:16:59 -0000	1.5
+++ t/pmc/float.t	21 Aug 2004 20:26:11 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 26;
+use Parrot::Test tests => 27;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
 .macro fp_eq (	J, K, L )
@@ -773,7 +773,21 @@
 ok 8
 OUTPUT
 
-
-
-
-
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Float
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
Index: t/pmc/floatvalarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/floatvalarray.t,v
retrieving revision 1.2
diff -u -u -r1.2 floatvalarray.t
--- t/pmc/floatvalarray.t	29 Apr 2004 11:23:37 -0000	1.2
+++ t/pmc/floatvalarray.t	21 Aug 2004 20:26:11 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 9;
+use Parrot::Test tests => 10;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', 'creation');
@@ -119,3 +119,27 @@
 CODE
 Done
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new FloatvalArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
Index: t/pmc/intlist.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/intlist.t,v
retrieving revision 1.12
diff -u -u -r1.12 intlist.t
--- t/pmc/intlist.t	26 Jun 2004 12:14:29 -0000	1.12
+++ t/pmc/intlist.t	21 Aug 2004 20:26:12 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 10;
+use Parrot::Test tests => 11;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', "creation");
@@ -535,3 +535,27 @@
 100
 1
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new IntList
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
Index: t/pmc/managedstruct.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/managedstruct.t,v
retrieving revision 1.10
diff -u -u -r1.10 managedstruct.t
--- t/pmc/managedstruct.t	9 Aug 2004 13:23:13 -0000	1.10
+++ t/pmc/managedstruct.t	21 Aug 2004 20:26:12 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 5;
+use Parrot::Test tests => 6;
 use Test::More;
 use Parrot::Config;
 
@@ -239,3 +239,23 @@
 16
 8
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ManagedStruct
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/multiarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/multiarray.t,v
retrieving revision 1.7
diff -u -u -r1.7 multiarray.t
--- t/pmc/multiarray.t	8 Mar 2004 00:20:09 -0000	1.7
+++ t/pmc/multiarray.t	21 Aug 2004 20:26:12 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 3;
+use Parrot::Test tests => 4;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', "multiarray creation");
@@ -193,5 +193,25 @@
 ok 3
 OUTPUT
 
-1;
-
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new MultiArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
Index: t/pmc/nci.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/nci.t,v
retrieving revision 1.45
diff -u -u -r1.45 nci.t
--- t/pmc/nci.t	10 Aug 2004 16:18:44 -0000	1.45
+++ t/pmc/nci.t	21 Aug 2004 20:26:14 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 34;
+use Parrot::Test tests => 35;
 use Parrot::Config;
 
 SKIP: {
@@ -1337,4 +1337,27 @@
 
 } # SKIP
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ParrotLibrary
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "library"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/orderedhash.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/orderedhash.t,v
retrieving revision 1.6
diff -u -u -r1.6 orderedhash.t
--- t/pmc/orderedhash.t	31 Mar 2004 07:08:12 -0000	1.6
+++ t/pmc/orderedhash.t	21 Aug 2004 20:26:14 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 18;
+use Parrot::Test tests => 19;
 use Test::More;
 
 output_is(<<'CODE', <<OUT, "init");
@@ -504,3 +504,32 @@
 P0["b"]: B
 P0["b"]: B
 OUTPUT
+
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new OrderedHash
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "hash"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+1
+0
+OUTPUT
+
Index: t/pmc/perlarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlarray.t,v
retrieving revision 1.35
diff -u -u -r1.35 perlarray.t
--- t/pmc/perlarray.t	30 Mar 2004 19:58:00 -0000	1.35
+++ t/pmc/perlarray.t	21 Aug 2004 20:26:15 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 26;
+use Parrot::Test tests => 27;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -1392,5 +1392,28 @@
 /
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new PerlArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
 
Index: t/pmc/perlhash.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlhash.t,v
retrieving revision 1.46
diff -u -u -r1.46 perlhash.t
--- t/pmc/perlhash.t	21 Aug 2004 09:05:49 -0000	1.46
+++ t/pmc/perlhash.t	21 Aug 2004 20:26:16 -0000
@@ -19,7 +19,7 @@
 
 =cut
 
-use Parrot::Test tests => 35;
+use Parrot::Test tests => 36;
 use Test::More;
 
 output_is(<<CODE, <<OUTPUT, "Initial PerlHash tests");
@@ -1192,4 +1192,27 @@
 three
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new PerlHash
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "hash"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/perlint.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlint.t,v
retrieving revision 1.17
diff -u -u -r1.17 perlint.t
--- t/pmc/perlint.t	28 May 2004 08:53:59 -0000	1.17
+++ t/pmc/perlint.t	21 Aug 2004 20:26:17 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 28;
+use Parrot::Test tests => 29;
 use Parrot::PMC '%pmc_types';
 my $perlint = $pmc_types{'PerlInt'};
 my $ok = '"ok 1\n"';
@@ -969,3 +969,23 @@
 ok 5
 ok 6
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new PerlInt
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/perlnum.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlnum.t,v
retrieving revision 1.8
diff -u -u -r1.8 perlnum.t
--- t/pmc/perlnum.t	9 Aug 2004 07:43:17 -0000	1.8
+++ t/pmc/perlnum.t	21 Aug 2004 20:26:17 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 42;
+use Parrot::Test tests => 43;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
 .macro fp_eq (	J, K, L )
@@ -808,3 +808,23 @@
 CODE
 0 is false
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new PerlNum
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
Index: t/pmc/perlstring.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/perlstring.t,v
retrieving revision 1.25
diff -u -u -r1.25 perlstring.t
--- t/pmc/perlstring.t	3 Aug 2004 18:24:04 -0000	1.25
+++ t/pmc/perlstring.t	21 Aug 2004 20:26:18 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 39;
+use Parrot::Test tests => 40;
 use Test::More; # Included for skip().
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -1228,5 +1228,23 @@
 87-8-9
 OUTPUT
 
-1;
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new PerlString
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
 
Index: t/pmc/ref.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/ref.t,v
retrieving revision 1.6
diff -u -u -r1.6 ref.t
--- t/pmc/ref.t	20 Apr 2004 07:44:50 -0000	1.6
+++ t/pmc/ref.t	21 Aug 2004 20:26:18 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More qw(skip);
 
 output_is(<<'CODE', <<'OUTPUT', "new ref");
@@ -141,3 +141,43 @@
 /ok 1
 deref not allowed/
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Array
+    .local pmc pmc2
+    pmc2 = new Ref, pmc1
+    .local pmc pmc3
+    pmc3 = new SharedRef, pmc1
+    .local int bool1
+    does bool1, pmc2, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc2, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc2, "no_interface"
+    print bool1
+    print "\n"
+    does bool1, pmc3, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc3, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc3, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+0
+1
+0
+OUTPUT
+
Index: t/pmc/resizablebooleanarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/resizablebooleanarray.t,v
retrieving revision 1.2
diff -u -u -r1.2 resizablebooleanarray.t
--- t/pmc/resizablebooleanarray.t	16 Jun 2004 13:25:26 -0000	1.2
+++ t/pmc/resizablebooleanarray.t	21 Aug 2004 20:26:19 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -285,4 +285,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ResizableBooleanArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/resizablefloatarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/resizablefloatarray.t,v
retrieving revision 1.3
diff -u -u -r1.3 resizablefloatarray.t
--- t/pmc/resizablefloatarray.t	11 Aug 2004 19:02:05 -0000	1.3
+++ t/pmc/resizablefloatarray.t	21 Aug 2004 20:26:19 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 15;
+use Parrot::Test tests => 16;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -409,4 +409,27 @@
 /ResizableFloatArray: Can't pop from an empty array!/
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ResizableFloatArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/resizableintegerarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/resizableintegerarray.t,v
retrieving revision 1.2
diff -u -u -r1.2 resizableintegerarray.t
--- t/pmc/resizableintegerarray.t	16 Jun 2004 13:25:26 -0000	1.2
+++ t/pmc/resizableintegerarray.t	21 Aug 2004 20:26:19 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -269,4 +269,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ResizableIntegerArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/resizablepmcarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/resizablepmcarray.t,v
retrieving revision 1.2
diff -u -u -r1.2 resizablepmcarray.t
--- t/pmc/resizablepmcarray.t	16 Jun 2004 13:25:26 -0000	1.2
+++ t/pmc/resizablepmcarray.t	21 Aug 2004 20:26:19 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -268,4 +268,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ResizablePMCArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/resizablestringarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/resizablestringarray.t,v
retrieving revision 1.2
diff -u -u -r1.2 resizablestringarray.t
--- t/pmc/resizablestringarray.t	16 Jun 2004 13:25:27 -0000	1.2
+++ t/pmc/resizablestringarray.t	21 Aug 2004 20:26:19 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -270,4 +270,27 @@
 ok 4
 OUTPUT
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new ResizableStringArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
 1;
Index: t/pmc/sarray.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/sarray.t,v
retrieving revision 1.7
diff -u -u -r1.7 sarray.t
--- t/pmc/sarray.t	8 Mar 2004 00:20:09 -0000	1.7
+++ t/pmc/sarray.t	21 Aug 2004 20:26:19 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 14;
+use Parrot::Test tests => 15;
 use Test::More;
 
 output_is(<<'CODE', <<'OUTPUT', "Setting sarray size");
@@ -473,3 +473,27 @@
 /^ok
 morph\(\) in ConstSArray/
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new SArray
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "array"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
Index: t/pmc/string.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/string.t,v
retrieving revision 1.1
diff -u -u -r1.1 string.t
--- t/pmc/string.t	24 Jun 2004 10:50:54 -0000	1.1
+++ t/pmc/string.t	21 Aug 2004 20:26:20 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 30;
+use Parrot::Test tests => 31;
 use Test::More; # Included for skip().
 
 my $fp_equality_macro = <<'ENDOFMACRO';
@@ -1116,5 +1116,23 @@
 str
 OUTPUT
 
-1;
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new String
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
 
Index: t/pmc/timer.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/timer.t,v
retrieving revision 1.11
diff -u -u -r1.11 timer.t
--- t/pmc/timer.t	8 Mar 2004 00:20:09 -0000	1.11
+++ t/pmc/timer.t	21 Aug 2004 20:26:21 -0000
@@ -17,7 +17,7 @@
 
 =cut
 
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 use Test::More;
 
 my %platforms = map {$_=>1} qw/
@@ -245,3 +245,27 @@
 OUT
 }
 
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Timer
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "event"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+0
+1
+0
+OUTPUT
+
+
Index: t/pmc/undef.t
===================================================================
RCS file: /cvs/public/parrot/t/pmc/undef.t,v
retrieving revision 1.1
diff -u -u -r1.1 undef.t
--- t/pmc/undef.t	9 Jul 2004 05:23:35 -0000	1.1
+++ t/pmc/undef.t	21 Aug 2004 20:26:21 -0000
@@ -16,7 +16,7 @@
 
 =cut
 
-use Parrot::Test tests => 1;
+use Parrot::Test tests => 2;
 use Test::More qw(skip);
 
 output_is(<<'CODE', <<'OUTPUT', "morph to string");
@@ -30,3 +30,23 @@
 CODE
 foofoo
 OUTPUT
+
+output_is(<< 'CODE', << 'OUTPUT', "check wether interface is done");
+##PIR##
+.sub _main
+    .local pmc pmc1
+    pmc1 = new Undef
+    .local int bool1
+    does bool1, pmc1, "scalar"
+    print bool1
+    print "\n"
+    does bool1, pmc1, "no_interface"
+    print bool1
+    print "\n"
+    end
+.end
+CODE
+1
+0
+OUTPUT
+
