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 );
+}