Fix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 size:S
[ 31s] t/01-defined-constants.t ... ok [ 32s] [ 32s] # Failed test 'password generation with named argument 'dictionary_list'' [ 32s] # at t/02-generate-passwords.t line 28. [ 32s] [ 32s] # Failed test 'password generation with named argument 'dictionary_file'' [ 32s] # at t/02-generate-passwords.t line 35. [ 32s] [ 32s] # Failed test 'password generation with named arguments 'dictionary_file' & 'dictionary_file_encoding'' [ 32s] # at t/02-generate-passwords.t line 41. [ 32s] # Looks like you failed 3 tests of 10. [ 32s] t/02-generate-passwords.t ..
AC1: Package is building again
- Check out the cartoon the module is based on (https://xkcd.com/936/)
- Check the perl packaging guidlines at https://en.opensuse.org/openSUSE:Packaging_Perl
- Try to reproduce the problem manually, e.g. based on a simple upstream git checkout
- Fix the test if possible, otherwise report upstream and just exclude the test from OBS execution, e.g. just
rm ...tlike in https://build.opensuse.org/request/show/879871
- Fixed package is submitted to openSUSE:Factory
- Subject changed from Fix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 to Fix https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_15/x86_64 size:S
- Description updated (diff)
- Status changed from New to Workable
This happens due to a bug in Type::Tiny it seems.
I can reproduce the failure with installing all modules from CPAN in perl 5.36, and when I install the older https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Type-Tiny-1.016010.tar.gz then it passes.
Installing the latest developer version of Type-Tiny did not help.
It is a bit hard to debug because the test t/02-generate-passwords.t does not output
$@ when it fails.
This is the content of
ERROR - Crypt::HSXKPasswd::hsxkpasswd(): Failed to generate password with the following error: Can't use an undefined value as a subroutine reference at /tmp/Crypt-HSXKPasswd-v3.6/blib/lib/Crypt/HSXKPasswd/Dictionary/Basic.pm line 221
So it fails here: https://metacpan.org/release/BARTB/Crypt-HSXKPasswd-v3.6/source/lib/Crypt/HSXKPasswd/Dictionary/Basic.pm#L221
$args_check is supposed to be a coderef created by the
multisig call above.
But it is undef. It has something to do with the
state function (because
multisig does actually return a coderef), but I wasn't able so far to replace the state function with a simple
my variable declared outside of the sub.
I can comment out the test in OBS, but it seems to me the module itself is (partially) broken now, not only the test.
Testers matrix is currently down http://matrix.cpantesters.org/?dist=Crypt-HSXKPasswd+v3.6
There is this bug report: https://rt.cpan.org/Ticket/Display.html?id=144672
but it is a different bug, though (but might be related to the same change).
- Status changed from In Progress to Feedback
Additionally to https://rt.cpan.org/Ticket/Display.html?id=144672 I now created an issue here: https://github.com/tobyink/p5-type-tiny/issues/127
I think we can now wait. This doesn't seem very urgent, and I'm not sure where we are using the module.
Toby replied: https://github.com/tobyink/p5-type-tiny/issues/127#issuecomment-1361215023
So it might be a regression in Type::Tiny
So, according to Toby it is a bug in Crypt-HSXKPasswd
I'll try to add a patch in OBS.
- Status changed from Resolved to Feedback
You might have missed my comment in the SR about SLE_12_SP4, see https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_12_SP4/x86_64 failing:
[ 15s] + /usr/bin/patch -p1 -sfind . -type f '!' -path '*/t/*' '!' -name '*.pl' '!' -path '*/bin/*' '!' -path '*/script/*' '!' -name configure -print0 [ 15s] /usr/bin/patch: invalid option -- 'y' [ 15s] /usr/bin/patch: Try '/usr/bin/patch --help' for more information.
Maybe a different macro needs to be called. If you don't find a solution we can also exclude the build of the package for that SLE version
@okurz: How important is this ticket?
Not very important
I never saw the problem that the patch doesn't work with the %autosetup makro.
Yes, me neither but here it fails
Where are we using this module?
I an using it whenever I generate a new pronounceable password, e.g. for our openQA workers IPMI access
Now it seems we have a new problem in build in https://build.opensuse.org/package/live_build_log/devel:languages:perl/perl-Crypt-HSXKPasswd/SLE_12_SP4/x86_64
[ 27s] [ 27s] # Failed test 'password generation with named argument 'preset'' [ 27s] # at t/02-generate-passwords.t line 84. [ 27s] # Looks like you failed 1 test of 10. [ 27s] t/02-generate-passwords.t .. [ 27s] Dubious, test returned 1 (wstat 256, 0x100) [ 27s] Failed 1/10 subtests
maybe exclude the test again unless you can fix it
I cannot even reproduce this when branching.
And in the previous case it was not just a test failure, but the module was broken.
But since I can't reproduce it, I can't even print out
$@ to see what exactly is going wrong in that eval in line 84.
So yeah, maybe exclude this for SLE12
- Due date deleted (
- Status changed from Feedback to Resolved
<package name="perl-Crypt-HSXKPasswd" project="devel:languages:perl"> <build> <disable repository="SLE_12_SP4"/> </build>
and an according description. All remaining build results passed. This should be good enough.
Thanks for your work.