Subject: | t/overrides.t test case fails |
I have the following installed C libraries installed
glib2-2.28.8
gtk3-3.0.12
And these corresponding Perl modules
Glib-1.240
Glib-Object-Introspection-0.004
Now attempting Gtk3-0.001 to run tests on Gtk3 fails on the
t/overrides.t test case:
$ make test TEST_VERBOSE=1 TEST_FILES=t/overrides.t
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(1, 'blib/lib', 'blib/arch')" t/overrides.t
t/overrides.t .. Gtk-Message: Failed to load module "pk-gtk-module"
1..29
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
need an array ref to convert to GArray at t/overrides.t line 38
# Looks like you planned 29 tests but ran 10.
# Looks like your test exited with 255 just after 10.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 19/29 subtests
Test Summary Report
-------------------
t/overrides.t (Wstat: 65280 Tests: 10 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 29 tests but ran 10.
Files=1, Tests=10, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.11 cusr
0.02 csys = 0.16 CPU)
Result: FAIL
Failed 1/1 test programs. 0/10 subtests failed.
make: *** [test_dynamic] Error 255
With a little debugging I see that when this method runs...
sub _common_tree_model_new {
my ($package, $class, @types) = @_;
local $@;
my $real_types = (@types == 1 && eval { @{$types[0]} })
? $types[0]
: \@types;
return Glib::Object::Introspection->invoke (
$_GTK_BASENAME, $package, 'new',
$class, $real_types);
}
...the 'invoke' method is trying to interpret the '$class' parameter as
the array ref, instead of interpreting '$real_types' as the array ref.
I'm unable to identity an obvious fix for this myself.