is($data->{bar}, 40, 'set magic : pass data');
$data = eval { getdata $a, ($sig + 1) };
-is($@, '', 'getdata from invalid sig doesn\'t croak');
+like($@, qr/Invalid\s+wizard\s+object\s+at\s+\Q$0\E/, 'getdata from invalid sig croaks');
is($data, undef, 'getdata from invalid sig returns undef');
$data = eval { getdata $a, undef };
is($@, '', 'cast non-data wizard doesn\'t croak');
ok($res, 'cast non-data wizard returns true');
-$data = eval { getdata $a, $wiz };
-is($@, '', 'getdata from non-data wizard doesn\'t croak');
-is($data, undef, 'getdata from non-data wizard invalid returns undef');
+my @data = eval { getdata $a, $wiz };
+is($@, '', 'getdata from non-data wizard doesn\'t croak');
+is_deeply(\@data, [ ], 'getdata from non-data wizard invalid returns undef');
$wiz = wizard data => sub { ++$_[1] };
my ($di, $ei) = (1, 10);