cvsuser     03/07/31 16:20:39

  Modified:    t/op     conv.t
  Log:
  Test overflow in both directions
  
  Revision  Changes    Path
  1.3       +94 -5     parrot/t/op/conv.t
  
  Index: conv.t
  ===================================================================
  RCS file: /cvs/public/parrot/t/op/conv.t,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- conv.t    31 Jul 2003 18:51:27 -0000      1.2
  +++ conv.t    31 Jul 2003 23:20:39 -0000      1.3
  @@ -1,6 +1,6 @@
   #! perl -w
   
  -use Parrot::Test tests => 8;
  +use Parrot::Test tests => 12;
   use Test::More;
   
   output_is(<<'CODE', <<OUTPUT, "conv_i1_i");
  @@ -16,11 +16,21 @@
       conv_i1 I0
       print I0
       print "\n"
  +    dec I0
  +    conv_i1 I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_i1 I0
  +    print I0
  +    print "\n"
       end
   CODE
   127
   -128
   -127
  +-128
  +127
   OUTPUT
   
   output_is(<<'CODE', <<OUTPUT, "conv_u1_i");
  @@ -40,12 +50,17 @@
       conv_u1 I0
       print I0
       print "\n"
  +    dec I0
  +    conv_u1 I0
  +    print I0
  +    print "\n"
       end
   CODE
   127
   128
   255
   0
  +255
   OUTPUT
   
   output_is(<<'CODE', <<OUTPUT, "conv_i2_i");
  @@ -61,11 +76,21 @@
       conv_i2 I0
       print I0
       print "\n"
  +    dec I0
  +    conv_i2 I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_i2 I0
  +    print I0
  +    print "\n"
       end
   CODE
   32767
   -32768
   -32767
  +-32768
  +32767
   OUTPUT
   
   output_is(<<'CODE', <<OUTPUT, "conv_u2_i");
  @@ -85,16 +110,21 @@
       conv_u2 I0
       print I0
       print "\n"
  +    dec I0
  +    conv_u2 I0
  +    print I0
  +    print "\n"
       end
   CODE
   32767
   32768
   65535
   0
  +65535
   OUTPUT
   
   
  -output_is(<<'CODE', <<OUTPUT, "conv_i1_ofv_i");
  +output_is(<<'CODE', <<OUTPUT, "conv_i1_ofv_i, positive direction");
       set I0, 127
       conv_i1_ovf I0
       print I0
  @@ -109,8 +139,22 @@
   Overflow exception for conv_i1_ovf
   OUTPUT
   
  +output_is(<<'CODE', <<OUTPUT, "conv_i1_ofv_i, negative direction");
  +    set I0, -128
  +    conv_i1_ovf I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_i1_ovf I0
  +    print I0
  +    print "\n"
  +    end
  +CODE
  +-128
  +Overflow exception for conv_i1_ovf
  +OUTPUT
   
  -output_is(<<'CODE', <<OUTPUT, "conv_u1_ofv_i");
  +output_is(<<'CODE', <<OUTPUT, "conv_u1_ofv_i, positive direction");
       set I0, 255
       conv_u1_ovf I0
       print I0
  @@ -125,7 +169,22 @@
   Overflow exception for conv_u1_ovf
   OUTPUT
   
  -output_is(<<'CODE', <<OUTPUT, "conv_i2_ofv_i");
  +output_is(<<'CODE', <<OUTPUT, "conv_u1_ofv_i, negative direction");
  +    set I0, 0
  +    conv_u1_ovf I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_u1_ovf I0
  +    print I0
  +    print "\n"
  +    end
  +CODE
  +0
  +Overflow exception for conv_u1_ovf
  +OUTPUT
  +
  +output_is(<<'CODE', <<OUTPUT, "conv_i2_ofv_i, positive direction");
       set I0, 32767
       conv_i2_ovf I0
       print I0
  @@ -140,7 +199,22 @@
   Overflow exception for conv_i2_ovf
   OUTPUT
   
  -output_is(<<'CODE', <<OUTPUT, "conv_u2_ofv_i");
  +output_is(<<'CODE', <<OUTPUT, "conv_i2_ofv_i, negative direction");
  +    set I0, -32768
  +    conv_i2_ovf I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_i2_ovf I0
  +    print I0
  +    print "\n"
  +    end
  +CODE
  +-32768
  +Overflow exception for conv_i2_ovf
  +OUTPUT
  +
  +output_is(<<'CODE', <<OUTPUT, "conv_u2_ofv_i, positive direction");
       set I0, 65535
       conv_u2_ovf I0
       print I0
  @@ -152,6 +226,21 @@
       end
   CODE
   65535
  +Overflow exception for conv_u2_ovf
  +OUTPUT
  +
  +output_is(<<'CODE', <<OUTPUT, "conv_u2_ofv_i, negative direction");
  +    set I0, 0
  +    conv_u2_ovf I0
  +    print I0
  +    print "\n"
  +    dec I0
  +    conv_u2_ovf I0
  +    print I0
  +    print "\n"
  +    end
  +CODE
  +0
   Overflow exception for conv_u2_ovf
   OUTPUT
   
  
  
  

Reply via email to