You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2014/04/27 01:11:49 UTC
[lucy-commits] [19/54] [abbrv] Remove bundled Clownfish.
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/201-method.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/201-method.t b/clownfish/compiler/perl/t/201-method.t
deleted file mode 100644
index d1b232e..0000000
--- a/clownfish/compiler/perl/t/201-method.t
+++ /dev/null
@@ -1,139 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 30;
-
-BEGIN { use_ok('Clownfish::CFC::Model::Method') }
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-$parser->parse('parcel Neato;')
- or die "failed to process parcel_definition";
-
-my %args = (
- parcel => 'Neato',
- return_type => $parser->parse('Obj*'),
- class_name => 'Neato::Foo',
- class_cnick => 'Foo',
- param_list => $parser->parse('(Foo *self, int32_t count = 0)'),
- macro_sym => 'Return_An_Obj',
-);
-
-my $method = Clownfish::CFC::Model::Method->new(%args);
-isa_ok( $method, "Clownfish::CFC::Model::Method" );
-
-ok( $method->parcel, "parcel exposure by default" );
-
-eval {
- my $death
- = Clownfish::CFC::Model::Method->new( %args, extra_arg => undef );
-};
-like( $@, qr/extra_arg/, "Extra arg kills constructor" );
-
-eval {
- Clownfish::CFC::Model::Method->new( %args, macro_sym => 'return_an_obj' );
-};
-like( $@, qr/macro_sym/, "Invalid macro_sym kills constructor" );
-
-my $dupe = Clownfish::CFC::Model::Method->new(%args);
-ok( $method->compatible($dupe), "compatible()" );
-
-my $macro_sym_differs
- = Clownfish::CFC::Model::Method->new( %args, macro_sym => 'Eat' );
-ok( !$method->compatible($macro_sym_differs),
- "different macro_sym spoils compatible()"
-);
-ok( !$macro_sym_differs->compatible($method), "... reversed" );
-
-my $extra_param = Clownfish::CFC::Model::Method->new( %args,
- param_list => $parser->parse('(Foo *self, int32_t count = 0, int b)'), );
-ok( !$method->compatible($macro_sym_differs),
- "extra param spoils compatible()"
-);
-ok( !$extra_param->compatible($method), "... reversed" );
-
-my $default_differs = Clownfish::CFC::Model::Method->new( %args,
- param_list => $parser->parse('(Foo *self, int32_t count = 1)'), );
-ok( !$method->compatible($default_differs),
- "different initial_value spoils compatible()"
-);
-ok( !$default_differs->compatible($method), "... reversed" );
-
-my $missing_default = Clownfish::CFC::Model::Method->new( %args,
- param_list => $parser->parse('(Foo *self, int32_t count)'), );
-ok( !$method->compatible($missing_default),
- "missing initial_value spoils compatible()"
-);
-ok( !$missing_default->compatible($method), "... reversed" );
-
-my $param_name_differs = Clownfish::CFC::Model::Method->new( %args,
- param_list => $parser->parse('(Foo *self, int32_t countess)'), );
-ok( !$method->compatible($param_name_differs),
- "different param name spoils compatible()"
-);
-ok( !$param_name_differs->compatible($method), "... reversed" );
-
-my $param_type_differs = Clownfish::CFC::Model::Method->new( %args,
- param_list => $parser->parse('(Foo *self, uint32_t count)'), );
-ok( !$method->compatible($param_type_differs),
- "different param type spoils compatible()"
-);
-ok( !$param_type_differs->compatible($method), "... reversed" );
-
-my $self_type_differs = Clownfish::CFC::Model::Method->new(
- %args,
- class_name => 'Neato::Bar',
- class_cnick => 'Bar',
- param_list => $parser->parse('(Bar *self, int32_t count = 0)'),
-);
-ok( $method->compatible($self_type_differs),
- "different self type still compatible(), since can't test inheritance" );
-ok( $self_type_differs->compatible($method), "... reversed" );
-
-my $not_final = Clownfish::CFC::Model::Method->new(%args);
-my $final = $not_final->finalize;
-
-eval { $method->override($final); };
-like( $@, qr/final/i, "Can't override final method" );
-
-ok( $not_final->compatible($final), "Finalize clones properly" );
-
-for my $meth_meth (qw( short_method_sym full_method_sym full_offset_sym)) {
- eval { my $blah = $method->$meth_meth; };
- like( $@, qr/invoker/, "$meth_meth requires invoker" );
-}
-
-$parser->set_class_name("Neato::Obj");
-$parser->set_class_cnick("Obj");
-isa_ok(
- $parser->parse($_),
- "Clownfish::CFC::Model::Method",
- "method declaration: $_"
- )
- for (
- 'public int Do_Foo(Obj *self);',
- 'Obj* Gimme_An_Obj(Obj *self);',
- 'void Do_Whatever(Obj *self, uint32_t a_num, float real);',
- 'Foo* Fetch_Foo(Obj *self, int num);',
- );
-
-for ( 'public final void The_End(Obj *self);', ) {
- my $meth = $parser->parse($_);
- ok( $meth && $meth->final, "final method: $_" );
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/202-overridden_method.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/202-overridden_method.t b/clownfish/compiler/perl/t/202-overridden_method.t
deleted file mode 100644
index 5e166ea..0000000
--- a/clownfish/compiler/perl/t/202-overridden_method.t
+++ /dev/null
@@ -1,46 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 1;
-
-use Clownfish::CFC::Model::Method;
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-$parser->parse('parcel Neato;')
- or die "failed to process parcel_definition";
-
-my %args = (
- return_type => $parser->parse('Obj*'),
- class_name => 'Neato::Foo',
- class_cnick => 'Foo',
- param_list => $parser->parse('(Foo *self)'),
- macro_sym => 'Return_An_Obj',
- parcel => 'Neato',
-);
-
-my $orig = Clownfish::CFC::Model::Method->new(%args);
-my $overrider = Clownfish::CFC::Model::Method->new(
- %args,
- param_list => $parser->parse('(FooJr *self)'),
- class_name => 'Neato::Foo::FooJr',
- class_cnick => 'FooJr'
-);
-$overrider->override($orig);
-ok( !$overrider->novel, "A Method which overrides another is not 'novel'" );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/203-final_method.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/203-final_method.t b/clownfish/compiler/perl/t/203-final_method.t
deleted file mode 100644
index 8829f41..0000000
--- a/clownfish/compiler/perl/t/203-final_method.t
+++ /dev/null
@@ -1,40 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 2;
-
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-$parser->parse('parcel Neato;')
- or die "failed to process parcel_definition";
-
-my %args = (
- return_type => $parser->parse('Obj*'),
- class_name => 'Neato::Foo',
- class_cnick => 'Foo',
- param_list => $parser->parse('(Foo* self)'),
- macro_sym => 'Return_An_Obj',
- parcel => 'Neato',
-);
-
-my $not_final_method = Clownfish::CFC::Model::Method->new(%args);
-my $final_method = $not_final_method->finalize;
-ok( !$not_final_method->final, "not final by default" );
-ok( $final_method->final, "finalize" );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/300-variable.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/300-variable.t b/clownfish/compiler/perl/t/300-variable.t
deleted file mode 100644
index a5f33be..0000000
--- a/clownfish/compiler/perl/t/300-variable.t
+++ /dev/null
@@ -1,86 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 13;
-
-BEGIN { use_ok('Clownfish::CFC::Model::Variable') }
-
-my $parser = Clownfish::CFC::Parser->new;
-$parser->parse('parcel Neato;')
- or die "failed to process parcel_definition";
-
-sub new_type { $parser->parse(shift) }
-
-eval {
- my $death = Clownfish::CFC::Model::Variable->new(
- micro_sym => 'foo',
- type => new_type('int'),
- extra_arg => undef,
- );
-};
-like( $@, qr/extra_arg/, "Extra arg kills constructor" );
-
-eval {
- my $death = Clownfish::CFC::Model::Variable->new( micro_sym => 'foo' );
-};
-like( $@, qr/type/, "type is required" );
-eval {
- my $death
- = Clownfish::CFC::Model::Variable->new( type => new_type('int32_t') );
-};
-like( $@, qr/micro_sym/, "micro_sym is required" );
-
-my $var = Clownfish::CFC::Model::Variable->new(
- micro_sym => 'foo',
- type => new_type('float*')
-);
-$var->resolve_type([]);
-is( $var->local_c, 'float* foo', "local_c" );
-is( $var->local_declaration, 'float* foo;', "declaration" );
-ok( $var->local, "default to local access" );
-
-$var = Clownfish::CFC::Model::Variable->new(
- micro_sym => 'foo',
- type => new_type('float[1]')
-);
-$var->resolve_type([]);
-is( $var->local_c, 'float foo[1]',
- "to_c appends array to var name rather than type specifier" );
-
-my $foo_class = $parser->parse("class Foo {}");
-$var = Clownfish::CFC::Model::Variable->new(
- parcel => 'Neato',
- micro_sym => 'foo',
- type => new_type("Foo*"),
- class_name => 'Crustacean::Lobster::LobsterClaw',
- class_cnick => 'LobClaw',
-);
-$var->resolve_type([ $foo_class ]);
-is( $var->global_c, 'neato_Foo* neato_LobClaw_foo', "global_c" );
-
-isa_ok(
- $parser->parse($_),
- "Clownfish::CFC::Model::Variable",
- "var_declaration_statement: $_"
- )
- for (
- 'int foo;',
- 'inert Obj *obj;',
- 'public inert int32_t **foo;',
- 'Dog *fido;'
- );
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/301-param_list.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/301-param_list.t b/clownfish/compiler/perl/t/301-param_list.t
deleted file mode 100644
index b315e9a..0000000
--- a/clownfish/compiler/perl/t/301-param_list.t
+++ /dev/null
@@ -1,57 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 13;
-
-BEGIN { use_ok('Clownfish::CFC::Model::ParamList') }
-
-my $parser = Clownfish::CFC::Parser->new;
-$parser->parse('parcel Neato;')
- or die "failed to process parcel_definition";
-
-isa_ok(
- $parser->parse($_),
- "Clownfish::CFC::Model::Variable",
- "param_variable: $_"
-) for ( 'uint32_t baz', 'String *stuff', 'float **ptr', );
-
-my $obj_class = $parser->parse("class Obj {}");
-
-my $param_list = $parser->parse("(Obj *self, int num)");
-$param_list->resolve_types([ $obj_class ]);
-isa_ok( $param_list, "Clownfish::CFC::Model::ParamList" );
-ok( !$param_list->variadic, "not variadic" );
-is( $param_list->to_c, 'neato_Obj* self, int num', "to_c" );
-is( $param_list->name_list, 'self, num', "name_list" );
-
-$param_list = $parser->parse("(Obj *self=NULL, int num, ...)");
-$param_list->resolve_types([ $obj_class ]);
-ok( $param_list->variadic, "variadic" );
-is_deeply(
- $param_list->get_initial_values,
- [ "NULL", undef ],
- "initial_values"
-);
-is( $param_list->to_c, 'neato_Obj* self, int num, ...', "to_c" );
-is( $param_list->num_vars, 2, "num_vars" );
-isa_ok(
- $param_list->get_variables->[0],
- "Clownfish::CFC::Model::Variable",
- "get_variables..."
-);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/400-file_spec.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/400-file_spec.t b/clownfish/compiler/perl/t/400-file_spec.t
deleted file mode 100644
index 246bf33..0000000
--- a/clownfish/compiler/perl/t/400-file_spec.t
+++ /dev/null
@@ -1,39 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 4;
-
-use Clownfish::CFC::Model::FileSpec;
-
-my %args = (
- source_dir => 'Clownfish/_include',
- path_part => 'Stuff/Thing',
-);
-my $file_spec;
-
-$file_spec = Clownfish::CFC::Model::FileSpec->new(%args);
-is( $file_spec->get_source_dir, "Clownfish/_include", "get_source_dir" );
-is( $file_spec->get_path_part, "Stuff/Thing", "get_path_part" );
-ok( !$file_spec->included, "included default" );
-
-$file_spec = Clownfish::CFC::Model::FileSpec->new(
- %args,
- is_included => 1,
-);
-ok( $file_spec->included, "included" );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/401-class.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/401-class.t b/clownfish/compiler/perl/t/401-class.t
deleted file mode 100644
index 1c83a90..0000000
--- a/clownfish/compiler/perl/t/401-class.t
+++ /dev/null
@@ -1,274 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 53;
-use Clownfish::CFC::Model::Class;
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-
-my $thing = Clownfish::CFC::Model::Variable->new(
- parcel => 'Neato',
- class_name => 'Foo',
- type => $parser->parse('Thing*'),
- micro_sym => 'thing',
-);
-my $widget = Clownfish::CFC::Model::Variable->new(
- class_name => 'Widget',
- type => $parser->parse('Widget*'),
- micro_sym => 'widget',
-);
-my $tread_water = Clownfish::CFC::Model::Function->new(
- parcel => 'Neato',
- class_name => 'Foo',
- return_type => $parser->parse('void'),
- micro_sym => 'tread_water',
- param_list => $parser->parse('()'),
-);
-my %foo_create_args = (
- parcel => 'Neato',
- class_name => 'Foo',
-);
-
-my $foo = Clownfish::CFC::Model::Class->create(%foo_create_args);
-$foo->add_function($tread_water);
-$foo->add_member_var($thing);
-$foo->add_inert_var($widget);
-my $should_be_foo = Clownfish::CFC::Model::Class->fetch_singleton(
- parcel => 'Neato',
- class_name => 'Foo',
-);
-is( $$foo, $$should_be_foo, "fetch_singleton" );
-
-eval { Clownfish::CFC::Model::Class->create(%foo_create_args) };
-like( $@, qr/two classes with name/i,
- "Can't call create for the same class more than once" );
-eval {
- Clownfish::CFC::Model::Class->create(
- parcel => 'Neato',
- class_name => 'Other::Foo',
- );
-};
-like( $@, qr/class name conflict/i,
- "Can't create classes wth the same final component" );
-eval {
- Clownfish::CFC::Model::Class->create(
- parcel => 'Neato',
- class_name => 'Bar',
- cnick => 'Foo',
- );
-};
-like( $@, qr/class nickname conflict/i,
- "Can't create classes wth the same nickname" );
-
-my $foo_jr = Clownfish::CFC::Model::Class->create(
- parcel => 'Neato',
- class_name => 'Foo::FooJr',
- parent_class_name => 'Foo',
-);
-
-is( $foo_jr->get_struct_sym, 'FooJr', "struct_sym" );
-is( $foo_jr->full_struct_sym, 'neato_FooJr', "full_struct_sym" );
-
-my $file_spec = Clownfish::CFC::Model::FileSpec->new(
- source_dir => '.',
- path_part => 'Foo/FooJr',
-);
-my $final_foo = Clownfish::CFC::Model::Class->create(
- parcel => 'Neato',
- class_name => 'Foo::FooJr::FinalFoo',
- parent_class_name => 'Foo::FooJr',
- file_spec => $file_spec,
- final => 1,
-);
-ok( $final_foo->final, "final" );
-is( $final_foo->include_h, 'Foo/FooJr.h', "inlude_h uses path_part" );
-is( $final_foo->get_parent_class_name, 'Foo::FooJr',
- "get_parent_class_name" );
-
-$parser->parse("parcel Neato;");
-$parser->set_class_name("Foo");
-my $do_stuff = $parser->parse('void Do_Stuff(Foo *self);')
- or die "parsing failure";
-$foo->add_method($do_stuff);
-
-$parser->set_class_name("InertFoo");
-my $inert_do_stuff = $parser->parse('void Do_Stuff(InertFoo *self);')
- or die "parsing failure";
-$parser->set_class_name("");
-
-my %inert_args = (
- parcel => 'Neato',
- class_name => 'InertFoo',
- inert => 1,
-);
-eval {
- my $class = Clownfish::CFC::Model::Class->create(%inert_args);
- $class->add_method($inert_do_stuff);
-};
-like(
- $@,
- qr/inert class/i,
- "Error out on conflict between inert attribute and object method"
-);
-
-$foo->add_child($foo_jr);
-$foo_jr->add_child($final_foo);
-$foo->grow_tree;
-eval { $foo->grow_tree };
-like( $@, qr/grow_tree/, "call grow_tree only once." );
-eval { $foo_jr->add_method($do_stuff) };
-like( $@, qr/grow_tree/, "Forbid add_method after grow_tree." );
-
-is( ${ $foo_jr->get_parent }, $$foo, "grow_tree, one level" );
-is( ${ $final_foo->get_parent }, $$foo_jr, "grow_tree, two levels" );
-is( ${ $foo->fresh_method("Do_Stuff") }, $$do_stuff, 'fresh_method' );
-is( ${ $foo_jr->method("Do_Stuff") }, $$do_stuff, "inherited method" );
-ok( !$foo_jr->fresh_method("Do_Stuff"), 'inherited method not "fresh"' );
-ok( $final_foo->method("Do_Stuff")->final, "Finalize inherited method" );
-ok( !$foo_jr->method("Do_Stuff")->final, "Don't finalize method in parent" );
-is_deeply( $foo->inert_vars, [$widget], "inert vars" );
-is_deeply( $foo->functions, [$tread_water], "inert funcs" );
-is_deeply( $foo->methods, [$do_stuff], "methods" );
-is_deeply( $foo->fresh_methods, [$do_stuff], "fresh_methods" );
-is_deeply( $foo->fresh_member_vars, [$thing], "fresh_member_vars" );
-is_deeply( $foo_jr->member_vars, [$thing], "inherit member vars" );
-is_deeply( $foo_jr->functions, [], "don't inherit inert funcs" );
-is_deeply( $foo_jr->fresh_member_vars, [], "fresh_member_vars" );
-is_deeply( $foo_jr->inert_vars, [], "don't inherit inert vars" );
-is_deeply( $final_foo->fresh_methods, [], "fresh_methods" );
-
-is_deeply( $foo->tree_to_ladder, [ $foo, $foo_jr, $final_foo ],
- 'tree_to_ladder' );
-
-ok( $parser->parse("$_ class Iam$_ { }")->$_, "class_modifier: $_" )
- for (qw( final inert ));
-
-is( $parser->parse("class Fu::$_ inherits $_ { }")->get_parent_class_name,
- $_, "class_inheritance: $_" )
- for ( 'Fooble', 'Foo::FooJr::FooIII' );
-
-is( $parser->parse("class MissingInherits { }")->get_parent_class_name,
- "Clownfish::Obj", "class inherits from Clownfish::Obj by default" );
-
-my $class_content
- = 'public class Foo::Foodie cnick Foodie inherits Foo { int num; }';
-my $class = $parser->parse($class_content);
-isa_ok( $class, "Clownfish::CFC::Model::Class", "class_declaration FooJr" );
-ok( ( scalar grep { $_->micro_sym eq 'num' } @{ $class->member_vars } ),
- "parsed member var" );
-
-$class_content = q|
- /**
- * Bow wow.
- *
- * Wow wow wow.
- */
- public class Animal::Dog inherits Animal {
- public inert Dog* init(Dog *self, String *name, String *fave_food);
- inert uint32_t count();
- inert uint64_t num_dogs;
- public inert Dog* top_dog;
-
- String *name;
- bool likes_to_go_fetch;
- ChewToy *squishy;
- Owner *mom;
-
- void Destroy(Dog *self);
- public String* Bark(Dog *self);
- public void Eat(Dog *self);
- public void Bite(Dog *self, Enemy *enemy);
- public Thing *Fetch(Dog *self, Thing *thing);
- public final void Bury(Dog *self, Bone *bone);
- public abstract incremented nullable Thing*
- Scratch(Dog *self);
-
- int32_t[1] flexible_array_at_end_of_struct;
- }
-|;
-
-$class = $parser->parse($class_content);
-isa_ok( $class, "Clownfish::CFC::Model::Class", "class_declaration Dog" );
-ok( ( scalar grep { $_->micro_sym eq 'num_dogs' } @{ $class->inert_vars } ),
- "parsed inert var" );
-ok( ( scalar grep { $_->micro_sym eq 'top_dog' } @{ $class->inert_vars } ),
- "parsed public inert var" );
-ok( ( scalar grep { $_->micro_sym eq 'mom' } @{ $class->member_vars } ),
- "parsed member var" );
-ok( ( scalar grep { $_->micro_sym eq 'squishy' } @{ $class->member_vars } ),
- "parsed member var" );
-ok( ( scalar grep { $_->micro_sym eq 'init' } @{ $class->functions } ),
- "parsed function" );
-ok( ( scalar grep { $_->micro_sym eq 'destroy' } @{ $class->methods } ),
- "parsed parcel method" );
-ok( ( scalar grep { $_->micro_sym eq 'bury' } @{ $class->methods } ),
- "parsed public method" );
-ok( ( scalar grep { $_->micro_sym eq 'scratch' } @{ $class->methods } ),
- "parsed public abstract nullable method" );
-
-for my $method ( @{ $class->methods } ) {
- if ( $method->micro_sym eq 'scratch' ) {
- ok( $method->get_return_type->nullable,
- "public abstract incremented nullable flagged as nullable" );
- }
-}
-is( ( scalar grep { $_->public } @{ $class->methods } ),
- 6, "pass acl to Method constructor" );
-
-$class_content = qq|
- inert class Rigor::Mortis cnick Mort {
- inert void lie_still();
- }|;
-$class = $parser->parse($class_content);
-isa_ok( $class, "Clownfish::CFC::Model::Class", "inert class_declaration" );
-ok( $class->inert, "inert modifier parsed and passed to constructor" );
-
-$class_content = qq|
- final class Ultimo {
- /** Throws an error.
- */
- void Say_Never(Ultimo *self);
- }|;
-$class = $parser->parse($class_content);
-ok( $class->final, "final class_declaration" );
-
-Clownfish::CFC::Model::Class->_clear_registry();
-
-{
- eval {
- my $class = Clownfish::CFC::Model::Class->create(%foo_create_args);
- my $inert = Clownfish::CFC::Model::Class->create(%inert_args);
- $class->add_child($inert);
- };
- like( $@, qr/inert class/i, "inert class can't inherit" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
-}
-
-{
- eval {
- my $class = Clownfish::CFC::Model::Class->create(%foo_create_args);
- my $inert = Clownfish::CFC::Model::Class->create(%inert_args);
- $inert->add_child($class);
- };
- like( $@, qr/inert class/i, "can't inherit from inert class" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/402-c_block.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/402-c_block.t b/clownfish/compiler/perl/t/402-c_block.t
deleted file mode 100644
index 94fb50d..0000000
--- a/clownfish/compiler/perl/t/402-c_block.t
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 5;
-
-use Clownfish::CFC::Model::CBlock;
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-
-my $block = Clownfish::CFC::Model::CBlock->new( contents => 'int foo;' );
-isa_ok( $block, "Clownfish::CFC::Model::CBlock" );
-is( $block->get_contents, 'int foo;', "get_contents" );
-eval { Clownfish::CFC::Model::CBlock->new };
-like( $@, qr/contents/, "content required" );
-
-$block = $parser->parse(qq| __C__\n#define FOO_BAR 1\n__END_C__ |);
-
-isa_ok( $block, "Clownfish::CFC::Model::CBlock" );
-is( $block->get_contents, "#define FOO_BAR 1\n", "parse embed_c" );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/403-parcel.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/403-parcel.t b/clownfish/compiler/perl/t/403-parcel.t
deleted file mode 100644
index c311987..0000000
--- a/clownfish/compiler/perl/t/403-parcel.t
+++ /dev/null
@@ -1,112 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 18;
-use File::Spec::Functions qw( catfile );
-
-BEGIN { use_ok('Clownfish::CFC::Model::Parcel') }
-
-my $foo = Clownfish::CFC::Model::Parcel->new( name => "Foo" );
-isa_ok( $foo, "Clownfish::CFC::Model::Parcel", "new" );
-ok( !$foo->included, "not included" );
-$foo->register;
-
-my $same_name = Clownfish::CFC::Model::Parcel->new( name => "Foo" );
-eval { $same_name->register; };
-like( $@, qr/parcel .* already registered/i,
- "can't register two parcels with the same name" );
-
-my $same_nick = Clownfish::CFC::Model::Parcel->new(
- name => "OtherFoo",
- cnick => "Foo",
-);
-eval { $same_nick->register; };
-like( $@, qr/parcel with nickname .* already registered/i,
- "can't register two parcels with the same nickname" );
-
-my $included_foo = Clownfish::CFC::Model::Parcel->new(
- name => "IncludedFoo",
- is_included => 1,
-);
-ok( $included_foo->included, "included" );
-$included_foo->register;
-
-my $parcels = Clownfish::CFC::Model::Parcel->all_parcels;
-my @names = sort(map { $_->get_name } @$parcels);
-is_deeply( \@names, [ "Foo", "IncludedFoo" ], "all_parcels" );
-
-my $dependent_foo = Clownfish::CFC::Model::Parcel->new(
- name => "DependentFoo",
- is_included => 1,
-);
-$dependent_foo->register;
-
-$foo->add_inherited_parcel($included_foo);
-$foo->add_dependent_parcel($dependent_foo);
-my @dep_names = sort(map { $_->get_name } @{ $foo->dependent_parcels });
-is_deeply( \@dep_names, [ "DependentFoo", "IncludedFoo" ],
- "dependent_parcels" );
-my @inh_names = sort(map { $_->get_name } @{ $foo->inherited_parcels });
-is_deeply( \@inh_names, [ "IncludedFoo" ], "inherited_parcels" );
-
-my $json = qq|
- {
- "name": "Crustacean",
- "nickname": "Crust",
- "version": "v0.1.0"
- }
-|;
-isa_ok(
- Clownfish::CFC::Model::Parcel->new_from_json( json => $json ),
- "Clownfish::CFC::Model::Parcel",
- "new_from_json"
-);
-
-isa_ok(
- Clownfish::CFC::Model::Parcel->new_from_file(
- path => catfile(qw( t cfbase Animal.cfp )),
- ),
- "Clownfish::CFC::Model::Parcel",
- "new_from_file"
-);
-
-# Register singleton.
-my $parcel = Clownfish::CFC::Model::Parcel->new(
- name => 'Crustacean',
- cnick => 'Crust',
-);
-$parcel->register;
-is( $parcel->get_version->get_vstring, 'v0', "get_version" );
-
-my $thing = Clownfish::CFC::Model::Symbol->new(
- micro_sym => 'sym',
- exposure => 'parcel',
-);
-is( $thing->get_prefix, '', 'get_prefix with no parcel' );
-is( $thing->get_Prefix, '', 'get_Prefix with no parcel' );
-is( $thing->get_PREFIX, '', 'get_PREFIx with no parcel' );
-
-$thing = Clownfish::CFC::Model::Symbol->new(
- micro_sym => 'sym',
- parcel => 'Crustacean',
- exposure => 'parcel'
-);
-is( $thing->get_prefix, 'crust_', 'get_prefix with parcel' );
-is( $thing->get_Prefix, 'Crust_', 'get_Prefix with parcel' );
-is( $thing->get_PREFIX, 'CRUST_', 'get_PREFIx with parcel' );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/404-file.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/404-file.t b/clownfish/compiler/perl/t/404-file.t
deleted file mode 100644
index 11668c4..0000000
--- a/clownfish/compiler/perl/t/404-file.t
+++ /dev/null
@@ -1,99 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 21;
-use File::Spec::Functions qw( catdir );
-
-use Clownfish::CFC::Model::File;
-use Clownfish::CFC::Parser;
-
-my $parser = Clownfish::CFC::Parser->new;
-
-my $parcel_declaration = "parcel Stuff;";
-my $class_content = qq|
- class Stuff::Thing {
- Foo *foo;
- Bar *bar;
- }
- class Foo {}
- class Bar {}
-|;
-my $c_block = "__C__\nint foo;\n__END_C__\n";
-
-my $path_part = catdir(qw( Stuff Thing ));
-my $file_spec = Clownfish::CFC::Model::FileSpec->new(
- source_dir => '.',
- path_part => $path_part,
-);
-
-{
- my $file
- = $parser->_parse_file( "$parcel_declaration\n$class_content\n$c_block",
- $file_spec );
-
- is( $file->get_source_dir, ".", "get_source_dir" );
- is( $file->get_path_part, $path_part, "get_path_part" );
- ok( !$file->included, "included" );
-
- my $guard_name = $file->guard_name;
- is( $guard_name, "H_STUFF_THING", "guard_name" );
- like( $file->guard_start, qr/$guard_name/, "guard_start" );
- like( $file->guard_close, qr/$guard_name/,
- "guard_close includes guard_name" );
-
- ok( !$file->get_modified, "modified false at start" );
- $file->set_modified(1);
- ok( $file->get_modified, "set_modified, get_modified" );
-
- my $path_sep = $^O =~ /^mswin/i ? '\\' : '/';
- my $path_to_stuff_thing = join( $path_sep, qw( path to Stuff Thing ) );
- is( $file->cfh_path('path/to'), "$path_to_stuff_thing.cfh", "cfh_path" );
- is( $file->c_path('path/to'), "$path_to_stuff_thing.c", "c_path" );
- is( $file->h_path('path/to'), "$path_to_stuff_thing.h", "h_path" );
-
- my $classes = $file->classes;
- is( scalar @$classes, 3, "classes() filters blocks" );
- my $class = $classes->[0];
- my ( $foo, $bar ) = @{ $class->member_vars };
- $foo->resolve_type($classes);
- $bar->resolve_type($classes);
- is( $foo->get_type->get_specifier,
- 'stuff_Foo', 'file production picked up parcel def' );
- is( $bar->get_type->get_specifier, 'stuff_Bar', 'parcel def is sticky' );
-
- my $blocks = $file->blocks;
- is( scalar @$blocks, 5, "all five blocks" );
- isa_ok( $blocks->[0], "Clownfish::CFC::Model::Parcel" );
- isa_ok( $blocks->[1], "Clownfish::CFC::Model::Class" );
- isa_ok( $blocks->[2], "Clownfish::CFC::Model::Class" );
- isa_ok( $blocks->[3], "Clownfish::CFC::Model::Class" );
- isa_ok( $blocks->[4], "Clownfish::CFC::Model::CBlock" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
-}
-
-{
- my $file = $parser->_parse_file( $class_content, $file_spec );
- my ($class) = @{ $file->classes };
- my ( $foo, $bar ) = @{ $class->member_vars };
- is( $foo->get_type->get_specifier, 'Foo', 'file production resets parcel' );
-
- Clownfish::CFC::Model::Class->_clear_registry();
-}
-
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/500-hierarchy.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/500-hierarchy.t b/clownfish/compiler/perl/t/500-hierarchy.t
deleted file mode 100644
index 6c2a10c..0000000
--- a/clownfish/compiler/perl/t/500-hierarchy.t
+++ /dev/null
@@ -1,105 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 21;
-
-use Clownfish::CFC::Model::Hierarchy;
-use Clownfish::CFC::Util qw( a_isa_b );
-use File::Spec::Functions qw( catdir catfile splitpath );
-use Fcntl;
-use File::Path qw( rmtree mkpath );
-
-my $base_dir = catdir(qw( t cfbase ));
-my %args = (
- dest => catdir(qw( t cfdest )),
-);
-
-# Clean up.
-rmtree( $args{dest} );
-
-eval {
- my $death
- = Clownfish::CFC::Model::Hierarchy->new( %args, extra_arg => undef );
-};
-like( $@, qr/extra_arg/, "Extra arg kills constructor" );
-
-my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(%args);
-isa_ok( $hierarchy, "Clownfish::CFC::Model::Hierarchy" );
-is( $hierarchy->get_dest, $args{dest}, "get_dest" );
-
-my $inc_dest = catfile( $args{dest}, "include" );
-is( $hierarchy->get_include_dest, $inc_dest, "get_include_dest" );
-
-my $src_dest = catfile( $args{dest}, "source" );
-is( $hierarchy->get_source_dest, $src_dest, "get_source_dest" );
-
-$hierarchy->add_source_dir($base_dir);
-is_deeply( $hierarchy->get_source_dirs, [ $base_dir ], "get_source_dirs" );
-
-$hierarchy->build;
-
-my @files = @{ $hierarchy->files };
-is( scalar @files, 3, "recursed and found all three files" );
-my %files;
-for my $file (@files) {
- die "not a File" unless isa_ok( $file, "Clownfish::CFC::Model::File" );
- ok( !$file->get_modified, "start off not modified" );
- my ($class) = grep {
- a_isa_b( $_, "Clownfish::CFC::Model::Class" )
- && $_->get_class_name ne 'Clownfish::Obj'
- } @{ $file->blocks };
- die "no class" unless $class;
- $files{ $class->get_class_name } = $file;
-}
-my $animal = $files{'Animal'} or die "No Animal";
-my $dog = $files{'Animal::Dog'} or die "No Dog";
-my $util = $files{'Animal::Util'} or die "No Util";
-
-my $classes = $hierarchy->ordered_classes;
-is( scalar @$classes, 4, "all classes" );
-for my $class (@$classes) {
- die "not a Class" unless isa_ok( $class, "Clownfish::CFC::Model::Class" );
-}
-
-# Generate fake C files, with times set to one second ago.
-my $one_second_ago = time() - 1;
-for my $file (@files) {
- my $h_path = $file->h_path( $inc_dest );
- my ( undef, $dir, undef ) = splitpath($h_path);
- mkpath($dir);
- sysopen( my $fh, $h_path, O_CREAT | O_EXCL | O_WRONLY )
- or die "Can't open '$h_path': $!";
- print $fh "#include <stdio.h>\n"; # fake content.
- close $fh or die "Can't close '$h_path': $!";
- utime( $one_second_ago, $one_second_ago, $h_path )
- or die "utime failed for '$h_path': $!";
-}
-
-my $path_to_animal_cf = $animal->cfh_path( $base_dir );
-utime( undef, undef, $path_to_animal_cf )
- or die "utime for '$path_to_animal_cf' failed"; # touch
-
-$hierarchy->propagate_modified;
-
-ok( $animal->get_modified, "Animal modified" );
-ok( $dog->get_modified, "Parent's modification propagates to child's file" );
-ok( !$util->get_modified, "modification doesn't propagate to inert class" );
-
-# Clean up.
-rmtree( $args{dest} );
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/501-include_dir.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/501-include_dir.t b/clownfish/compiler/perl/t/501-include_dir.t
deleted file mode 100644
index 8f16f4a..0000000
--- a/clownfish/compiler/perl/t/501-include_dir.t
+++ /dev/null
@@ -1,102 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 24;
-
-use Clownfish::CFC::Model::Hierarchy;
-use File::Spec::Functions qw( catdir catfile splitpath );
-use File::Path qw( rmtree );
-
-my $base_dir = catdir(qw( t cfbase ));
-my $ext_dir = catdir(qw( t cfext ));
-my $dest_dir = catdir(qw( t cfdest ));
-
-# One source, one include
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($ext_dir);
- is_deeply( $hierarchy->get_source_dirs, [ $ext_dir ], "get_source_dirs" );
-
- $hierarchy->add_include_dir($base_dir);
- is_deeply( $hierarchy->get_include_dirs, [ $base_dir ],
- "get_include_dirs" );
-
- $hierarchy->build;
-
- my $classes = $hierarchy->ordered_classes;
- is( scalar @$classes, 5, "all classes" );
- my $num_included = 0;
- for my $class (@$classes) {
- die "not a Class"
- unless isa_ok( $class, "Clownfish::CFC::Model::Class" );
-
- my $expect;
-
- if ($class->get_class_name eq "Animal::Rottweiler") {
- $expect = 0;
- my $parent_name = $class->get_parent->get_class_name;
- is( $parent_name, "Animal::Dog", "parent of included class" );
- }
- else {
- $expect = 1;
- }
-
- my $included = $class->included ? 1 : 0;
- ++$num_included if $included;
-
- is( $included, $expect, "included" );
- }
- is( $num_included, 4, "included class count" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-# Two sources
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($base_dir);
- $hierarchy->add_source_dir($ext_dir);
- is_deeply( $hierarchy->get_source_dirs, [ $base_dir, $ext_dir ],
- "get_source_dirs" );
- is_deeply( $hierarchy->get_include_dirs, [], "get_include_dirs" );
-
- $hierarchy->build;
-
- my $classes = $hierarchy->ordered_classes;
- is( scalar @$classes, 5, "all classes" );
- for my $class (@$classes) {
- die "not a Class" unless isa_ok( $class, "Clownfish::CFC::Model::Class" );
-
- if ($class->get_class_name eq "Animal::Rottweiler") {
- my $parent_name = $class->get_parent->get_class_name;
- is( $parent_name, "Animal::Dog", "parent of class from second source" );
- }
- }
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-# Clean up.
-rmtree($dest_dir);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/502-clash.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/502-clash.t b/clownfish/compiler/perl/t/502-clash.t
deleted file mode 100644
index ae64da1..0000000
--- a/clownfish/compiler/perl/t/502-clash.t
+++ /dev/null
@@ -1,115 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 5;
-
-use Clownfish::CFC::Model::Hierarchy;
-use File::Spec::Functions qw( catdir catfile splitpath );
-use File::Path qw( rmtree );
-
-my $base_dir = catdir(qw( t cfbase ));
-my $ext_dir = catdir(qw( t cfext ));
-my $dest_dir = catdir(qw( t cfdest ));
-my $class_clash_dir = catdir(qw( t cfclash class ));
-my $file_clash_dir = catdir(qw( t cfclash file ));
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($base_dir);
- $hierarchy->add_source_dir($file_clash_dir);
-
- eval { $hierarchy->build; };
-
- my $filename = catfile(qw( Animal Dog.cfh ));
- like( $@, qr/File \Q$filename\E already registered/,
- "source/source filename clash" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($class_clash_dir);
- $hierarchy->add_include_dir($base_dir);
-
- eval { $hierarchy->build; };
-
- like( $@, qr/Two classes with name/, "source/include class name clash" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($base_dir);
- $hierarchy->add_include_dir($file_clash_dir);
-
- $hierarchy->build;
-
- my $classes = $hierarchy->ordered_classes;
- is( scalar @$classes, 4, "source/include filename clash" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-# Parcel/class include mismatch
-
-my $foo_dir = catdir(qw( t cfclash foo ));
-my $bar_dir = catdir(qw( t cfclash bar ));
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($foo_dir);
- $hierarchy->add_include_dir($bar_dir);
- $hierarchy->add_include_dir($base_dir);
-
- eval { $hierarchy->build; };
-
- like( $@, qr/Class .* from include dir .* parcel .* from source dir/,
- "included class with source parcel" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-{
- my $hierarchy = Clownfish::CFC::Model::Hierarchy->new(dest => $dest_dir);
-
- $hierarchy->add_source_dir($bar_dir);
- $hierarchy->add_include_dir($foo_dir);
- $hierarchy->add_include_dir($base_dir);
-
- eval { $hierarchy->build; };
-
- like( $@, qr/Class .* from source dir .* parcel .* from include dir/,
- "source class with included parcel" );
-
- Clownfish::CFC::Model::Class->_clear_registry();
- Clownfish::CFC::Model::Parcel->reap_singletons();
-}
-
-# Clean up.
-rmtree($dest_dir);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/600-parser.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/600-parser.t b/clownfish/compiler/perl/t/600-parser.t
deleted file mode 100644
index 94dbed3..0000000
--- a/clownfish/compiler/perl/t/600-parser.t
+++ /dev/null
@@ -1,167 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Test::More tests => 87;
-
-BEGIN { use_ok('Clownfish::CFC::Parser') }
-
-my $parser = Clownfish::CFC::Parser->new;
-isa_ok( $parser, "Clownfish::CFC::Parser" );
-
-isa_ok(
- $parser->parse("parcel Fish;"),
- "Clownfish::CFC::Model::Parcel",
- "parcel_definition"
-);
-
-# Set and leave parcel.
-my $registered = Clownfish::CFC::Model::Parcel->new(
- name => 'Crustacean',
- cnick => 'Crust',
-);
-$registered->register;
-my $parcel = $parser->parse('parcel Crustacean;')
- or die "failed to process parcel_definition";
-is( $$parcel, $$registered, "Fetch registered parcel" );
-is( ${ $parser->get_parcel },
- $$parcel, "parcel_definition sets internal \$parcel var" );
-
-for (qw( foo _foo foo_yoo FOO Foo fOO f00 foo_foo_foo )) {
- my $var = $parser->parse("int32_t $_;");
- is( $var->micro_sym, $_, "identifier/declarator: $_" );
-}
-
-for (qw( void float uint32_t int64_t uint8_t bool )) {
- my $var = $parser->parse("int32_t $_;");
- ok( !defined($var), "reserved word not parsed as identifier: $_" );
-}
-
-isa_ok( $parser->parse("bool"),
- "Clownfish::CFC::Model::Type", "Charmony integer specifier bool" );
-
-for (qw( ByteBuf Obj ANDMatcher )) {
- my $class = $parser->parse("class $_ {}");
- my $type = $parser->parse("$_*");
- $type->resolve([ $class ]);
- is( $type->get_specifier, "crust_$_", "object_type_specifier $_" );
-}
-
-ok( $parser->parse("const char")->const, "type_qualifier const" );
-
-ok( $parser->parse("$_ inert int32_t foo;")->$_, "exposure_specifier $_" )
- for qw( public );
-
-ok( $parser->parse("int32_t foo;")->private,
- "exposure_specifier '' implicitly private" );
-
-isa_ok( $parser->parse($_), "Clownfish::CFC::Model::Type", "type $_" )
- for ( 'const char *', 'Obj*', 'i32_t', 'char[]', 'long[1]', 'i64_t[30]' );
-
-is( $parser->parse("(int32_t foo = $_)")->get_initial_values->[0],
- $_, "hex_constant: $_" )
- for (qw( 0x1 0x0a 0xFFFFFFFF -0xFC ));
-
-is( $parser->parse("(int32_t foo = $_)")->get_initial_values->[0],
- $_, "integer_constant: $_" )
- for (qw( 1 -9999 0 10000 ));
-
-is( $parser->parse("(double foo = $_)")->get_initial_values->[0],
- $_, "float_constant: $_" )
- for (qw( 1.0 -9999.999 0.1 0.0 ));
-
-is( $parser->parse("(String *foo = $_)")->get_initial_values->[0],
- $_, "string_literal: $_" )
- for ( q|"blah"|, q|"blah blah"|, q|"\\"blah\\" \\"blah\\""| );
-
-my @composites = ( 'int[]', "i32_t **", "Foo **", "Foo ***", "const void *" );
-for my $composite (@composites) {
- my $parsed = $parser->parse($composite);
- ok( $parsed && $parsed->is_composite, "composite_type: $composite" );
-}
-
-my @object_types = ( 'Obj *', "incremented Foo*", "decremented String *" );
-for my $object_type (@object_types) {
- my $parsed = $parser->parse($object_type);
- ok( $parsed && $parsed->is_object, "object_type: $object_type" );
-}
-
-my %param_lists = (
- '(int foo)' => 1,
- '(Obj *foo, Foo **foo_ptr)' => 2,
- '()' => 0,
-);
-while ( my ( $param_list, $num_params ) = each %param_lists ) {
- my $parsed = $parser->parse($param_list);
- isa_ok(
- $parsed,
- "Clownfish::CFC::Model::ParamList",
- "param_list: $param_list"
- );
-}
-ok( $parser->parse("(int foo, ...)")->variadic, "variadic param list" );
-my $param_list = $parser->parse(q|(int foo = 0xFF, char *bar ="blah")|);
-is_deeply(
- $param_list->get_initial_values,
- [ '0xFF', '"blah"' ],
- "initial values"
-);
-
-my %sub_args = ( class => 'Stuff::Obj', cnick => 'Obj' );
-
-$parser->set_class_name('Stuff::Obj');
-$parser->set_class_cnick('Obj');
-ok( $parser->parse($_), "declaration statement: $_" )
- for (
- 'public Foo* Spew_Foo(Obj *self, uint32_t *how_many);',
- 'public inert Hash *hash;',
- );
-
-for (qw( Foo FooJr FooIII Foo4th )) {
- my $class = $parser->parse("class $_ {}");
- my $type = $parser->parse("$_*");
- $type->resolve([ $class ]);
- is( $type->get_specifier, "crust_$_", "object_type_specifier: $_" )
-}
-Clownfish::CFC::Model::Class->_clear_registry();
-
-SKIP: {
- skip( "Can't recover from bad specifier under flex/lemon parser", 6 );
- ok( !$parser->parse("$_*"), "illegal object_type_specifier: $_" )
- for (qw( foo fooBar Foo_Bar FOOBAR 1Foo 1FOO ));
-}
-
-is( $parser->parse("class $_ { }")->get_class_name, $_, "class_name: $_" )
- for (qw( Foo Foo::FooJr Foo::FooJr::FooIII Foo::FooJr::FooIII::Foo4th ));
-
-SKIP: {
- skip( "Can't recover from bad class name under flex/lemon parser", 6 );
- ok( !$parser->parse("class $_ { }"), "illegal class_name: $_" )
- for (qw( foo fooBar Foo_Bar FOOBAR 1Foo 1FOO ));
-}
-
-is( $parser->parse(qq|class Foodie$_ cnick $_ { }|)->get_cnick,
- $_, "cnick: $_" )
- for (qw( Food FF ));
-
-SKIP: {
- skip( "Can't recover from bad cnick under flex/lemon parser", 3 );
- is( !$parser->parse(qq|class Foodie$_ cnick $_ { }|),
- "Illegal cnick: $_" )
- for (qw( foo fOO 1Foo ));
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfbase/Animal.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfbase/Animal.cfh b/clownfish/compiler/perl/t/cfbase/Animal.cfh
deleted file mode 100644
index 46130b7..0000000
--- a/clownfish/compiler/perl/t/cfbase/Animal.cfh
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Animal;
-
-class Clownfish::Obj { }
-
-abstract class Animal { }
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfbase/Animal.cfp
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfbase/Animal.cfp b/clownfish/compiler/perl/t/cfbase/Animal.cfp
deleted file mode 100644
index e2b5ab5..0000000
--- a/clownfish/compiler/perl/t/cfbase/Animal.cfp
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "Animal",
- "version": "v0.1.0"
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfbase/Animal/Dog.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfbase/Animal/Dog.cfh b/clownfish/compiler/perl/t/cfbase/Animal/Dog.cfh
deleted file mode 100644
index 6d54baa..0000000
--- a/clownfish/compiler/perl/t/cfbase/Animal/Dog.cfh
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Animal;
-
-class Animal::Dog inherits Animal {
- public inert incremented Dog*
- new();
-
- public inert Dog*
- init(Dog *self);
-
- public void
- Bark(Dog *self);
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfbase/Animal/Util.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfbase/Animal/Util.cfh b/clownfish/compiler/perl/t/cfbase/Animal/Util.cfh
deleted file mode 100644
index f5688a5..0000000
--- a/clownfish/compiler/perl/t/cfbase/Animal/Util.cfh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Animal;
-
-inert class Animal::Util {
- inert void
- groom(Animal *animal);
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/bar/Bar.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/bar/Bar.cfh b/clownfish/compiler/perl/t/cfclash/bar/Bar.cfh
deleted file mode 100644
index 89e798e..0000000
--- a/clownfish/compiler/perl/t/cfclash/bar/Bar.cfh
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Bar;
-
-public class Bar inherits Clownfish::Obj {
- int var;
-
- public void
- Method(Bar *self);
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/bar/Bar.cfp
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/bar/Bar.cfp b/clownfish/compiler/perl/t/cfclash/bar/Bar.cfp
deleted file mode 100644
index e5868f6..0000000
--- a/clownfish/compiler/perl/t/cfclash/bar/Bar.cfp
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "Bar",
- "version": "v1.0.0"
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/bar/Baz.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/bar/Baz.cfh b/clownfish/compiler/perl/t/cfclash/bar/Baz.cfh
deleted file mode 100644
index 00e4033..0000000
--- a/clownfish/compiler/perl/t/cfclash/bar/Baz.cfh
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Foo;
-
-public class Baz inherits Clownfish::Obj {
- int var;
-
- public void
- Method(Baz *self);
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/class/Animal/DogClash.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/class/Animal/DogClash.cfh b/clownfish/compiler/perl/t/cfclash/class/Animal/DogClash.cfh
deleted file mode 100644
index 3eba020..0000000
--- a/clownfish/compiler/perl/t/cfclash/class/Animal/DogClash.cfh
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel AnimalExtension;
-
-class Animal::Dog inherits Clownfish::Obj {
- public inert incremented Dog*
- new();
-
- public inert Dog*
- init(Dog *self);
-
- public void
- Bark(Dog *self);
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/class/AnimalExtension.cfp
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/class/AnimalExtension.cfp b/clownfish/compiler/perl/t/cfclash/class/AnimalExtension.cfp
deleted file mode 100644
index 76f31d3..0000000
--- a/clownfish/compiler/perl/t/cfclash/class/AnimalExtension.cfp
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "AnimalExtension",
- "nickname": "AniExt",
- "version": "v0.1.0"
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/file/Animal/Dog.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/file/Animal/Dog.cfh b/clownfish/compiler/perl/t/cfclash/file/Animal/Dog.cfh
deleted file mode 100644
index 1357109..0000000
--- a/clownfish/compiler/perl/t/cfclash/file/Animal/Dog.cfh
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Animal;
-
-class Animal::AnotherDog inherits Animal {
- public inert incremented AnotherDog*
- new();
-
- public inert AnotherDog*
- init(AnotherDog *self);
-
- public void
- Bark(AnotherDog *self);
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/foo/Foo.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/foo/Foo.cfh b/clownfish/compiler/perl/t/cfclash/foo/Foo.cfh
deleted file mode 100644
index b770d8a..0000000
--- a/clownfish/compiler/perl/t/cfclash/foo/Foo.cfh
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel Foo;
-
-public class Foo inherits Clownfish::Obj {
- int var;
-
- public void
- Method(Foo *self);
-}
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfclash/foo/Foo.cfp
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfclash/foo/Foo.cfp b/clownfish/compiler/perl/t/cfclash/foo/Foo.cfp
deleted file mode 100644
index 2995169..0000000
--- a/clownfish/compiler/perl/t/cfclash/foo/Foo.cfp
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "Foo",
- "version": "v1.0.0"
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfext/Animal/Rottweiler.cfh
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfext/Animal/Rottweiler.cfh b/clownfish/compiler/perl/t/cfext/Animal/Rottweiler.cfh
deleted file mode 100644
index 9e78b58..0000000
--- a/clownfish/compiler/perl/t/cfext/Animal/Rottweiler.cfh
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-parcel AnimalExtension;
-
-class Animal::Rottweiler inherits Animal::Dog {
- public inert incremented Rottweiler*
- new();
-
- public inert Rottweiler*
- init(Rottweiler *self);
-
- public void
- Bark(Rottweiler *self);
-
- public void
- Bite(Rottweiler *self);
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/cfext/AnimalExtension.cfp
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/cfext/AnimalExtension.cfp b/clownfish/compiler/perl/t/cfext/AnimalExtension.cfp
deleted file mode 100644
index 76f31d3..0000000
--- a/clownfish/compiler/perl/t/cfext/AnimalExtension.cfp
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "AnimalExtension",
- "nickname": "AniExt",
- "version": "v0.1.0"
-}
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/001-util.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/001-util.t b/clownfish/compiler/perl/t/core/001-util.t
deleted file mode 100644
index b3ad862..0000000
--- a/clownfish/compiler/perl/t/core/001-util.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Util');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/050-docucomment.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/050-docucomment.t b/clownfish/compiler/perl/t/core/050-docucomment.t
deleted file mode 100644
index 09ad252..0000000
--- a/clownfish/compiler/perl/t/core/050-docucomment.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::DocuComment');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/051-symbol.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/051-symbol.t b/clownfish/compiler/perl/t/core/051-symbol.t
deleted file mode 100644
index 4209292..0000000
--- a/clownfish/compiler/perl/t/core/051-symbol.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Symbol');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/052-version.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/052-version.t b/clownfish/compiler/perl/t/core/052-version.t
deleted file mode 100644
index d5c2f63..0000000
--- a/clownfish/compiler/perl/t/core/052-version.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Version');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/100-type.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/100-type.t b/clownfish/compiler/perl/t/core/100-type.t
deleted file mode 100644
index f5a0e24..0000000
--- a/clownfish/compiler/perl/t/core/100-type.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Type');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/200-function.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/200-function.t b/clownfish/compiler/perl/t/core/200-function.t
deleted file mode 100644
index d70d2b8..0000000
--- a/clownfish/compiler/perl/t/core/200-function.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Function');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/201-method.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/201-method.t b/clownfish/compiler/perl/t/core/201-method.t
deleted file mode 100644
index 0f24c25..0000000
--- a/clownfish/compiler/perl/t/core/201-method.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Method');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/300-variable.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/300-variable.t b/clownfish/compiler/perl/t/core/300-variable.t
deleted file mode 100644
index c89f830..0000000
--- a/clownfish/compiler/perl/t/core/300-variable.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Variable');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/301-param_list.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/301-param_list.t b/clownfish/compiler/perl/t/core/301-param_list.t
deleted file mode 100644
index 23cdeb6..0000000
--- a/clownfish/compiler/perl/t/core/301-param_list.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::ParamList');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/400-file_spec.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/400-file_spec.t b/clownfish/compiler/perl/t/core/400-file_spec.t
deleted file mode 100644
index c3d25b4..0000000
--- a/clownfish/compiler/perl/t/core/400-file_spec.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::FileSpec');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/401-class.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/401-class.t b/clownfish/compiler/perl/t/core/401-class.t
deleted file mode 100644
index 6e3b1b2..0000000
--- a/clownfish/compiler/perl/t/core/401-class.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Class');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/402-c_block.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/402-c_block.t b/clownfish/compiler/perl/t/core/402-c_block.t
deleted file mode 100644
index f993aa4..0000000
--- a/clownfish/compiler/perl/t/core/402-c_block.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::CBlock');
-
-exit($passed ? 0 : 1);
-
http://git-wip-us.apache.org/repos/asf/lucy/blob/1704c275/clownfish/compiler/perl/t/core/403-parcel.t
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/t/core/403-parcel.t b/clownfish/compiler/perl/t/core/403-parcel.t
deleted file mode 100644
index 1258f6d..0000000
--- a/clownfish/compiler/perl/t/core/403-parcel.t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-use strict;
-use warnings;
-
-use Clownfish::CFC::Test;
-
-my $test = Clownfish::CFC::Test->new;
-my $passed = $test->run_batch('Clownfish::CFC::Model::Parcel');
-
-exit($passed ? 0 : 1);
-