r64475 - in /branches/upstream/libclass-xsaccessor-perl/current: Changes MANIFEST META.yml lib/Class/XSAccessor.pm lib/Class/XSAccessor/Array.pm lib/Class/XSAccessor/Heavy.pm t/03hash_predicate.t t/50reentrant_goto_sigsegv.t
periapt-guest at users.alioth.debian.org
periapt-guest at users.alioth.debian.org
Mon Nov 1 21:34:53 UTC 2010
Author: periapt-guest
Date: Mon Nov 1 21:34:23 2010
New Revision: 64475
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=64475
Log:
[svn-upgrade] new version libclass-xsaccessor-perl (1.09)
Added:
branches/upstream/libclass-xsaccessor-perl/current/t/50reentrant_goto_sigsegv.t
Modified:
branches/upstream/libclass-xsaccessor-perl/current/Changes
branches/upstream/libclass-xsaccessor-perl/current/MANIFEST
branches/upstream/libclass-xsaccessor-perl/current/META.yml
branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor.pm
branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Array.pm
branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Heavy.pm
branches/upstream/libclass-xsaccessor-perl/current/t/03hash_predicate.t
Modified: branches/upstream/libclass-xsaccessor-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/Changes?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/Changes (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/Changes Mon Nov 1 21:34:23 2010
@@ -1,4 +1,10 @@
Revision history for Perl extension Class-XSAccessor.
+
+1.09 Sun Oct 31 12:45 2010
+ - Fix #62531: Predicates return value, not bool (SJOHNSTON)
+ - TODO test for perl-crashing bug (in perl) that can happen
+ on (arcane) XSUB aliasing on perl's < 5.8.9 (Peter Rabbitson)
+ We're open for work-around patches.
1.08 Fri Sep 17 20:30 2010
- Promote latest development release to a stable release.
Modified: branches/upstream/libclass-xsaccessor-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/MANIFEST?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/MANIFEST (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/MANIFEST Mon Nov 1 21:34:23 2010
@@ -34,6 +34,7 @@
t/39array_lvalue.t
t/40hash_bad_call.t
t/41array_bad_call.t
+t/50reentrant_goto_sigsegv.t
t/80threadbomb.t
XS/Array.xs
XS/Hash.xs
Modified: branches/upstream/libclass-xsaccessor-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/META.yml?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/META.yml (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/META.yml Mon Nov 1 21:34:23 2010
@@ -1,6 +1,6 @@
--- #YAML:1.0
name: Class-XSAccessor
-version: 1.08
+version: 1.09
abstract: Generate fast XS accessors without runtime compilation
author:
- Steffen Mueller <smueller at cpan.org>
Modified: branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor.pm?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor.pm (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor.pm Mon Nov 1 21:34:23 2010
@@ -6,7 +6,7 @@
use Class::XSAccessor::Heavy;
use XSLoader;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
XSLoader::load('Class::XSAccessor', $VERSION);
@@ -49,7 +49,7 @@
["accessor", $acc_subs],
["lvalue_accessor", $lvacc_subs],
["test", $test_subs],
- ["pred_subs", $pred_subs] )
+ ["predicate", $pred_subs] )
{
my $subs = $subtype->[1];
foreach my $subname (keys %$subs) {
Modified: branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Array.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Array.pm?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Array.pm (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Array.pm Mon Nov 1 21:34:23 2010
@@ -6,7 +6,7 @@
use Class::XSAccessor;
use Class::XSAccessor::Heavy;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
sub import {
my $own_class = shift;
Modified: branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Heavy.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Heavy.pm?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Heavy.pm (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/lib/Class/XSAccessor/Heavy.pm Mon Nov 1 21:34:23 2010
@@ -6,7 +6,7 @@
use warnings;
use Carp;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
our @CARP_NOT = qw(
Class::XSAccessor
Class::XSAccessor::Array
Modified: branches/upstream/libclass-xsaccessor-perl/current/t/03hash_predicate.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/t/03hash_predicate.t?rev=64475&op=diff
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/t/03hash_predicate.t (original)
+++ branches/upstream/libclass-xsaccessor-perl/current/t/03hash_predicate.t Mon Nov 1 21:34:23 2010
@@ -5,9 +5,9 @@
use Class::XSAccessor
accessors => { bar => 'bar' },
- getters => { get_foo => 'foo' },
+ getters => { get_foo => 'foo', get_zero => 'zero' },
setters => { set_foo => 'foo' },
- predicates => { has_foo => 'foo', has_bar => 'bar' };
+ predicates => { has_foo => 'foo', has_bar => 'bar', has_zero => 'zero' };
use Class::XSAccessor
predicates => 'single';
@@ -16,12 +16,12 @@
sub new {
my $class = shift;
- bless { bar => 'baz' }, $class;
+ bless { bar => 'baz', zero => 0 }, $class;
}
package main;
-use Test::More tests => 18;
+use Test::More tests => 20;
my $obj = Class::XSAccessor::Test->new();
@@ -43,6 +43,9 @@
ok(!$obj->has_foo());
ok(!$obj->has_bar());
+is($obj->get_zero, 0);
+ok($obj->has_zero);
+
ok(!$obj->single);
ok(!$obj->mult);
ok(!$obj->iple);
Added: branches/upstream/libclass-xsaccessor-perl/current/t/50reentrant_goto_sigsegv.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libclass-xsaccessor-perl/current/t/50reentrant_goto_sigsegv.t?rev=64475&op=file
==============================================================================
--- branches/upstream/libclass-xsaccessor-perl/current/t/50reentrant_goto_sigsegv.t (added)
+++ branches/upstream/libclass-xsaccessor-perl/current/t/50reentrant_goto_sigsegv.t Mon Nov 1 21:34:23 2010
@@ -1,0 +1,59 @@
+# segfault bug in perls < 5.8.9 (a perl bug)
+# patches welcome
+# see http://github.com/tsee/Class-XSAccessor/commit/8fe9c128027cc49c8e2d89c442c77285598b12d3
+
+use strict;
+use warnings;
+
+use Class::XSAccessor;
+use Test::More tests => 14;
+
+my $shim_calls;
+
+sub install_accessor_with_shim {
+ my ($class, $name, $field) = @_;
+
+ $field = $name if not defined $field;
+
+ Class::XSAccessor->import ({
+ class => $class,
+ getters => { $name => $field },
+ replace => 1,
+ });
+
+ my $xs_cref = $class->can ($name);
+
+ no strict 'refs';
+ no warnings 'redefine';
+
+ *{"${class}::${name}"} = sub {
+ $shim_calls++;
+ goto $xs_cref;
+ };
+}
+
+TODO: {
+ todo_skip 'bug in perls < 5.8.9', 14, $] < 5.008009;
+
+ for my $name (qw/bar baz/) {
+ for my $pass (1..2) {
+
+ $shim_calls = 0;
+
+ install_accessor_with_shim ('Foo', $name);
+ my $obj = bless ({ $name => 'a'}, 'Foo');
+
+ is ($shim_calls, 0, "Reset number of calls ($name pass $pass)" );
+ is ($obj->$name, 'a', "Accessor read works ($name pass $pass)" );
+ is ($shim_calls, 1, "Shim called ($name pass $pass)" );
+
+ eval { $obj->$name ('ack!') };
+ ok ($@ =~ /Usage\: $name\(self\)/, "Exception from R/O accessor thrown ($name pass $pass)" );
+ is ($shim_calls, 2, "Shim called anyway ($name pass $pass)" );
+
+ eval { $obj->$name ('ick!') };
+ ok ($@ =~ /Usage\: $name\(self\)/, "Exception from R/O accessor thrown once again ($name pass $pass)" );
+ is ($shim_calls, 3, "Shim called again ($name pass $pass)" );
+ }
+ }
+}
More information about the Pkg-perl-cvs-commits
mailing list