CC: | laurent.dami [...] free.fr |
Subject: | New test t/virtual_table/21_perldata_charinfo.t relies on volatile data |
* This bug is currently of unimportant severity, but this may change *
I am so sorry I didn't catch this earlier, I am in the process of adjusting my CI to make sure I do not miss this kind of stuff in the future.
The main issue is that the test relies on Unicode::UCD::charinfo to always return the same data. Unicode is an evolving standard. It *does* change (more often than one would want). In the interest on of backward and more importantly forward compatibility, changing this test to use a stable data set before 1.46 around Christmas is very strongly advised.
rabbit@Ahasver:~$ perlbrew use 5.8.1
rabbit@Ahasver:~$ perl -MDevel::Dwarn -MUnicode::UCD=charinfo -e 'Dwarn { ver_perl => $], ver_UCD => Unicode::UCD->VERSION, cmap => { map { $_, (charinfo($_)||{})->{script} } (890..900) } }'
{
cmap => {
890 => "Greek",
891 => undef,
892 => undef,
893 => undef,
894 => undef,
895 => undef,
896 => undef,
897 => undef,
898 => undef,
899 => undef,
900 => undef
},
ver_UCD => "0.21",
ver_perl => "5.008001"
}
rabbit@Ahasver:~$ perlbrew use 5.8.5
rabbit@Ahasver:~$ perl -MDevel::Dwarn -MUnicode::UCD=charinfo -e 'Dwarn { ver_perl => $], ver_UCD => Unicode::UCD->VERSION, cmap => { map { $_, (charinfo($_)||{})->{script} } (890..900) } }'
{
cmap => {
890 => "Greek",
891 => undef,
892 => undef,
893 => undef,
894 => "Common",
895 => undef,
896 => undef,
897 => undef,
898 => undef,
899 => undef,
900 => "Greek"
},
ver_UCD => "0.22",
ver_perl => "5.008005"
}
rabbit@Ahasver:~$ perlbrew use 5.16.2
rabbit@Ahasver:~$ perl -MDevel::Dwarn -MUnicode::UCD=charinfo -e 'Dwarn { ver_perl => $], ver_UCD => Unicode::UCD->VERSION, cmap => { map { $_, (charinfo($_)||{})->{script} } (890..900) } }'
{
cmap => {
890 => "Greek",
891 => "Greek",
892 => "Greek",
893 => "Greek",
894 => "Common",
895 => undef,
896 => undef,
897 => undef,
898 => undef,
899 => undef,
900 => "Greek"
},
ver_UCD => "0.43",
ver_perl => "5.016002"
}