Subject: | Hash randomization (?) issue |
http://matrix.cpantesters.org/?dist=Tk-ACH%200.04 shows no pass reports for perl 5.17.6 (the re-introduction of hash randomization) and newer.
Tests fail like this:
PERL_DL_NONLAZY=1 "/bbbike/perl-5.18.4/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# Test 5 got: "Can't set -state to `normal' for Tk::FcyEntry=HASH(0x26cbda0): Cannot use undef value for object of type 'border' at /tmpfs/.cpan-build-cpansand/2016090918/Tk-ACH-0.04-0/blib/lib/Tk/FcyEntry.pm line 42.\n at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 294.\n\n at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 306.\n" (t/basic.t at line 58)
# Expected: "" (can't create Entry widget)
# t/basic.t line 58 is: ok($@, "", "can't create $class widget");
# Test 13 got: "Can't set -state to `normal' for Tk::FcyEntry=HASH(0x288ac18): Cannot use undef value for object of type 'color' at /tmpfs/.cpan-build-cpansand/2016090918/Tk-ACH-0.04-0/blib/lib/Tk/FcyEntry.pm line 43.\n at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 294.\n\n at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 306.\n" (t/basic.t at line 58 fail #2)
# Expected: "" (can't create FileEntry widget)
Font Helvetica -12 still in cache.
t/basic.t ......
Failed 6/23 subtests
(less 12 skipped subtests: 5 okay)
Tk::Error: Can't set -state to `normal' for Tk::FcyEntry=HASH(0x1e7e750): Cannot use undef value for object of type 'border' at /tmpfs/.cpan-build-cpansand/2016090918/Tk-ACH-0.04-0/blib/lib/Tk/FcyEntry.pm line 42.
at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 294.
Tk callback for .
Tk callback for .frame
Tk::Derived::configure at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 306
Tk::Widget::new at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Widget.pm line 205
Tk::Widget::__ANON__ at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Widget.pm line 256
Can't set -state to `normal' for Tk::FcyEntry=HASH(0x1e7e750): Cannot use undef value for object of type 'border' at /tmpfs/.cpan-build-cpansand/2016090918/Tk-ACH-0.04-0/blib/lib/Tk/FcyEntry.pm line 42.
at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 294.
at /opt/perl-5.18.4/lib/site_perl/5.18.4/x86_64-linux/Tk/Derived.pm line 306.
Font Helvetica -12 still in cache.
t/fcyentry.t ...
Dubious, test returned 11 (wstat 2816, 0xb00)
Failed 8/8 subtests
It seems that option handling is order-dependent here, and you were probably lucky that the hash keys order in perls < 5.17.6 worked.