Author: bernhard
Date: Wed Jun  6 11:40:20 2007
New Revision: 18843

Added:
   trunk/languages/lisp/t/basic.t   (contents, props changed)
Modified:
   trunk/MANIFEST
   trunk/MANIFEST.SKIP
   trunk/languages/lisp/lisp.pir
   trunk/languages/lisp/t/atoms.t

Log:
[languages/lisp]
Add a couple of test cases and get some failures.


Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST      (original)
+++ trunk/MANIFEST      Wed Jun  6 11:40:20 2007
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Sun Jun  3 16:26:39 2007 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Wed Jun  6 18:11:24 2007 UT
 #
 # See tools/dev/install_files.pl for documentation on the
 # format of this file.
@@ -1411,6 +1411,7 @@
 languages/lisp/system.pir                                   [lisp]
 languages/lisp/t/arithmetics.t                              [lisp]
 languages/lisp/t/atoms.t                                    [lisp]
+languages/lisp/t/basic.t                                    [lisp]
 languages/lisp/t/harness                                    [lisp]
 languages/lisp/t/hello.t                                    [lisp]
 languages/lisp/types.pir                                    [lisp]

Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP (original)
+++ trunk/MANIFEST.SKIP Wed Jun  6 11:40:20 2007
@@ -1,6 +1,6 @@
 # ex: set ro:
 # $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Sun Jun  3 16:26:39 2007 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Wed Jun  6 18:11:24 2007 UT
 #
 # This file should contain a transcript of the svn:ignore properties
 # of the directories in the Parrot subversion repository. (Needed for
@@ -14,16 +14,11 @@
 # debian/ should not go into release tarballs
 ^debian$
 ^debian/
-# generated from svn:ignore of '
-languages/pheme/'
-^
-languages/pheme/.*\.pbc$
-^
-languages/pheme/.*\.pbc/
-^
-languages/pheme/Makefile$
-^
-languages/pheme/Makefile/
+# generated from svn:ignore of 'languages/pheme/'
+^languages/pheme/.*\.pbc$
+^languages/pheme/.*\.pbc/
+^languages/pheme/Makefile$
+^languages/pheme/Makefile/
 # generated from svn:ignore of './'
 ^.*\.core$
 ^.*\.core/
@@ -1570,17 +1565,6 @@
 # generated from svn:ignore of 'src/stm/'
 ^src/stm/.*\.obj$
 ^src/stm/.*\.obj/
-# generated from svn:ignore of 't/'
-^t/.*\.out$
-^t/.*\.out/
-^t/.*\.pbc$
-^t/.*\.pbc/
-^t/test1$
-^t/test1/
-^t/test1\.c$
-^t/test1\.c/
-^t/test1\.o$
-^t/test1\.o/
 # generated from svn:ignore of 't/benchmark/'
 ^t/benchmark/.*\.pasm$
 ^t/benchmark/.*\.pasm/
@@ -1683,6 +1667,11 @@
 ^t/op/.*\.pir/
 ^t/op/.*_pbcexe.*$
 ^t/op/.*_pbcexe.*/
+# generated from svn:ignore of 't/pdd15oo/'
+^t/pdd15oo/.*\.pasm$
+^t/pdd15oo/.*\.pasm/
+^t/pdd15oo/.*\.pir$
+^t/pdd15oo/.*\.pir/
 # generated from svn:ignore of 't/perl/'
 ^t/perl/Parrot_Test_1\.pasm$
 ^t/perl/Parrot_Test_1\.pasm/

Modified: trunk/languages/lisp/lisp.pir
==============================================================================
--- trunk/languages/lisp/lisp.pir       (original)
+++ trunk/languages/lisp/lisp.pir       Wed Jun  6 11:40:20 2007
@@ -92,7 +92,6 @@
 
     # VALID_IN_PARROT_0_2_0 foldup retv
     ( retv :slurpy) = _eval(args)
-    printerr 'after _eval'
 
     .local int nretv
     nretv = retv

Modified: trunk/languages/lisp/t/atoms.t
==============================================================================
--- trunk/languages/lisp/t/atoms.t      (original)
+++ trunk/languages/lisp/t/atoms.t      Wed Jun  6 11:40:20 2007
@@ -18,13 +18,43 @@
 use lib "$FindBin::Bin/../lib", "$FindBin::Bin/../../../lib";
 
 # core Perl modules
-use Test::More     tests => 1;
+use Test::More; 
 
 # Parrot modules
 use Parrot::Test;
 
-language_output_is( 'Lisp', <<'END_CODE', <<'END_OUT', 'integer 1' );
-(print 1)
-END_CODE
-1
-END_OUT
+my @test_cases = (
+    [ q{ 1 },
+      1,
+      'integer 1'
+    ],
+    [ q{ -2 },
+      -2,
+      'integer -2'
+    ],
+    [ q{ (- 3) },
+      -3,
+      '3 negated'
+    ],
+    [ q{ 0 },
+      0,
+      'zero'
+    ],
+    [ q{ nil },
+      'NIL',
+      'false'
+    ],
+    [ q{ t },
+      'T',
+      'true'
+    ],
+);
+
+Test::More::plan( tests => scalar @test_cases );
+
+foreach ( @test_cases )
+{
+     my ( $code, $out, $desc ) = @{ $_ };
+
+     language_output_is( 'Lisp', "( print $code )", $out . "\n", $desc );
+}

Added: trunk/languages/lisp/t/basic.t
==============================================================================
--- (empty file)
+++ trunk/languages/lisp/t/basic.t      Wed Jun  6 11:40:20 2007
@@ -0,0 +1,55 @@
+# $Id$
+
+=head1 NAME
+
+lisp/t/basic.t - tests for Parrot Common Lisp
+
+=head1 DESCRIPTION
+
+Basic stuff.
+
+=cut
+
+# pragmata
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/../lib", "$FindBin::Bin/../../../lib";
+
+# core Perl modules
+use Test::More;
+
+# Parrot modules
+use Parrot::Test;
+
+my @test_cases = (
+    [ q{ ( list 1 2 ) },
+      q{(1 . (2 . NIL))},
+    ],
+    [ q{ ( car ( list 1 2 )) },
+      q{1},
+    ],
+    [ q{( cdr ( list 1 2 )) },
+      q{(2 . NIL)},
+    ],
+    [ q{( cons 1 2 ) },
+      q{(1 . 2)},
+    ],
+    [ q{ ( car ( cons 1 2 )) },
+      q{1},
+    ],
+    [ q{ ( cdr ( cons 1 2 )) },
+      q{(2)},
+    ],
+);
+
+Test::More::plan( tests => scalar @test_cases );
+
+foreach ( @test_cases )
+{
+     my ( $code, $out, $desc ) = @{ $_ };
+
+     $desc ||= substr( $code, 0, 16 ); 
+     language_output_is( 'Lisp', "( print $code )", $out . "\n", $desc );
+}

Reply via email to